; assembly | /* r2dec pseudo code output */ | /* balb_filecleanerutil.t/assume @ 0x40c730 */ | #include | ; (fcn) method.BloombergLP::bdlma::SequentialPool.SequentialPool_unsigned_long__unsigned_long__BloombergLP::bsls::BlockGrowth::Strategy__BloombergLP::bsls::Alignment::Strategy__BloombergLP::bslma::Allocator_ () | int64_t method_BloombergLP::bdlma::SequentialPool_SequentialPool_unsigned_long_unsigned_long_BloombergLP::bsls::BlockGrowth::Strategy_BloombergLP::bsls::Alignment::Strategy_BloombergLP::bslma::Allocator_ (int64_t arg6, uint32_t arg5, int64_t arg4, uint32_t arg3, int64_t arg2, int64_t arg1) { | r9 = arg6; | r8 = arg5; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::bdlma::SequentialPool::SequentialPool(unsigned long, unsigned long, BloombergLP::bsls::BlockGrowth::Strategy, BloombergLP::bsls::Alignment::Strategy, BloombergLP::bslma::Allocator*) */ 0x0040c730 push r14 | 0x0040c732 push rbx | 0x0040c733 push rax | 0x0040c734 mov r10d, ecx | r10d = ecx; 0x0040c737 mov r14, rsi | r14 = rsi; 0x0040c73a mov rbx, rdi | rbx = rdi; 0x0040c73d movabs rsi, 0xffffffffffffff | rsi = 0xffffffffffffff; 0x0040c747 test r8d, r8d | 0x0040c74a mov ecx, 0xf | ecx = 0xf; | if (r8d == 0) { 0x0040c74f cmove ecx, r8d | ecx = r8d; | } 0x0040c753 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0040c756 movups xmmword [rdi], xmm0 | __asm ("movups xmmword [rdi], xmm0"); 0x0040c759 mov qword [rdi + 0x10], 0 | *((rdi + 0x10)) = 0; 0x0040c761 mov byte [rdi + 0x18], cl | *((rdi + 0x18)) = cl; 0x0040c764 cmp r8d, 2 | 0x0040c768 mov ecx, 1 | ecx = 1; 0x0040c76d mov edi, 0x10 | edi = 0x10; | if (r8d == 2) { 0x0040c772 cmove edi, ecx | edi = ecx; | } 0x0040c775 mov byte [rbx + 0x19], dil | *((rbx + 0x19)) = dil; 0x0040c779 lea rcx, [rbx + 0x20] | rcx = rbx + 0x20; 0x0040c77d mov qword [rbx + 0x20], 0 | *((rbx + 0x20)) = 0; 0x0040c785 mov qword [rbx + 0x28], rcx | *((rbx + 0x28)) = rcx; 0x0040c789 lea rcx, [r14 - 1] | rcx = r14 - 1; 0x0040c78d mov rdi, rcx | rdi = rcx; 0x0040c790 or rdi, 1 | rdi |= 1; 0x0040c794 bsr rax, rdi | __asm ("bsr rax, rdi"); 0x0040c798 xor eax, 0x3f | eax ^= 0x3f; 0x0040c79b cmp rcx, 1 | 0x0040c79f adc eax, 0 | eax += 0; 0x0040c7a2 mov ecx, eax | ecx = eax; 0x0040c7a4 neg cl | cl = -cl; 0x0040c7a6 mov edi, 1 | edi = 1; 0x0040c7ab shl rdi, cl | rdi <<= cl; 0x0040c7ae test eax, eax | | if (eax != 0) { 0x0040c7b0 je 0x40c7b5 | 0x0040c7b2 add rsi, rdi | rsi += rdi; | } 0x0040c7b5 movabs rax, 0x7ffffffffffffffe | rax = 0x7ffffffffffffffe; 0x0040c7bf and rdx, rax | rdx &= rax; 0x0040c7c2 lea rax, [rdx + 1] | rax = rdx + 1; 0x0040c7c6 bsr rax, rax | __asm ("bsr rax, rax"); 0x0040c7ca xor eax, 0x3f | eax ^= 0x3f; 0x0040c7cd cmp rdx, 1 | 0x0040c7d1 sbb ecx, ecx | ecx -= ecx; 0x0040c7d3 sub ecx, eax | ecx -= eax; 0x0040c7d5 mov rax, 0xffffffffffffffff | rax = 0xffffffffffffffff; 0x0040c7dc shl rax, cl | rax <<= cl; 0x0040c7df movabs rcx, 0xff00000000000000 | rcx = 0xff00000000000000; 0x0040c7e9 or rcx, rsi | rcx |= rsi; 0x0040c7ec or rcx, rax | rcx |= rax; 0x0040c7ef mov qword [rbx + 0x1f0], rcx | *((rbx + 0x1f0)) = rcx; 0x0040c7f6 xor eax, eax | eax = 0; 0x0040c7f8 test r10d, r10d | | if (r10d != 0) { 0x0040c7fb cmovne rax, r14 | rax = r14; | } 0x0040c7ff mov qword [rbx + 0x1f8], rcx | *((rbx + 0x1f8)) = rcx; 0x0040c806 movups xmmword [rbx + 0x200], xmm0 | __asm ("movups xmmword [rbx + 0x200], xmm0"); 0x0040c80d mov qword [rbx + 0x210], rax | *((rbx + 0x210)) = rax; 0x0040c814 test r9, r9 | | if (r9 == 0) { 0x0040c817 jne 0x40c82d | 0x0040c819 mov r9, qword [rip + 0x2614b0] | r9 = BloombergLP::bslma::Default::s_defaultAllocator; 0x0040c820 test r9, r9 | | if (r9 != 0) { 0x0040c823 jne 0x40c82d | goto label_0; | } 0x0040c825 call 0x4171b0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0040c82a mov r9, rax | r9 = rax; | } | label_0: 0x0040c82d mov qword [rbx + 0x218], r9 | *((rbx + 0x218)) = r9; 0x0040c834 mov rdi, rbx | 0x0040c837 mov rsi, r14 | 0x0040c83a call 0x40bf00 | BloombergLP::bdlma::SequentialPool::reserveCapacity(unsigned long) (rbx, r14); 0x0040c83f add rsp, 8 | 0x0040c843 pop rbx | 0x0040c844 pop r14 | 0x0040c846 ret | return rax; | }