; assembly | /* r2dec pseudo code output */ | /* balb_testmessages.t/none @ 0x40f260 */ | #include | ; (fcn) method.BloombergLP::balb::Sequence1.Sequence1_BloombergLP::bslma::Allocator_ () | uint64_t method_BloombergLP::balb::Sequence1_Sequence1_BloombergLP::bslma::Allocator_ (int64_t arg2, int64_t arg1) { | int64_t var_10h; | int64_t var_18h; | int64_t var_20h; | rsi = arg2; | rdi = arg1; | /* BloombergLP::balb::Sequence1::Sequence1(BloombergLP::bslma::Allocator*) */ 0x0040f260 push rbp | 0x0040f261 push r15 | 0x0040f263 push r14 | 0x0040f265 push r13 | 0x0040f267 push r12 | 0x0040f269 push rbx | 0x0040f26a sub rsp, 0x28 | 0x0040f26e mov rbx, rdi | rbx = rdi; 0x0040f271 test rsi, rsi | | if (rsi != 0) { 0x0040f274 je 0x40f2cf | 0x0040f276 mov qword [rbx], rsi | *(rbx) = rsi; 0x0040f279 lea r14, [rbx + 8] | r14 = rbx + 8; 0x0040f27d xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0040f280 movups xmmword [rbx + 8], xmm0 | __asm ("movups xmmword [rbx + 8], xmm0"); 0x0040f284 mov qword [rbx + 0x18], 0 | *((rbx + 0x18)) = 0; 0x0040f28c lea rax, [rbx + 0x20] | rax = rbx + 0x20; 0x0040f290 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x0040f295 mov qword [rbx + 0x20], rsi | *((rbx + 0x20)) = rsi; 0x0040f299 lea rbp, [rbx + 0x28] | rbp = rbx + 0x28; 0x0040f29d movups xmmword [rbx + 0x28], xmm0 | __asm ("movups xmmword [rbx + 0x28], xmm0"); 0x0040f2a1 mov qword [rbx + 0x38], 0 | *((rbx + 0x38)) = 0; 0x0040f2a9 lea rax, [rbx + 0x40] | rax = rbx + 0x40; 0x0040f2ad mov qword [rsp + 0x18], rax | *((rsp + 0x18)) = rax; 0x0040f2b2 mov qword [rbx + 0x40], rsi | *((rbx + 0x40)) = rsi; 0x0040f2b6 lea r15, [rbx + 0x48] | r15 = rbx + 0x48; 0x0040f2ba movups xmmword [rbx + 0x48], xmm0 | __asm ("movups xmmword [rbx + 0x48], xmm0"); 0x0040f2be mov qword [rbx + 0x58], 0 | *((rbx + 0x58)) = 0; 0x0040f2c6 mov qword [rbx + 0x60], rsi | *((rbx + 0x60)) = rsi; 0x0040f2ca jmp 0x40f38a | | } else { 0x0040f2cf mov rax, qword [rip + 0x26f87a] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0040f2d6 test rax, rax | | if (rax == 0) { 0x0040f2d9 jne 0x40f2e0 | 0x0040f2db call 0x4207c0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0040f2e0 mov qword [rbx], rax | *(rbx) = rax; 0x0040f2e3 lea r14, [rbx + 8] | r14 = rbx + 8; 0x0040f2e7 mov rax, qword [rip + 0x26f862] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0040f2ee test rax, rax | | if (rax == 0) { 0x0040f2f1 jne 0x40f2f8 | 0x0040f2f3 call 0x4207c0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0040f2f8 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0040f2fb movups xmmword [r14], xmm0 | __asm ("movups xmmword [r14], xmm0"); 0x0040f2ff mov qword [r14 + 0x10], 0 | *((r14 + 0x10)) = 0; 0x0040f307 lea r15, [rbx + 0x20] | r15 = rbx + 0x20; 0x0040f30b mov qword [rbx + 0x20], rax | *((rbx + 0x20)) = rax; 0x0040f30f mov rax, qword [rip + 0x26f83a] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0040f316 test rax, rax | 0x0040f319 mov qword [rsp + 0x20], r15 | *((rsp + 0x20)) = r15; | if (rax == 0) { 0x0040f31e jne 0x40f325 | 0x0040f320 call 0x4207c0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0040f325 lea rcx, [rbx + 0x28] | rcx = rbx + 0x28; 0x0040f329 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0040f32c movups xmmword [rcx], xmm0 | __asm ("movups xmmword [rcx], xmm0"); 0x0040f32f mov qword [rsp + 0x10], rcx | *((rsp + 0x10)) = rcx; 0x0040f334 mov qword [rcx + 0x10], 0 | *((rcx + 0x10)) = 0; 0x0040f33c lea rbp, [rbx + 0x40] | rbp = rbx + 0x40; 0x0040f340 mov qword [rbx + 0x40], rax | *((rbx + 0x40)) = rax; 0x0040f344 mov rax, qword [rip + 0x26f805] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0040f34b test rax, rax | 0x0040f34e mov qword [rsp + 0x18], rbp | *((rsp + 0x18)) = rbp; | if (rax == 0) { 0x0040f353 jne 0x40f35a | 0x0040f355 call 0x4207c0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0040f35a lea r15, [rbx + 0x48] | r15 = rbx + 0x48; 0x0040f35e xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0040f361 movups xmmword [r15], xmm0 | __asm ("movups xmmword [r15], xmm0"); 0x0040f365 mov qword [r15 + 0x10], 0 | *((r15 + 0x10)) = 0; 0x0040f36d mov qword [rbx + 0x60], rax | *((rbx + 0x60)) = rax; 0x0040f371 mov rsi, qword [rip + 0x26f7d8] | rsi = BloombergLP::bslma::Default::s_defaultAllocator; 0x0040f378 test rsi, rsi | 0x0040f37b mov rbp, qword [rsp + 0x10] | rbp = *((rsp + 0x10)); | if (rsi != 0) { 0x0040f380 jne 0x40f38a | goto label_0; | } 0x0040f382 call 0x4207c0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0040f387 mov rsi, rax | rsi = rax; | } | label_0: 0x0040f38a mov byte [rbx + 0x1e8], 0 | *((rbx + 0x1e8)) = 0; 0x0040f391 mov qword [rbx + 0x1f0], rsi | *((rbx + 0x1f0)) = rsi; 0x0040f398 mov r13, qword [rbx] | r13 = *(rbx); 0x0040f39b mov rax, qword [r13] | rax = *(r13); 0x0040f39f mov esi, 0x40 | esi = 0x40; 0x0040f3a4 mov rdi, r13 | rdi = r13; 0x0040f3a7 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0040f3aa mov r12, rax | r12 = rax; 0x0040f3ad mov rax, qword [rbx] | rax = *(rbx); 0x0040f3b0 mov dword [r12 + 0x30], 0xffffffff | *((r12 + 0x30)) = 0xffffffff; 0x0040f3b9 test rax, rax | | if (rax == 0) { 0x0040f3bc jne 0x40f3cf | 0x0040f3be mov rax, qword [rip + 0x26f78b] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0040f3c5 test rax, rax | | if (rax != 0) { 0x0040f3c8 jne 0x40f3cf | goto label_1; | } 0x0040f3ca call 0x4207c0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_1: 0x0040f3cf mov qword [r12 + 0x38], rax | *((r12 + 0x38)) = rax; 0x0040f3d4 mov qword [rbx + 0x1f8], r12 | *((rbx + 0x1f8)) = r12; 0x0040f3db add rsp, 0x28 | 0x0040f3df pop rbx | 0x0040f3e0 pop r12 | 0x0040f3e2 pop r13 | 0x0040f3e4 pop r14 | 0x0040f3e6 pop r15 | 0x0040f3e8 pop rbp | 0x0040f3e9 ret | return rax; | }