; assembly | /* r2dec pseudo code output */ | /* bdlbb_blob.t/none @ 0x41e8d0 */ | #include | ; (fcn) method.BloombergLP::bdlbb::Blob.appendDataBuffer_BloombergLP::bdlbb::BlobBuffer_const_ () | int64_t method_BloombergLP::bdlbb::Blob_appendDataBuffer_BloombergLP::bdlbb::BlobBuffer_const_ (void ** arg2, void ** arg1) { | rsi = arg2; | rdi = arg1; | /* BloombergLP::bdlbb::Blob::appendDataBuffer(BloombergLP::bdlbb::BlobBuffer const&) */ 0x0041e8d0 push rbp | 0x0041e8d1 push r14 | 0x0041e8d3 push rbx | 0x0041e8d4 mov rcx, rsi | rcx = rsi; 0x0041e8d7 mov rbx, rdi | rbx = rdi; 0x0041e8da mov r14d, dword [rsi + 0x10] | r14d = *((rsi + 0x10)); 0x0041e8de mov ebp, dword [rdi + 0x24] | ebp = *((rdi + 0x24)); 0x0041e8e1 test ebp, ebp | | if (ebp != 0) { 0x0041e8e3 je 0x41e92c | 0x0041e8e5 cmp dword [rbx + 0x20], ebp | | if (*((rbx + 0x20)) != ebp) { 0x0041e8e8 je 0x41e92c | 0x0041e8ea movsxd rax, dword [rbx + 0x28] | rax = *((rbx + 0x28)); 0x0041e8ee mov rdx, qword [rbx] | rdx = *(rbx); 0x0041e8f1 lea rax, [rax + rax*2] | rax *= 3; 0x0041e8f5 mov esi, ebp | esi = ebp; 0x0041e8f7 sub esi, dword [rbx + 0x2c] | esi -= *((rbx + 0x2c)); 0x0041e8fa mov edi, esi | edi = esi; 0x0041e8fc sub edi, dword [rdx + rax*8 + 0x10] | edi -= *((rdx + rax*8 + 0x10)); 0x0041e900 mov dword [rdx + rax*8 + 0x10], esi | *((rdx + rax*8 + 0x10)) = esi; 0x0041e904 add dword [rbx + 0x20], edi | *((rbx + 0x20)) += edi; 0x0041e907 mov rax, qword [rbx] | rax = *(rbx); 0x0041e90a movsxd rdx, dword [rbx + 0x28] | rdx = *((rbx + 0x28)); 0x0041e90e lea rdx, [rdx + rdx*2] | rdx *= 3; 0x0041e912 lea rsi, [rax + rdx*8 + 0x18] | 0x0041e917 mov edx, 1 | 0x0041e91c mov rdi, rbx | 0x0041e91f call 0x4200e0 | bsl::vector>::insert(BloombergLP::bdlbb::BlobBufferconst*,unsigned long,BloombergLP::bdlbb::BlobBufferconst&) (rbx, rax + rdx*8 + 0x18, 1, rcx); 0x0041e924 inc dword [rbx + 0x28] | *((rbx + 0x28))++; 0x0041e927 mov dword [rbx + 0x2c], ebp | *((rbx + 0x2c)) = ebp; 0x0041e92a jmp 0x41e94f | | } | } else { 0x0041e92c mov rax, qword [rbx] | rax = *(rbx); 0x0041e92f movsxd rdx, dword [rbx + 0x28] | rdx = *((rbx + 0x28)); 0x0041e933 lea rdx, [rdx + rdx*2] | rdx *= 3; 0x0041e937 lea rsi, [rax + rdx*8 + 0x18] | 0x0041e93c mov edx, 1 | 0x0041e941 mov rdi, rbx | 0x0041e944 call 0x4200e0 | bsl::vector>::insert(BloombergLP::bdlbb::BlobBufferconst*,unsigned long,BloombergLP::bdlbb::BlobBufferconst&) (rbx, rax + rdx*8 + 0x18, 1, rcx); 0x0041e949 mov dword [rbx + 0x2c], ebp | *((rbx + 0x2c)) = ebp; 0x0041e94c inc dword [rbx + 0x28] | *((rbx + 0x28))++; | } 0x0041e94f add dword [rbx + 0x20], r14d | *((rbx + 0x20)) += r14d; 0x0041e953 add dword [rbx + 0x24], r14d | *((rbx + 0x24)) += r14d; 0x0041e957 pop rbx | 0x0041e958 pop r14 | 0x0041e95a pop rbp | 0x0041e95b ret | return rax; | }