; assembly | /* r2dec pseudo code output */ | /* baljsn_simpleformatter.t/assume @ 0x42a930 */ | #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_38h; | size_t var_40h; | rsi = arg2; | rdi = arg1; | /* int BloombergLP::baljsn::SimpleFormatter::addValue(BloombergLP::bdlt::TimeTz const&) */ 0x0042a930 push rbp | 0x0042a931 push r15 | 0x0042a933 push r14 | 0x0042a935 push rbx | 0x0042a936 sub rsp, 0x48 | 0x0042a93a mov r14, rsi | r14 = rsi; 0x0042a93d mov rbx, rdi | rbx = rdi; 0x0042a940 cmp dword [rdi + 0x4c], 1 | | if (*((rdi + 0x4c)) == 1) { 0x0042a944 jne 0x42a9a5 | 0x0042a946 mov bpl, byte [rbx + 0xa] | bpl = *((rbx + 0xa)); 0x0042a94a mov byte [rbx + 9], 1 | *((rbx + 9)) = 1; 0x0042a94e cmp byte [rbx + 8], 0 | | if (*((rbx + 8)) != 0) { 0x0042a952 je 0x42a988 | 0x0042a954 mov rdi, qword [rbx] | 0x0042a957 mov byte [rsp + 0x10], 0x2c | *((rsp + 0x10)) = 0x2c; 0x0042a95c lea rsi, [rsp + 0x10] | 0x0042a961 mov edx, 1 | 0x0042a966 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); 0x0042a96b cmp dword [rbx + 0x4c], 1 | | if (*((rbx + 0x4c)) != 1) { 0x0042a96f jne 0x42a988 | goto label_0; | } 0x0042a971 mov rdi, qword [rbx] | 0x0042a974 mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x0042a979 lea rsi, [rsp + 0x10] | 0x0042a97e mov edx, 1 | 0x0042a983 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); | } | label_0: 0x0042a988 mov byte [rbx + 0xa], 0 | *((rbx + 0xa)) = 0; 0x0042a98c mov byte [rbx + 8], 1 | *((rbx + 8)) = 1; 0x0042a990 test bpl, bpl | | if (bpl != 0) { 0x0042a993 jne 0x42a9eb | goto label_1; | } 0x0042a995 mov rdi, qword [rbx] | 0x0042a998 mov esi, dword [rbx + 0x54] | 0x0042a99b mov edx, dword [rbx + 0x3c] | edx = *((rbx + 0x3c)); 0x0042a99e call 0x430ee0 | BloombergLP::bdlb::Print::indent(std::_1::basic_ostream>&,int,int) (*(rbx), *((rbx + 0x54))); 0x0042a9a3 jmp 0x42a9eb | | } else { 0x0042a9a5 mov byte [rbx + 9], 1 | *((rbx + 9)) = 1; 0x0042a9a9 cmp byte [rbx + 8], 0 | | if (*((rbx + 8)) != 0) { 0x0042a9ad je 0x42a9e3 | 0x0042a9af mov rdi, qword [rbx] | 0x0042a9b2 mov byte [rsp + 0x10], 0x2c | *((rsp + 0x10)) = 0x2c; 0x0042a9b7 lea rsi, [rsp + 0x10] | 0x0042a9bc mov edx, 1 | 0x0042a9c1 call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); 0x0042a9c6 cmp dword [rbx + 0x4c], 1 | | if (*((rbx + 0x4c)) != 1) { 0x0042a9ca jne 0x42a9e3 | goto label_2; | } 0x0042a9cc mov rdi, qword [rbx] | 0x0042a9cf mov byte [rsp + 0x10], 0xa | *((rsp + 0x10)) = 0xa; 0x0042a9d4 lea rsi, [rsp + 0x10] | 0x0042a9d9 mov edx, 1 | 0x0042a9de call 0x429220 | std::_1::basic_ostream>&std::_1::_put_character_sequence>(std::_1::basic_ostream>&,char const*,unsigned long) (*(rbx), rsp + 0x10, 1); | } | label_2: 0x0042a9e3 mov byte [rbx + 0xa], 0 | *((rbx + 0xa)) = 0; 0x0042a9e7 mov byte [rbx + 8], 1 | *((rbx + 8)) = 1; | } | label_1: 0x0042a9eb mov r15, qword [rbx] | r15 = *(rbx); 0x0042a9ee mov dword [rsp + 8], 3 | *((rsp + 8)) = 3; 0x0042a9f6 mov esi, dword [rbx + 0x40] | 0x0042a9f9 lea rdi, [rsp + 8] | 0x0042a9fe call 0x441a90 | BloombergLP::bdlt::Iso8601UtilConfiguration::setFractionalSecondPrecision(int) (rsp + 8, *((rbx + 0x40))); 0x0042aa03 lea rbx, [rsp + 0x10] | rbx = rsp + 0x10; 0x0042aa08 lea rcx, [rsp + 8] | 0x0042aa0d mov rdi, rbx | 0x0042aa10 mov esi, 0x27 | 0x0042aa15 mov rdx, r14 | 0x0042aa18 call 0x43f9d0 | BloombergLP::bdlt::Iso8601Util::generate(char*,int,BloombergLP::bdlt::TimeTzconst&,BloombergLP::bdlt::Iso8601UtilConfigurationconst&) (rbx, 0x27, r14, rsp + 8); 0x0042aa1d mov qword [rsp + 0x38], rbx | *((rsp + 0x38)) = rbx; 0x0042aa22 mov rdi, rbx | 0x0042aa25 call 0x404440 | rax = strlen (rbx); 0x0042aa2a mov qword [rsp + 0x40], rax | *((rsp + 0x40)) = rax; 0x0042aa2f lea rsi, [rsp + 0x38] | 0x0042aa34 mov rdi, r15 | 0x0042aa37 call 0x42b270 | BloombergLP::baljsn::PrintUtil::printString(std::_1::basic_ostream>&,std::_1::basic_string_view>const&) (r15, rsp + 0x38); 0x0042aa3c add rsp, 0x48 | 0x0042aa40 pop rbx | 0x0042aa41 pop r14 | 0x0042aa43 pop r15 | 0x0042aa45 pop rbp | 0x0042aa46 ret | return rax; | }