; assembly | /* r2dec pseudo code output */ | /* baljsn_simpleformatter.t/none @ 0x42a940 */ | #include | ; (fcn) method.int_BloombergLP::baljsn::SimpleFormatter::addValue_BloombergLP::bdlt.TimeTz__BloombergLP::bdlt::TimeTz_const_ () | uint64_t method_int_BloombergLP::baljsn::SimpleFormatter::addValue_BloombergLP::bdlt_TimeTz_BloombergLP::bdlt::TimeTz_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::TimeTz const&) */ 0x0042a940 push rbp | 0x0042a941 push r15 | 0x0042a943 push r14 | 0x0042a945 push r12 | 0x0042a947 push rbx | 0x0042a948 sub rsp, 0x50 | 0x0042a94c mov r14, rsi | r14 = rsi; 0x0042a94f mov rbx, rdi | rbx = rdi; 0x0042a952 cmp dword [rdi + 0x4c], 1 | | if (*((rdi + 0x4c)) == 1) { 0x0042a956 jne 0x42a9b7 | 0x0042a958 mov bpl, byte [rbx + 0xa] | bpl = *((rbx + 0xa)); 0x0042a95c mov byte [rbx + 9], 1 | *((rbx + 9)) = 1; 0x0042a960 cmp byte [rbx + 8], 0 | | if (*((rbx + 8)) != 0) { 0x0042a964 je 0x42a99a | 0x0042a966 mov rdi, qword [rbx] | 0x0042a969 mov byte [rsp + 0x10], 0x2c | *((rsp + 0x10)) = 0x2c; 0x0042a96e lea rsi, [rsp + 0x10] | 0x0042a973 mov edx, 1 | 0x0042a978 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); 0x0042a97d cmp dword [rbx + 0x4c], 1 | | if (*((rbx + 0x4c)) != 1) { 0x0042a981 jne 0x42a99a | goto label_0; | } 0x0042a983 mov rdi, qword [rbx] | 0x0042a986 mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x0042a98b lea rsi, [rsp + 0x10] | 0x0042a990 mov edx, 1 | 0x0042a995 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: 0x0042a99a mov byte [rbx + 0xa], 0 | *((rbx + 0xa)) = 0; 0x0042a99e mov byte [rbx + 8], 1 | *((rbx + 8)) = 1; 0x0042a9a2 test bpl, bpl | | if (bpl != 0) { 0x0042a9a5 jne 0x42a9fd | goto label_1; | } 0x0042a9a7 mov rdi, qword [rbx] | 0x0042a9aa mov esi, dword [rbx + 0x54] | 0x0042a9ad mov edx, dword [rbx + 0x3c] | edx = *((rbx + 0x3c)); 0x0042a9b0 call 0x431290 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (*(rbx), *((rbx + 0x54))); 0x0042a9b5 jmp 0x42a9fd | | } else { 0x0042a9b7 mov byte [rbx + 9], 1 | *((rbx + 9)) = 1; 0x0042a9bb cmp byte [rbx + 8], 0 | | if (*((rbx + 8)) != 0) { 0x0042a9bf je 0x42a9f5 | 0x0042a9c1 mov rdi, qword [rbx] | 0x0042a9c4 mov byte [rsp + 0x10], 0x2c | *((rsp + 0x10)) = 0x2c; 0x0042a9c9 lea rsi, [rsp + 0x10] | 0x0042a9ce mov edx, 1 | 0x0042a9d3 call 0x429230 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); 0x0042a9d8 cmp dword [rbx + 0x4c], 1 | | if (*((rbx + 0x4c)) != 1) { 0x0042a9dc jne 0x42a9f5 | goto label_2; | } 0x0042a9de mov rdi, qword [rbx] | 0x0042a9e1 mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x0042a9e6 lea rsi, [rsp + 0x10] | 0x0042a9eb mov edx, 1 | 0x0042a9f0 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: 0x0042a9f5 mov byte [rbx + 0xa], 0 | *((rbx + 0xa)) = 0; 0x0042a9f9 mov byte [rbx + 8], 1 | *((rbx + 8)) = 1; | } | label_1: 0x0042a9fd mov r15, qword [rbx] | r15 = *(rbx); 0x0042aa00 mov dword [rsp + 8], 3 | *((rsp + 8)) = 3; 0x0042aa08 mov esi, dword [rbx + 0x40] | 0x0042aa0b lea r12, [rsp + 8] | r12 = rsp + 8; 0x0042aa10 mov rdi, r12 | 0x0042aa13 call 0x442440 | BloombergLP::bdlt::Iso8601UtilConfiguration::setFractionalSecondPrecision(int) (r12, *((rbx + 0x40))); 0x0042aa18 lea rbx, [rsp + 0x10] | rbx = rsp + 0x10; 0x0042aa1d mov rdi, rbx | 0x0042aa20 mov esi, 0x27 | 0x0042aa25 mov rdx, r14 | 0x0042aa28 mov rcx, r12 | 0x0042aa2b call 0x440270 | BloombergLP::bdlt::Iso8601Util::generate(char*,int,BloombergLP::bdlt::TimeTzconst&,BloombergLP::bdlt::Iso8601UtilConfigurationconst&) (rbx, 0x27, r14, r12); 0x0042aa30 mov qword [rsp + 0x40], rbx | *((rsp + 0x40)) = rbx; 0x0042aa35 mov rdi, rbx | 0x0042aa38 call 0x404440 | rax = strlen (rbx); 0x0042aa3d mov qword [rsp + 0x48], rax | *((rsp + 0x48)) = rax; 0x0042aa42 lea rsi, [rsp + 0x40] | 0x0042aa47 mov rdi, r15 | 0x0042aa4a call 0x42b280 | BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (r15, rsp + 0x40); 0x0042aa4f add rsp, 0x50 | 0x0042aa53 pop rbx | 0x0042aa54 pop r12 | 0x0042aa56 pop r14 | 0x0042aa58 pop r15 | 0x0042aa5a pop rbp | 0x0042aa5b ret | return rax; | }