; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/assume @ 0x4b65e0 */ | #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) */ 0x004b65e0 mov eax, 0xffffffff | eax = 0xffffffff; 0x004b65e5 cmp edx, 7 | | if (edx == 7) { 0x004b65e8 jne 0x4b65fd | 0x004b65ea mov ecx, 0x696f6863 | ecx = 0x696f6863; 0x004b65ef xor ecx, dword [rsi] | ecx ^= *(rsi); 0x004b65f1 mov edx, 0x41656369 | edx = 0x41656369; 0x004b65f6 xor edx, dword [rsi + 3] | edx ^= *((rsi + 3)); 0x004b65f9 or edx, ecx | edx |= ecx; | if (edx == 0) { 0x004b65fb je 0x4b65fe | goto label_0; | } | } 0x004b65fd ret | return eax; | label_0: 0x004b65fe cmp dword [rdi + 4], 0 | | if (*((rdi + 4)) != 0) { 0x004b6602 je 0x4b660e | 0x004b6604 mov qword [rdi], 0 | *(rdi) = 0; 0x004b660b xor eax, eax | eax = 0; 0x004b660d ret | return eax; | } 0x004b660e mov dword [rdi], 0 | *(rdi) = 0; 0x004b6614 xor eax, eax | eax = 0; 0x004b6616 ret | return eax; | }