; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/none @ 0x4b6890 */ | #include | ; (fcn) method.BloombergLP::s_baltst::MySequenceWithChoiceChoice.makeSelection_char_const__int_ () | int32_t method_BloombergLP::s_baltst::MySequenceWithChoiceChoice_makeSelection_char_const_int_ (uint32_t arg3, int64_t arg2, uint32_t arg1) { | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::s_baltst::MySequenceWithChoiceChoice::makeSelection(char const*, int) */ 0x004b6890 mov eax, 0xffffffff | eax = 0xffffffff; 0x004b6895 cmp edx, 7 | | if (edx != 7) { 0x004b6898 jne 0x4b68ad | goto label_0; | } 0x004b689a mov ecx, 0x696f6863 | ecx = 0x696f6863; 0x004b689f xor ecx, dword [rsi] | ecx ^= *(rsi); 0x004b68a1 mov edx, 0x41656369 | edx = 0x41656369; 0x004b68a6 xor edx, dword [rsi + 3] | edx ^= *((rsi + 3)); 0x004b68a9 or edx, ecx | edx |= ecx; 0x004b68ab je 0x4b68ae | | while (*((rdi + 4)) == 0) { | label_0: 0x004b68ad ret | return eax; 0x004b68ae xor eax, eax | eax = 0; 0x004b68b0 cmp dword [rdi + 4], 0 | 0x004b68b4 mov dword [rdi], 0 | *(rdi) = 0; 0x004b68ba je 0x4b68ad | | } 0x004b68bc mov dword [rdi + 4], 0 | *((rdi + 4)) = 0; 0x004b68c3 ret | return eax; | }