; assembly | /* r2dec pseudo code output */ | /* baljsn_simpleformatter.t/none @ 0x42aa60 */ | #include | ; (fcn) method.int_BloombergLP::baljsn::SimpleFormatter::addValue_BloombergLP::bdlt.DatetimeTz__BloombergLP::bdlt::DatetimeTz_const_ () | uint64_t method_int_BloombergLP::baljsn::SimpleFormatter::addValue_BloombergLP::bdlt_DatetimeTz_BloombergLP::bdlt::DatetimeTz_const_ (int64_t arg2, uint32_t arg1) { | int64_t var_8h; | int64_t var_10h; | int64_t var_40h; | size_t var_48h; | rsi = arg2; | rdi = arg1; | /* int BloombergLP::baljsn::SimpleFormatter::addValue(BloombergLP::bdlt::DatetimeTz const&) */ 0x0042aa60 push rbp | 0x0042aa61 push r15 | 0x0042aa63 push r14 | 0x0042aa65 push r12 | 0x0042aa67 push rbx | 0x0042aa68 sub rsp, 0x50 | 0x0042aa6c mov r14, rsi | r14 = rsi; 0x0042aa6f mov rbx, rdi | rbx = rdi; 0x0042aa72 cmp dword [rdi + 0x4c], 1 | | if (*((rdi + 0x4c)) == 1) { 0x0042aa76 jne 0x42aad7 | 0x0042aa78 mov bpl, byte [rbx + 0xa] | bpl = *((rbx + 0xa)); 0x0042aa7c mov byte [rbx + 9], 1 | *((rbx + 9)) = 1; 0x0042aa80 cmp byte [rbx + 8], 0 | | if (*((rbx + 8)) != 0) { 0x0042aa84 je 0x42aaba | 0x0042aa86 mov rdi, qword [rbx] | 0x0042aa89 mov byte [rsp + 0x10], 0x2c | *((rsp + 0x10)) = 0x2c; 0x0042aa8e lea rsi, [rsp + 0x10] | 0x0042aa93 mov edx, 1 | 0x0042aa98 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); 0x0042aa9d cmp dword [rbx + 0x4c], 1 | | if (*((rbx + 0x4c)) != 1) { 0x0042aaa1 jne 0x42aaba | goto label_0; | } 0x0042aaa3 mov rdi, qword [rbx] | 0x0042aaa6 mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x0042aaab lea rsi, [rsp + 0x10] | 0x0042aab0 mov edx, 1 | 0x0042aab5 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); | } | label_0: 0x0042aaba mov byte [rbx + 0xa], 0 | *((rbx + 0xa)) = 0; 0x0042aabe mov byte [rbx + 8], 1 | *((rbx + 8)) = 1; 0x0042aac2 test bpl, bpl | | if (bpl != 0) { 0x0042aac5 jne 0x42ab1d | goto label_1; | } 0x0042aac7 mov rdi, qword [rbx] | 0x0042aaca mov esi, dword [rbx + 0x54] | 0x0042aacd mov edx, dword [rbx + 0x3c] | edx = *((rbx + 0x3c)); 0x0042aad0 call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (*(rbx), *((rbx + 0x54))); 0x0042aad5 jmp 0x42ab1d | | } else { 0x0042aad7 mov byte [rbx + 9], 1 | *((rbx + 9)) = 1; 0x0042aadb cmp byte [rbx + 8], 0 | | if (*((rbx + 8)) != 0) { 0x0042aadf je 0x42ab15 | 0x0042aae1 mov rdi, qword [rbx] | 0x0042aae4 mov byte [rsp + 0x10], 0x2c | *((rsp + 0x10)) = 0x2c; 0x0042aae9 lea rsi, [rsp + 0x10] | 0x0042aaee mov edx, 1 | 0x0042aaf3 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); 0x0042aaf8 cmp dword [rbx + 0x4c], 1 | | if (*((rbx + 0x4c)) != 1) { 0x0042aafc jne 0x42ab15 | goto label_2; | } 0x0042aafe mov rdi, qword [rbx] | 0x0042ab01 mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x0042ab06 lea rsi, [rsp + 0x10] | 0x0042ab0b mov edx, 1 | 0x0042ab10 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); | } | label_2: 0x0042ab15 mov byte [rbx + 0xa], 0 | *((rbx + 0xa)) = 0; 0x0042ab19 mov byte [rbx + 8], 1 | *((rbx + 8)) = 1; | } | label_1: 0x0042ab1d mov r15, qword [rbx] | r15 = *(rbx); 0x0042ab20 mov dword [rsp + 8], 3 | *((rsp + 8)) = 3; 0x0042ab28 mov esi, dword [rbx + 0x40] | 0x0042ab2b lea r12, [rsp + 8] | r12 = rsp + 8; 0x0042ab30 mov rdi, r12 | 0x0042ab33 call 0x442440 | BloombergLP::bdlt::Iso8601UtilConfiguration::setFractionalSecondPrecision(int) (r12, *((rbx + 0x40))); 0x0042ab38 lea rbx, [rsp + 0x10] | rbx = rsp + 0x10; 0x0042ab3d mov rdi, rbx | 0x0042ab40 mov esi, 0x27 | 0x0042ab45 mov rdx, r14 | 0x0042ab48 mov rcx, r12 | 0x0042ab4b call 0x440460 | BloombergLP::bdlt::Iso8601Util::generate(char*,int,BloombergLP::bdlt::DatetimeTzconst&,BloombergLP::bdlt::Iso8601UtilConfigurationconst&) (rbx, 0x27, r14, r12); 0x0042ab50 mov qword [rsp + 0x40], rbx | *((rsp + 0x40)) = rbx; 0x0042ab55 mov rdi, rbx | 0x0042ab58 call 0x404440 | rax = strlen (rbx); 0x0042ab5d mov qword [rsp + 0x48], rax | *((rsp + 0x48)) = rax; 0x0042ab62 lea rsi, [rsp + 0x40] | 0x0042ab67 mov rdi, r15 | 0x0042ab6a call 0x42b280 | BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (r15, rsp + 0x40); 0x0042ab6f add rsp, 0x50 | 0x0042ab73 pop rbx | 0x0042ab74 pop r12 | 0x0042ab76 pop r14 | 0x0042ab78 pop r15 | 0x0042ab7a pop rbp | 0x0042ab7b ret | return rax; | }