Function at 0x40e284
Capabilities:
Resolve function by parsing pe exports
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov dword [esp + 0x1c], edx
cmp dword [ebp + 0xc], 0
mov dword [esp + 4], ecx
je 0x40dc13
cmp byte [ecx + 0x5c], 0
je 0x40dc32
add ecx, 0x60
push dword [esp + 0x1c]
call fcn.00411f50
mov ecx, dword [ebp + 0xc]
movzx ebx, word [ecx + 2]
mov edx, ebx
shr edx, 5
movzx edi, word [ecx]
mov ecx, edi
shr ecx, 0xc
mov esi, edi
shr esi, 8
and esi, 0xf
shr edi, 4
and edi, 0xf
test bl, 0x1f
mov dword [esp + 0xc], eax
mov dword [esp], edi
jne 0x40eb6c
mov ebx, ecx
add ebx, esi
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [esp + 0x4c], eax
mov edi, edx
jmp 0x40dc54
mov dword [esp + 0x4c], 0
xor ebx, ebx
xor esi, esi
mov dword [esp], 0
mov dword [esp + 0xc], 0
xor edi, edi
jmp 0x40dc54
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
mov dword [esp + 0xc], eax
mov edi, dword [ecx + 0xc]
lea eax, [ecx + 0x10]
mov dword [esp + 0x4c], eax
movzx ebx, word [ecx]
movzx esi, word [ecx + 2]
movzx eax, word [ecx + 4]
mov dword [esp], eax
mov dword [esp + 0x70], ebx
movzx eax, bx
mov dword [esp + 0x10], eax
push eax
push str.______registers_____:__d_n
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
mov dword [esp + 0x78], esi
movzx eax, si
push eax
push str.______ins___________:__d_n
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
movzx eax, word [esp]
push eax
push str.______outs__________:__d_n
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
mov dword [esp + 0x54], edi
push edi
push str.______insns_size____:__d_16_bit_code_units_n
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
cmp byte [0x4e0195], 0
mov edx, dword [esp + 4]
je 0x40e883
mov eax, dword [edx + 0x34]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [eax + ecx*8 + 4]
mov esi, edx
xor edx, edx
mov edi, 0
cmp ecx, 0xffffffff
je 0x40dd04
mov edi, dword [esi + 0xc]
mov esi, dword [esi + 0x28]
mov ecx, dword [esi + ecx*4]
cmp byte [edi + ecx], 0
js 0x40eb7f
add edi, ecx
add edi, 1
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x1c]
movzx ecx, word [eax + ebx*8 + 2]
lea ecx, [ecx + ecx*2]
shl ecx, 2
add ecx, dword [esi + 0x38]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], esi
movzx eax, word [eax + ebx*8]
cmp eax, 0xffff
je 0x40dd50
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + eax*4]
cmp eax, 0xffffffff
je 0x40dd50
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x28]
mov eax, dword [ecx + eax*4]
cmp byte [edx + eax], 0
js 0x40ebf0
add edx, eax
add edx, 1
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x74], 0
lea ecx, [esp + 0x74]
call fcn.00409b50
mov esi, dword [0x4e01a8]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x30]
push eax
call fcn.00419960
test byte [esp + 0x30], 1
je 0x40dd91
mov eax, dword [esp + 0x38]
jmp 0x40dd95
lea eax, [esp + 0x31]
push eax
push edi
push dword [esp + 0x74]
mov eax, dword [ebp + 0x10]
push eax
push eax
push str._06x:__________________________________________06x___s._s:_s_n
push esi
call fcn.00410d00
add esp, 0x1c
test byte [esp + 0x30], 1
je 0x40ddc1
push dword [esp + 0x38]
call fcn.0046a990
add esp, 4
cmp dword [ebp + 0xc], 0
mov edx, dword [esp + 4]
je 0x40e86e
cmp byte [edx + 0x5c], 0
je 0x40ddfa
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 2]
mov ecx, eax
shr ecx, 5
mov dword [esp + 0x44], 4
test al, 0x1f
jne 0x40ec04
test ecx, ecx
jne 0x40de10
jmp 0x40e86e
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x44], 0x10
test ecx, ecx
je 0x40e86e
mov eax, dword [ebp + 0xc]
add dword [esp + 0x44], eax
add dword [esp + 0x48], 0x10
xor ebx, ebx
mov esi, dword [0x4c61fc]
lea edx, [eax + 4]
mov dword [esp + 0x58], edx
add eax, 0x10
mov dword [esp + 0x60], eax
mov dword [esp + 0x18], ecx
nop word cs:[eax + eax]
cmp ebx, ecx
jae 0x40e800
mov eax, dword [esp + 0x44]
lea edi, [eax + ebx*2]
mov dword [esp + 8], ebx
movzx eax, byte [eax + ebx*2]
movzx ebx, byte [esi + eax*8 + 7]
test bl, bl
js 0x40e7e4
test ebx, ebx
je 0x40e852
mov dword [esp], edi
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 8]
lea eax, [eax + esi*2]
push eax
push str._06x:
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
mov eax, dword [esp + 4]
cmp byte [eax + 0x5c], 0
mov edi, dword [esp + 0x58]
cmove edi, dword [esp + 0x60]
movzx eax, byte [edi + esi*2]
movzx ecx, byte [edi + esi*2 + 1]
push ecx
push eax
push str.__02x_02x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
cmp ebx, 1
jne 0x40dee0
push dword [0x4e01a8]
push 1
push 5
push 0x4c7d4c
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
jmp 0x40e010
movzx eax, byte [edi + esi*2 + 2]
movzx ecx, byte [edi + esi*2 + 3]
push ecx
push eax
push str.__02x_02x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
cmp ebx, 2
jbe 0x40e010
mov ecx, dword [esp + 8]
movzx eax, byte [edi + ecx*2 + 4]
movzx ecx, byte [edi + ecx*2 + 5]
push ecx
push eax
push str.__02x_02x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
cmp ebx, 3
mov esi, dword [0x4c61fc]
je 0x40e02d
mov ecx, dword [esp + 8]
movzx eax, byte [edi + ecx*2 + 6]
movzx ecx, byte [edi + ecx*2 + 7]
push ecx
push eax
push str.__02x_02x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
cmp ebx, 4
jbe 0x40e044
mov ecx, dword [esp + 8]
movzx eax, byte [edi + ecx*2 + 8]
movzx ecx, byte [edi + ecx*2 + 9]
push ecx
push eax
push str.__02x_02x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
cmp ebx, 5
je 0x40e05b
mov ecx, dword [esp + 8]
movzx eax, byte [edi + ecx*2 + 0xa]
movzx ecx, byte [edi + ecx*2 + 0xb]
push ecx
push eax
push str.__02x_02x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
cmp ebx, 6
jbe 0x40e072
mov ecx, dword [esp + 8]
movzx eax, byte [edi + ecx*2 + 0xc]
movzx ecx, byte [edi + ecx*2 + 0xd]
push ecx
push eax
push str.__02x_02x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
cmp ebx, 7
je 0x40e089
push 0x4c7d3c
push dword [0x4e01a8]
call fcn.00410d00
add esp, 8
jmp 0x40e0a0
push dword [0x4e01a8]
push 1
push 5
push 0x4c7d4c
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
mov esi, dword [0x4c61fc]
push dword [0x4e01a8]
push 1
push 5
push 0x4c7d4c
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
push dword [0x4e01a8]
push 1
push 5
push 0x4c7d4c
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
push dword [0x4e01a8]
push 1
push 5
push 0x4c7d4c
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
push dword [0x4e01a8]
push 1
push 5
push 0x4c7d4c
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
push dword [0x4e01a8]
push 1
push 5
push 0x4c7d4c
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
mov eax, dword [esp]
movzx eax, byte [eax]
test eax, eax
je 0x40e0d0
mov ecx, dword [0x4c865c]
push dword [ecx + eax*4]
mov ebx, dword [esp + 0xc]
push ebx
push str._04x:__s
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
mov edi, dword [esp]
jmp 0x40e140
mov eax, dword [esp + 8]
movzx eax, word [edi + eax*2]
cmp eax, 0x300
je 0x40e11b
movzx eax, ax
cmp eax, 0x200
mov edi, dword [esp]
je 0x40e100
cmp eax, 0x100
jne 0x40e128
push ebx
mov ebx, dword [esp + 0xc]
push ebx
push str._04x:_packed_switch_data___d_units_
jmp 0x40e10b
push ebx
mov ebx, dword [esp + 0xc]
push ebx
push str._04x:_sparse_switch_data___d_units_
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
jmp 0x40e140
push ebx
mov ebx, dword [esp + 0xc]
push ebx
push str._04x:_array_data___d_units_
jmp 0x40e0bd
mov ebx, dword [esp + 8]
push ebx
push str._04x:_nop____spacer
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
movzx eax, word [edi]
movzx ecx, al
cmp byte [esi + ecx*8 + 5], 1
mov edx, dword [esp + 4]
jne 0x40e190
mov dword [esp + 0x14], 0
movzx edx, byte [esi + ecx*8 + 4]
cmp edx, 0x19
ja case.default.0x40e163
jmp dword [edx*4 + 0x4c6a60]
add dl, 0xf6
cmp dl, 0xa
ja case.default.0x40e179
movzx ecx, dl
jmp dword [ecx*4 + 0x4c6b44]
movzx eax, ax
shr eax, 8
jmp 0x40e584
lea ecx, [esp + 0x30]
push 0xc8
push edi
call 0x4102b0
add esp, 8
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
movzx eax, word [edi]
movzx ecx, al
movzx edx, byte [esi + ecx*8 + 4]
cmp edx, 0x19
jbe switch.0x0040e163
push str.____
push dword [0x4e01a8]
call fcn.00410d00
add esp, 8
jmp case.0x40e163.0
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
movzx ecx, ax
shr ecx, 0xc
xor edx, edx
add cl, 0xff
cmp cl, 4
ja case.default.0x40e205
movzx ebx, word [edi + 4]
movzx ecx, cl
mov dword [esp + 0x5c], 0
jmp dword [ecx*4 + 0x4c6ac8]
shr eax, 8
and eax, 0xf
mov dword [esp + 0x40], eax
mov eax, ebx
shr eax, 0xc
mov dword [esp + 0x3c], eax
mov edx, ebx
shr edx, 8
and edx, 0xf
mov dword [esp + 0x38], edx
mov eax, ebx
shr eax, 4
and eax, 0xf
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], edx
and ebx, 0xf
mov dword [esp + 0x68], ebx
push dword [0x4e01a8]
push 1
push 2
push 0x4c7ee5
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
movzx ebx, word [edi]
movzx eax, bl
movzx eax, byte [esi + eax*8 + 4]
cmp eax, 0x19
ja case.default.0x40e26d
jmp dword [eax*4 + 0x4c6adc]
shr ebx, 8
jmp 0x40e5ce
push dword [0x4e01a8]
push 1
push 2
push 0x4c7ee5
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
movzx eax, word [edi]
movzx ebx, ax
movzx ecx, bl
movzx ecx, byte [esi + ecx*8 + 4]
cmp ecx, 0x19
ja case.default.0x40e179
jmp dword [ecx*4 + 0x4c6b70]
shr ebx, 8
jmp 0x40e685
movzx eax, ax
mov ecx, eax
shr ecx, 8
and ecx, 0xf
shr eax, 0xc
push dword [esp + 0x14]
push eax
push ecx
push str._v_d__v_d___s
jmp 0x40e510
movsx edx, word [edi + 2]
movzx ecx, ax
mov eax, ecx
shr eax, 8
and eax, 0xf
shr ecx, 0xc
mov esi, edx
shr esi, 0xe
and esi, 2
add esi, 0x2b
mov edi, edx
neg edi
cmovs edi, edx
add edx, ebx
push edi
mov edi, dword [esp + 4]
push esi
mov esi, dword [0x4c61fc]
push edx
push ecx
push eax
push str._v_d__v_d___04x_____c_04x
jmp 0x40e334
shr eax, 8
movsx eax, al
jmp 0x40e424
mov ecx, dword [edi + 2]
mov edx, dword [edi + 6]
movzx eax, ax
shr eax, 8
push edx
push ecx
push edx
push ecx
push eax
push str._v_d__double__g_____016llx
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x1c
jmp case.0x40e163.0
movzx edx, word [edi + 2]
movzx eax, ax
shr eax, 8
cmp cx, 0x15
jne 0x40e52b
push edx
shl edx, 0x10
jmp 0x40e4b5
movzx eax, ax
shr eax, 8
movzx ecx, word [edi + 2]
movzx edx, cl
shr ecx, 8
push ecx
push edx
push eax
push str._v_d__v_d__v_d
jmp 0x40e510
mov ecx, eax
shr ecx, 8
and ecx, 0xf
cwde
sar eax, 0xc
movzx edx, al
push edx
push eax
push ecx
jmp 0x40e4b7
movzx eax, ax
shr eax, 8
push eax
push str._v_d
jmp 0x40e4ea
movzx ecx, ax
mov eax, ecx
shr eax, 8
and eax, 0xf
shr ecx, 0xc
movzx edx, word [edi + 2]
movsx esi, dx
push edx
push esi
mov esi, dword [0x4c61fc]
push ecx
push eax
push str._v_d__v_d__int__d_____04x
jmp 0x40e538
movsx ecx, word [edi + 2]
movzx eax, ax
shr eax, 8
mov edx, ecx
shr edx, 0xe
and edx, 2
add edx, 0x2b
mov esi, ecx
neg esi
cmovs esi, ecx
add ecx, ebx
push esi
mov esi, dword [0x4c61fc]
push edx
push ecx
push eax
push str._v_d___04x_____c_04x
jmp 0x40e538
movzx eax, ax
mov ecx, eax
shr ecx, 8
and ecx, 0xf
shr eax, 0xc
push eax
push ecx
jmp 0x40e465
movzx eax, word [edi + 2]
movzx ecx, word [edi + 4]
jmp 0x40e463
movsx eax, word [edi + 2]
lea ecx, [eax + ebx]
mov edx, eax
shr edx, 0x1f
add edx, edx
add edx, 0x2b
mov esi, eax
neg esi
cmovs esi, eax
push esi
push edx
push ecx
push str.__04x_____c_04x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x14
mov esi, dword [0x4c61fc]
jmp case.0x40e163.0
movzx eax, ax
shr eax, 8
movzx ecx, word [edi + 2]
push ecx
push eax
push str._v_d__v_d
jmp 0x40e58e
mov ecx, dword [edi + 2]
movd xmm0, ecx
mov edx, dword [0x4e01a8]
movzx eax, ax
shr eax, 8
cvtss2sd xmm0, xmm0
sub esp, 0x18
mov dword [esp + 0x14], ecx
movsd qword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], str._v_d__float__g_____08x
jmp 0x40e53e
movzx eax, ax
shr eax, 8
movzx ecx, word [edi + 2]
movsx edx, cx
push ecx
push edx
push eax
push str._v_d__int__d_____x
jmp 0x40e510
movzx eax, ax
shr eax, 8
movzx ecx, word [edi + 2]
movzx edx, cl
shr ecx, 8
movsx esi, cl
push ecx
push esi
mov esi, dword [0x4c61fc]
push edx
push eax
push str._v_d__v_d__int__d_____02x
jmp 0x40e538
push dword [edi + 2]
push str.__08x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
jmp case.0x40e163.0
movzx eax, ax
shr eax, 8
mov ecx, dword [edi + 2]
push ecx
add ecx, ebx
push ecx
push eax
push str._v_d___08x_____08x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x14
jmp case.0x40e163.0
shr eax, 8
and eax, 0xf
jmp 0x40e584
push edx
shl edx, 0x10
push edx
push 0
push eax
push str._v_d__long__lld_____x
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x18
jmp case.0x40e163.0
shr ebx, 8
and ebx, 0xf
jmp 0x40e5ce
shr ebx, 8
and ebx, 0xf
jmp 0x40e685
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x68], 0
jmp 0x40e242
movzx eax, word [edi + 2]
jmp 0x40e584
mov eax, dword [edi + 2]
push dword [esp + 0x14]
push eax
push str._v_d___s
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
jmp case.0x40e163.0
shr ebx, 0xc
jmp 0x40e5ce
shr ebx, 0xc
jmp 0x40e685
movzx ebx, word [edi + 2]
jmp 0x40e5ce
movzx ebx, word [edi + 2]
jmp 0x40e685
shr ebx, 8
movsx ebx, bl
jmp 0x40e5ce
movsx ebx, word [edi + 2]
jmp 0x40e5ce
mov ebx, dword [edi + 2]
test ebx, ebx
jle 0x40e64e
push dword [esp + 0x68]
push 0x4c7ee8
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
cmp ebx, 1
je 0x40e64e
push dword [esp + 0x5c]
push str.__v_d
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
cmp ebx, 2
je 0x40e64e
push dword [esp + 0x64]
push str.__v_d
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
cmp ebx, 3
je 0x40e64e
mov esi, 3
nop
push dword [esp + esi*4 + 0x30]
push str.__v_d
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
add esi, 1
cmp ebx, esi
jne 0x40e630
push dword [esp + 0x14]
push str.___s
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
mov ebx, dword [esp + 8]
mov esi, dword [0x4c61fc]
jmp case.0x40e163.0
shr ebx, 8
movsx ebx, bl
jmp 0x40e685
movsx ebx, word [edi + 2]
jmp 0x40e685
mov ebx, dword [edi + 2]
test ebx, ebx
jle 0x40e781
add ebx, 0xffffffff
xor edi, edi
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [0x4e01a8]
movzx eax, al
movzx eax, byte [esi + eax*8 + 4]
add al, 0xf5
test edi, edi
je 0x40e6d0
cmp al, 0xd
ja case.0x40e6db.5
movzx eax, al
jmp dword [eax*4 + 0x4c6bd8]
mov eax, dword [esp]
movsx eax, word [eax + 2]
jmp 0x40e730
cmp al, 0xd
ja case.0x40e6db.5
movzx eax, al
jmp dword [eax*4 + 0x4c6c10]
mov eax, dword [esp]
movsx eax, word [eax + 2]
jmp 0x40e760
mov eax, dword [esp]
movzx eax, word [eax + 4]
and eax, 0xf
jmp 0x40e730
mov eax, dword [esp]
movzx eax, word [eax + 4]
jmp 0x40e730
mov eax, dword [esp]
movzx eax, word [eax + 4]
and eax, 0xf
jmp 0x40e760
mov eax, dword [esp]
movzx eax, word [eax + 4]
jmp 0x40e760
mov eax, dword [esp]
movzx eax, word [eax + 2]
jmp 0x40e730
mov eax, dword [esp]
movsx eax, byte [eax + 3]
jmp 0x40e730
mov eax, dword [esp]
movzx eax, byte [eax + 3]
nop
add eax, edi
push eax
push str.__v_d
jmp 0x40e766
mov eax, dword [esp]
movzx eax, word [eax + 2]
jmp 0x40e760
mov eax, dword [esp]
movsx eax, byte [eax + 3]
jmp 0x40e760
mov eax, dword [esp]
movzx eax, byte [eax + 3]
nop word cs:[eax + eax]
nop dword [eax]
push eax
push 0x4c7ee8
push ecx
call fcn.00410d00
add esp, 0xc
cmp ebx, edi
je 0x40e781
mov eax, dword [esp]
movzx eax, byte [eax]
add edi, 1
jmp 0x40e6a0
push dword [esp + 0x14]
push str.___s
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
mov edi, dword [esp]
mov ebx, dword [esp + 8]
nop
push dword [0x4e01a8]
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputc
add esp, 8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40e7c1
push eax
call fcn.0046a9c0
add esp, 4
movzx eax, byte [edi]
movzx eax, byte [esi + eax*8 + 7]
test al, al
js 0x40e7f7
add ebx, eax
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
mov edx, dword [esp + 4]
jne 0x40de40
jmp 0x40e86e
mov ecx, edi
call fcn.00418070
mov ebx, eax
test ebx, ebx
jne 0x40de6c
jmp 0x40e852
mov ecx, edi
call fcn.00418070
jmp 0x40e7cd
push 0
push 3
call fcn.0041c270
mov edx, dword [esp + 0xc]
add esp, 8
test al, al
je 0x40e86e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
sub esp, 0x14
movaps xmm0, xmmword [0x4c69c0]
movups xmmword [esp + 4], xmm0
mov dword [esp], str.art_dexdump_dexdump.cc
mov edi, ebx
lea ebx, [esp + 0x44]
mov ecx, ebx
call fcn.0041c2d0
mov ecx, ebx
call fcn.0041c2a0
push 0x26
push str.GLITCH:_run_away_instruction_at_idx0x
jmp 0x40edd0
push 0
push 3
call fcn.0041c270
add esp, 8
test al, al
mov edx, dword [esp + 4]
mov edi, dword [esp + 8]
jne 0x40ed99
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x40e883
push eax
call fcn.0046a9c0
mov edx, dword [esp + 8]
add esp, 4
xorps xmm0, xmm0
movaps xmmword [esp + 0x20], xmm0
cmp dword [ebp + 0xc], 0
je 0x40ea62
cmp byte [edx + 0x5c], 0
je 0x40ea23
mov eax, dword [ebp + 0xc]
movzx ebx, word [eax + 2]
mov edi, ebx
shr edi, 5
movzx eax, word [eax]
mov ecx, eax
shr ecx, 0xc
mov word [esp + 0x28], cx
mov edx, eax
shr edx, 8
and edx, 0xf
mov word [esp + 0x2a], dx
mov esi, eax
shr esi, 4
and esi, 0xf
mov word [esp + 0x2c], si
and eax, 0xf
mov word [esp + 0x2e], ax
test bl, 0x1f
jne 0x40eb93
add edx, ecx
mov word [esp + 0x28], dx
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [esp + 0x20], edi
mov ebx, ecx
mov dword [esp + 0x24], ecx
test ax, ax
je 0x40ea62
movzx esi, ax
push esi
push str.______catches_______:__d_n
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0xc
lea ebx, [ebx + edi*2]
add ebx, 3
and ebx, 0xfffffffc
lea esi, [ebx + esi*8]
lea edi, [esp + 0x30]
jmp 0x40e93b
add ebx, 8
cmp ebx, esi
je 0x40ea75
mov eax, dword [ebx]
movzx ecx, word [ebx + 4]
add ecx, eax
push ecx
push eax
push str.________0x_04x___0x_04x_n
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov ecx, edi
push ebx
lea eax, [esp + 0x24]
push eax
call fcn.00415f90
jmp 0x40e9a4
mov eax, str._any_
push dword [esp + 0x34]
push eax
push str.___________s____0x_04x_n
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x10
mov ecx, edi
call fcn.00416120
cmp dword [esp + 0x3c], 0xffffffff
jne 0x40e9b6
cmp byte [esp + 0x40], 0
je 0x40e930
movzx eax, word [esp + 0x30]
cmp eax, 0xffff
je 0x40e980
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x2c]
mov ecx, dword [ecx + eax*4]
cmp ecx, 0xffffffff
je 0x40e9f0
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 0x28]
mov ecx, dword [edx + ecx*4]
cmp byte [eax + ecx], 0
js 0x40e9f4
add eax, ecx
add eax, 1
jmp 0x40e985
xor eax, eax
jmp 0x40e985
add eax, ecx
cmp byte [eax + 1], 0
js 0x40ea01
add eax, 2
jmp 0x40e985
cmp byte [eax + 2], 0
js 0x40ea0f
add eax, 3
jmp 0x40e985
movzx ecx, byte [eax + 3]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 4
jmp 0x40e985
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 0xc]
lea ecx, [edx + 0x10]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ecx
movzx eax, word [edx]
mov word [esp + 0x28], ax
movzx eax, word [edx + 2]
mov word [esp + 0x2a], ax
movzx eax, word [edx + 4]
mov word [esp + 0x2c], ax
movzx eax, word [edx + 6]
mov word [esp + 0x2e], ax
mov ebx, ecx
test ax, ax
jne 0x40e903
push str.______catches_______:__none__n
push dword [0x4e01a8]
call fcn.00410d00
add esp, 8
cmp byte [0x4e019d], 0
je 0x40ff3f
mov ecx, dword [esp + 0x54]
xor esi, esi
test ecx, ecx
je 0x40eaf4
mov ebx, dword [0x4c61fc]
mov edx, dword [esp + 0x4c]
nop word cs:[eax + eax]
movzx eax, byte [edx + esi*2]
movzx eax, byte [ebx + eax*8 + 7]
test al, al
js 0x40eabb
movzx edi, al
movzx eax, al
add esi, eax
cmp esi, ecx
jb 0x40eaa0
jmp 0x40eaf6
lea edi, [edx + esi*2]
mov ecx, edi
call fcn.00418070
mov ecx, edi
mov edi, eax
movzx eax, byte [ecx]
movzx eax, byte [ebx + eax*8 + 7]
test al, al
js 0x40eadf
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
jmp 0x40eab0
call fcn.00418070
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
add esi, eax
cmp esi, ecx
jb 0x40eaa0
jmp 0x40eaf6
xor edi, edi
mov eax, ecx
sub eax, edi
cmp esi, ecx
mov ecx, 1
cmove ecx, eax
mov dword [esp], ecx
push str.______positions_____:_n
push dword [0x4e01a8]
call fcn.00410d00
add esp, 8
cmp dword [esp + 0xc], 0
mov eax, dword [esp + 4]
je case.0x40eefe.0
mov ecx, dword [esp + 0xc]
cmp dword [eax + 0x10], ecx
jbe case.0x40eefe.0
mov ebx, dword [eax + 0xc]
test ebx, ebx
je case.0x40eefe.0
mov edi, dword [esp + 0xc]
add ebx, edi
movzx edx, byte [ebx]
test dl, dl
js 0x40ebab
add ebx, 1
movzx eax, byte [ebx]
test al, al
js 0x40ebcb
add ebx, 1
test eax, eax
mov dword [esp + 0xc], edi
jne 0x40eec0
jmp 0x40eecd
mov edi, esi
test bl, 0x10
jne 0x40ec1d
mov eax, dword [ebp + 0xc]
jmp 0x40ec36
add edi, ecx
cmp byte [edi + 1], 0
js 0x40ed1a
add edi, 2
jmp 0x40dd00
mov dword [esp + 8], ebx
test bl, 0x10
jne 0x40ec78
mov ebx, dword [ebp + 0xc]
mov dword [esp], ebx
jmp 0x40ec96
movzx eax, byte [ebx + 1]
mov ecx, edx
and ecx, 0x7f
mov edx, eax
and edx, 0x7f
shl edx, 7
or edx, ecx
test al, al
js 0x40ed4b
add ebx, 2
jmp 0x40eb51
mov esi, edx
movzx ecx, byte [ebx + 1]
mov edx, eax
and edx, 0x7f
mov eax, ecx
and eax, 0x7f
shl eax, 7
or eax, edx
test cl, cl
js 0x40ed69
add ebx, 2
jmp 0x40ee85
add edx, eax
cmp byte [edx + 1], 0
js 0x40ed87
add edx, 2
jmp 0x40dd50
mov esi, ecx
test al, 0x10
jne 0x40ed2c
mov ecx, esi
test ecx, ecx
jne 0x40de10
jmp 0x40e86e
mov eax, edx
mov esi, dword [ebp + 0xc]
movzx edx, word [esi - 2]
add edx, eax
lea eax, [esi - 4]
movzx esi, word [esi - 4]
shl esi, 0x10
add esi, edx
mov edx, esi
test bl, 1
mov esi, edi
jne 0x40ec4d
test bl, 2
jne 0x40ec59
test bl, 4
je 0x40dc01
jmp 0x40ec69
add cx, word [eax - 2]
add eax, 0xfffffffe
test bl, 2
je 0x40ec42
add si, word [eax - 2]
add eax, 0xfffffffe
test bl, 4
je 0x40dc01
mov edi, dword [esp]
add di, word [eax - 2]
mov dword [esp], edi
jmp 0x40dc01
mov ebx, dword [ebp + 0xc]
movzx ebx, word [ebx - 2]
add ebx, edi
mov edi, dword [ebp + 0xc]
add edi, 0xfffffffc
mov dword [esp], edi
mov edi, dword [ebp + 0xc]
movzx edi, word [edi - 4]
shl edi, 0x10
add edi, ebx
mov ebx, dword [esp + 8]
test bl, 1
jne 0x40ecb4
test bl, 2
jne 0x40eccf
test bl, 4
jne 0x40ecea
test bl, 8
je 0x40e8e3
jmp 0x40ed09
mov ebx, dword [esp]
add cx, word [ebx - 2]
add ebx, 0xfffffffe
mov dword [esp], ebx
mov ebx, dword [esp + 8]
mov word [esp + 0x28], cx
test bl, 2
je 0x40eca4
mov ebx, dword [esp]
add dx, word [ebx - 2]
add ebx, 0xfffffffe
mov dword [esp], ebx
mov ebx, dword [esp + 8]
mov word [esp + 0x2a], dx
test bl, 4
je 0x40eca9
mov ebx, dword [esp]
add si, word [ebx - 2]
add ebx, 0xfffffffe
mov dword [esp], ebx
mov ebx, dword [esp + 8]
mov word [esp + 0x2c], si
test bl, 8
je 0x40e8e3
mov esi, dword [esp]
add ax, word [esi - 2]
mov word [esp + 0x2e], ax
jmp 0x40e8e3
cmp byte [edi + 2], 0
js 0x40ee0c
add edi, 3
jmp 0x40dd00
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx - 2]
add eax, esi
movzx ecx, word [ecx - 4]
shl ecx, 0x10
add ecx, eax
test ecx, ecx
jne 0x40de10
jmp 0x40e86e
movzx eax, byte [ebx + 2]
mov ecx, eax
and ecx, 0x7f
shl ecx, 0xe
or edx, ecx
test al, al
js 0x40ee1f
add ebx, 3
jmp 0x40ee6c
movzx ecx, byte [ebx + 2]
mov edx, ecx
and edx, 0x7f
shl edx, 0xe
or eax, edx
test cl, cl
js 0x40ee36
add ebx, 3
jmp 0x40ee81
cmp byte [edx + 2], 0
js 0x40ee4d
add edx, 3
jmp 0x40dd50
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
sub esp, 0x14
movaps xmm0, xmmword [0x4c69f0]
movups xmmword [esp + 4], xmm0
mov dword [esp], str.art_dexdump_dexdump.cc
lea ebx, [esp + 0x44]
mov ecx, ebx
call fcn.0041c2d0
mov ecx, ebx
call fcn.0041c2a0
push 0x28
push str.GLITCH:_zero_width_instruction_at_idx0x
push eax
call fcn.00404100
add esp, 0xc
mov ecx, dword [eax]
mov ecx, dword [ecx - 0xc]
mov edx, dword [eax + ecx + 4]
and edx, 0xffffffb5
or edx, 8
mov dword [eax + ecx + 4], edx
mov ecx, eax
push edi
call fcn.00427910
mov ecx, ebx
call fcn.0041c3a0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], esi
mov edx, dword [esp + 4]
jmp 0x40e86e
mov cl, byte [edi + 3]
shr cl, 7
movzx ecx, cl
add edi, ecx
add edi, 4
jmp 0x40dd00
movzx eax, byte [ebx + 3]
mov ecx, eax
and ecx, 0x7f
shl ecx, 0x15
or edx, ecx
test al, al
js 0x40ee60
add ebx, 4
jmp 0x40ee6c
movzx ecx, byte [ebx + 3]
mov edx, ecx
and edx, 0x7f
shl edx, 0x15
or eax, edx
test cl, cl
js 0x40ee75
add ebx, 4
jmp 0x40ee81
mov al, byte [edx + 3]
shr al, 7
movzx eax, al
add edx, eax
add edx, 4
jmp 0x40dd50
movzx eax, byte [ebx + 4]
add ebx, 5
shl eax, 0x1c
or edx, eax
mov edi, dword [esp + 0xc]
jmp 0x40eb51
movzx ecx, byte [ebx + 4]
add ebx, 5
shl ecx, 0x1c
or eax, ecx
mov edi, dword [esp + 0xc]
mov edx, esi
test eax, eax
mov dword [esp + 0xc], edi
jne 0x40eec0
jmp 0x40eecd
cmp byte [ebx + 1], 0
js 0x40ee9c
add ebx, 2
jmp 0x40eec8
cmp byte [ebx + 2], 0
js 0x40eea7
add ebx, 3
jmp 0x40eec8
movzx ecx, byte [ebx + 3]
shr cl, 7
movzx ecx, cl
add ebx, ecx
add ebx, 4
jmp 0x40eec8
cmp byte [ebx], 0
js 0x40ee91
add ebx, 1
add eax, 0xffffffff
jne 0x40eec0
xor edi, edi
jmp case.0x40eefe.7
lea ebx, [eax + 2]
cmp byte [eax + 1], 0
js 0x40f065
mov eax, ebx
add ebx, 1
movzx ecx, byte [eax]
cmp ecx, 9
ja case.default.0x40eefe
jmp dword [ecx*4 + 0x4c6c48]
movzx ecx, byte [eax + 1]
test cl, cl
js 0x40f0a2
add eax, 2
mov ebx, eax
add edi, ecx
jmp case.0x40eefe.7
cmp byte [eax + 1], 0
js 0x40f094
add eax, 2
cmp byte [eax], 0
js 0x40ef79
add eax, 1
lea ebx, [eax + 1]
cmp byte [eax], 0
jns case.0x40eefe.7
lea ebx, [eax + 2]
cmp byte [eax + 1], 0
jns case.0x40eefe.7
lea ebx, [eax + 3]
cmp byte [eax + 2], 0
jns case.0x40eefe.7
movzx ecx, byte [eax + 3]
shr cl, 7
movzx ecx, cl
lea ebx, [ecx + eax]
add ebx, 4
jmp case.0x40eefe.7
cmp byte [eax + 1], 0
js 0x40f0c5
add eax, 2
cmp byte [eax], 0
js 0x40f0d3
add eax, 1
cmp byte [eax], 0
jns 0x40ef2c
cmp byte [eax + 1], 0
js 0x40f0e1
add eax, 2
jmp 0x40ef2f
mov esi, edx
movzx edx, byte [eax + 1]
test dl, dl
js 0x40efee
add eax, 2
shl edx, 0x19
sar edx, 0x19
add esi, edx
mov edx, esi
mov ebx, eax
jmp case.0x40eefe.7
add cl, 0xf6
movzx eax, cl
imul eax, eax, 0x89
shr eax, 0xb
add edi, eax
cmp edi, dword [esp]
ja case.0x40eefe.0
lea eax, [eax + eax*4]
lea eax, [eax + eax*2]
sub cl, al
movzx eax, cl
add edx, eax
add edx, 0xfffffffc
push edx
push edi
push str.________0x_04x_line_d_n
push dword [0x4e01a8]
mov esi, edx
call fcn.00410d00
mov edx, esi
add esp, 0x10
jmp case.0x40eefe.7
movzx ebx, byte [eax + 2]
and edx, 0x7f
mov ecx, ebx
and ecx, 0x7f
shl ecx, 7
or ecx, edx
test bl, bl
js 0x40f017
add eax, 3
shl ecx, 0x12
sar ecx, 0x12
mov edx, esi
add edx, ecx
mov ebx, eax
jmp case.0x40eefe.7
movzx ebx, byte [eax + 3]
mov edx, ebx
and edx, 0x7f
shl edx, 0xe
or edx, ecx
test bl, bl
js 0x40f037
add eax, 4
shl edx, 0xb
sar edx, 0xb
jmp 0x40ef9b
movzx ebx, byte [eax + 4]
mov ecx, ebx
and ecx, 0x7f
shl ecx, 0x15
or ecx, edx
test bl, bl
js 0x40f054
add eax, 5
shl ecx, 4
sar ecx, 4
jmp 0x40f00c
movzx edx, byte [eax + 5]
add eax, 6
shl edx, 0x1c
or edx, ecx
jmp 0x40ef9b
lea ebx, [eax + 3]
cmp byte [eax + 2], 0
jns case.0x40eefe.7
lea ebx, [eax + 4]
cmp byte [eax + 3], 0
jns case.0x40eefe.7
movzx ecx, byte [eax + 4]
shr cl, 7
movzx ecx, cl
lea ebx, [ecx + eax]
add ebx, 5
jmp case.0x40eefe.7
cmp byte [eax + 2], 0
js 0x40f0ef
add eax, 3
jmp 0x40ef27
mov dword [esp + 8], edx
movzx edx, byte [eax + 2]
mov esi, ecx
and esi, 0x7f
mov ecx, edx
and ecx, 0x7f
shl ecx, 7
or ecx, esi
test dl, dl
js 0x40f0fd
add eax, 3
jmp 0x40f1a6
cmp byte [eax + 2], 0
js 0x40f117
add eax, 3
jmp 0x40ef68
cmp byte [eax + 1], 0
js 0x40f125
add eax, 2
jmp 0x40ef74
cmp byte [eax + 2], 0
js 0x40f133
add eax, 3
jmp 0x40ef2f
cmp byte [eax + 3], 0
js 0x40f147
add eax, 4
jmp 0x40ef27
movzx edx, byte [eax + 3]
mov esi, edx
and esi, 0x7f
shl esi, 0xe
or ecx, esi
test dl, dl
js 0x40f15b
add eax, 4
jmp 0x40f1a6
cmp byte [eax + 3], 0
js 0x40f172
add eax, 4
jmp 0x40ef68
cmp byte [eax + 2], 0
js 0x40f186
add eax, 3
jmp 0x40ef74
movzx ecx, byte [eax + 3]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 4
jmp 0x40ef2f
movzx ecx, byte [eax + 4]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 5
jmp 0x40ef27
movzx edx, byte [eax + 4]
mov esi, edx
and esi, 0x7f
shl esi, 0x15
or ecx, esi
test dl, dl
js 0x40f19a
add eax, 5
jmp 0x40f1a6
movzx ecx, byte [eax + 4]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 5
jmp 0x40ef68
movzx ecx, byte [eax + 3]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 4
jmp 0x40ef74
movzx edx, byte [eax + 5]
add eax, 6
shl edx, 0x1c
or ecx, edx
mov ebx, eax
mov edx, dword [esp + 8]
add edi, ecx
jmp case.0x40eefe.7
push str.______locals________:_n
push dword [0x4e01a8]
call fcn.00410d00
mov edx, dword [esp + 0xc]
add esp, 8
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40ff3f
cmp dword [edx + 0x10], eax
jbe 0x40ff3f
mov eax, dword [edx + 0xc]
test eax, eax
je 0x40ff3f
mov dword [esp + 8], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov eax, dword [edx + 0x34]
mov ecx, dword [edx + 0x38]
mov edi, edx
mov edx, dword [esp + 0x1c]
movzx edx, word [eax + edx*8 + 2]
lea edx, [edx + edx*2]
mov edx, dword [ecx + edx*4 + 8]
test edx, edx
je 0x40f2fc
mov ebx, dword [esp + 8]
mov esi, dword [ebx + edx]
lea ecx, [edi + 0x2c]
mov dword [esp + 0x48], ecx
test esi, esi
mov ecx, edi
je 0x40f305
lea eax, [edx + ebx]
add eax, 4
mov dword [esp], eax
xor ebx, ebx
jmp 0x40f26d
lea ecx, [esp + 0x30]
lea eax, [esp + 0x20]
push eax
call fcn.00411c20
mov ecx, dword [esp + 4]
add ebx, 1
cmp esi, ebx
je 0x40f2f7
mov eax, dword [esp]
movzx edx, word [eax + ebx*2]
mov eax, 0
cmp edx, 0xffff
je 0x40f2ac
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov edi, dword [eax + edx*4]
mov eax, 0
cmp edi, 0xffffffff
je 0x40f2ac
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x28]
mov ecx, dword [edx + edi*4]
cmp byte [eax + ecx], 0
js 0x40f2ca
add eax, ecx
add eax, 1
mov ecx, dword [esp + 4]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x34]
cmp edx, dword [esp + 0x38]
jae 0x40f250
mov dword [edx], eax
add dword [esp + 0x34], 4
add ebx, 1
cmp esi, ebx
jne 0x40f26d
jmp 0x40f2f7
add eax, ecx
cmp byte [eax + 1], 0
mov ecx, dword [esp + 4]
js 0x40f2db
add eax, 2
jmp 0x40f2ac
cmp byte [eax + 2], 0
js 0x40f2e6
add eax, 3
jmp 0x40f2ac
movzx edx, byte [eax + 3]
shr dl, 7
movzx edx, dl
add eax, edx
add eax, 4
jmp 0x40f2ac
mov eax, dword [ecx + 0x34]
jmp 0x40f305
lea ecx, [edi + 0x2c]
mov dword [esp + 0x48], ecx
mov ecx, edi
mov edx, dword [esp + 0x1c]
movzx eax, word [eax + edx*8]
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx + eax*4]
mov esi, 0
cmp eax, 0xffffffff
je 0x40f335
mov esi, dword [ecx + 0xc]
mov edx, dword [ecx + 0x28]
mov eax, dword [edx + eax*4]
cmp byte [esi + eax], 0
js 0x40ff78
add esi, eax
add esi, 1
mov dword [esp], 0
mov ebx, dword [ebp + 8]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea eax, [esp + 0x20]
push eax
push 1
push dword [esp + 0x24]
call fcn.00414640
mov edx, dword [esp + 0x10]
test edx, edx
je 0x40f396
lea eax, [edx*8]
lea edi, [eax + eax*2]
push edi
call fcn.0046a7f0
add esp, 4
push edi
push 0
mov dword [esp + 8], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0xc]
sub edx, dword [esp + 0x78]
test bl, 8
jne 0x40f3dc
movzx eax, dx
mov ebx, ecx
lea ecx, [eax + eax*2]
mov edi, dword [esp]
mov dword [edi + ecx*8], str.this
mov dword [edi + ecx*8 + 4], esi
mov dword [edi + ecx*8 + 8], 0
mov dword [edi + ecx*8 + 0xc], 0
mov word [edi + ecx*8 + 0x14], ax
mov byte [edi + ecx*8 + 0x16], 1
mov ecx, ebx
add edx, 1
cmp byte [ecx], 0
js 0x40ff47
add ecx, 1
movzx ebx, byte [ecx]
test bl, bl
js 0x40ff55
add ecx, 1
mov eax, dword [esp + 4]
lea edi, [eax + 0x14]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], esi
sub eax, esi
mov esi, eax
sar esi, 2
cmp ebx, esi
jne 0x40f583
test ebx, ebx
mov dword [esp + 0x18], edi
je 0x40f5f7
test eax, eax
je 0x40f5f7
mov eax, dword [esp + 4]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], esi
jmp 0x40f4ae
xor edx, edx
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + eax*4]
lea ebx, [edi + edi*2]
mov ecx, dword [esp]
mov dword [ecx + ebx*8], edx
mov dword [ecx + ebx*8 + 4], esi
mov dword [ecx + ebx*8 + 8], 0
mov dword [ecx + ebx*8 + 0xc], 0
mov word [ecx + ebx*8 + 0x14], di
mov byte [ecx + ebx*8 + 0x16], 1
movzx edx, byte [esi]
cmp dl, 0x44
sete dh
cmp dl, 0x4a
sete dl
or dl, dh
movzx edx, dl
add edx, edi
add edx, 1
add eax, 1
cmp dword [esp + 0x1c], eax
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
je 0x40f5f7
movzx edi, dx
cmp di, word [esp + 0x70]
jae 0x40fd7d
movzx edx, byte [ecx]
test dl, dl
js 0x40f4e6
add ecx, 1
test edx, edx
mov dword [esp + 8], ecx
je 0x40f450
mov ebx, dword [esp + 0x44]
mov edx, dword [ebx + edx*4 - 4]
cmp byte [esi + edx], 0
js 0x40f502
add edx, esi
add edx, 1
jmp 0x40f452
movzx ebx, byte [ecx + 1]
mov esi, edx
and esi, 0x7f
mov edx, ebx
and edx, 0x7f
shl edx, 7
or edx, esi
test bl, bl
js 0x40f512
add ecx, 2
jmp 0x40f56e
add edx, esi
cmp byte [edx + 1], 0
js 0x40f529
add edx, 2
jmp 0x40f452
movzx ebx, byte [ecx + 2]
mov esi, ebx
and esi, 0x7f
shl esi, 0xe
or edx, esi
test bl, bl
js 0x40f537
add ecx, 3
jmp 0x40f56e
cmp byte [edx + 2], 0
js 0x40f54e
add edx, 3
jmp 0x40f452
movzx ebx, byte [ecx + 3]
mov esi, ebx
and esi, 0x7f
shl esi, 0x15
or edx, esi
test bl, bl
js 0x40f562
add ecx, 4
jmp 0x40f56e
movzx ebx, byte [edx + 3]
shr bl, 7
movzx esi, bl
add edx, esi
add edx, 4
jmp 0x40f452
movzx esi, byte [ecx + 4]
add ecx, 5
shl esi, 0x1c
or edx, esi
mov esi, dword [esp + 0xc]
test edx, edx
mov dword [esp + 8], ecx
jne 0x40f4ce
jmp 0x40f450
push 0
push 4
call fcn.0041c270
add esp, 8
test al, al
je 0x40ff06
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
sub esp, 0x14
movaps xmm0, xmmword [0x4c6a00]
movups xmmword [esp + 4], xmm0
mov dword [esp], str.art_libdexfile_dex_dex_file_inl.h
lea ebx, [esp + 0x64]
mov ecx, ebx
call fcn.0041c2d0
mov ecx, ebx
call fcn.0041c2a0
push 0x34
push str.invalid_stream___problem_with_parameter_iterator_in
push eax
call fcn.00404100
add esp, 0xc
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + 0x14]
test cl, 1
je 0x40ffb8
mov ecx, dword [esp + 4]
mov edi, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x18]
jmp 0x40ffbd
mov dword [esp + 0x14], 0
jmp case.0x40f62d.7
add dl, 0xf6
movzx eax, dl
imul eax, eax, 0x89
shr eax, 0xb
add dword [esp + 0x14], eax
nop word cs:[eax + eax]
nop
mov eax, ecx
add ecx, 1
movzx edx, byte [eax]
cmp edx, 9
ja case.default.0x40f62d
jmp dword [edx*4 + 0x4c6c70]
movzx ebx, byte [eax + 1]
test bl, bl
js 0x40f84e
add eax, 2
movzx edi, bx
cmp edi, dword [esp + 0x10]
jae 0x40fd52
mov dword [esp + 0x1c], ebx
movzx ecx, byte [eax]
test cl, cl
js 0x40f871
add eax, 1
movzx ebx, byte [eax]
mov dword [esp + 0xc], ebx
test bl, bl
mov ebx, dword [esp]
mov dword [esp + 0x44], ecx
js 0x40f894
add eax, 1
mov ecx, eax
cmp dl, 4
jne 0x40f8d2
movzx eax, byte [ecx]
test al, al
js 0x40fab4
add ecx, 1
mov dword [esp + 8], ecx
add eax, 0xffffffff
mov dword [esp + 0x58], eax
lea edi, [edi + edi*2]
lea esi, [ebx + edi*8]
cmp byte [ebx + edi*8 + 0x16], 0
jne 0x40f8eb
jmp 0x40f95b
movzx ebx, byte [eax + 1]
test bl, bl
js 0x40fa4b
add eax, 2
mov edi, eax
mov ecx, dword [esp + 0x10]
movzx eax, bx
cmp eax, ecx
jae 0x40fef2
lea esi, [eax + eax*2]
mov ebx, dword [esp]
cmp byte [ebx + esi*8 + 0x16], 0
mov ecx, edi
je case.0x40f62d.7
mov ecx, dword [esp + 0x14]
mov dword [ebx + esi*8 + 0x10], ecx
movzx eax, word [ebx + esi*8 + 0x14]
push dword [ebx + esi*8 + 4]
push dword [ebx + esi*8]
push eax
push ecx
push dword [ebx + esi*8 + 0xc]
push str.________0x_04x___0x_04x_reg_d__s__s
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x1c
cmp dword [ebx + esi*8 + 8], 0
je 0x40f74a
lea eax, [ebx + esi*8]
add eax, 8
mov dword [esp + 8], eax
push dword [0x4e01a8]
push 0x20
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputc
add esp, 8
push dword [0x4e01a8]
mov eax, dword [esp + 0xc]
push dword [eax]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputs
add esp, 8
lea esi, [ebx + esi*8]
add esi, 0x16
push dword [0x4e01a8]
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputc
add esp, 8
mov byte [esi], 0
mov ecx, edi
jmp case.0x40f62d.7
movzx ecx, byte [eax + 1]
test cl, cl
js 0x40fa6e
add eax, 2
add dword [esp + 0x14], ecx
mov ecx, eax
jmp case.0x40f62d.7
lea ecx, [eax + 2]
cmp byte [eax + 1], 0
jns case.0x40f62d.7
lea ecx, [eax + 3]
cmp byte [eax + 2], 0
jns case.0x40f62d.7
lea ecx, [eax + 4]
cmp byte [eax + 3], 0
jns case.0x40f62d.7
cmp byte [ecx], 0
js 0x40f844
add eax, 5
mov ecx, eax
jmp case.0x40f62d.7
movzx ebx, byte [eax + 1]
test bl, bl
js 0x40fa91
add eax, 2
mov esi, eax
mov ecx, dword [esp + 0x10]
movzx eax, bx
cmp eax, ecx
jae 0x40fecb
lea eax, [eax + eax*2]
mov edx, dword [esp]
cmp byte [edx + eax*8 + 0x16], 0
mov ecx, esi
jne case.0x40f62d.7
lea ecx, [edx + eax*8]
add ecx, 0x16
mov edi, dword [esp + 0x14]
mov dword [edx + eax*8 + 0xc], edi
mov byte [ecx], 1
mov ecx, esi
jmp case.0x40f62d.7
lea ecx, [eax + 2]
cmp byte [eax + 1], 0
jns case.0x40f62d.7
lea ecx, [eax + 3]
cmp byte [eax + 2], 0
jns case.0x40f62d.7
lea ecx, [eax + 4]
cmp byte [eax + 3], 0
jns case.0x40f62d.7
movzx ecx, byte [eax + 4]
shr cl, 7
movzx ecx, cl
add ecx, eax
add ecx, 5
jmp case.0x40f62d.7
add eax, 6
mov ecx, eax
jmp case.0x40f62d.7
movzx ecx, byte [eax + 2]
mov esi, ebx
and esi, 0x7f
mov ebx, ecx
and ebx, 0x7f
shl ebx, 7
or ebx, esi
test cl, cl
js 0x40faef
add eax, 3
jmp 0x40f643
movzx ebx, byte [eax + 1]
mov esi, ecx
and esi, 0x7f
mov ecx, ebx
and ecx, 0x7f
shl ecx, 7
or ecx, esi
test bl, bl
js 0x40fb0d
add eax, 2
jmp 0x40f662
movzx esi, byte [eax + 1]
mov dword [esp + 8], esi
mov esi, dword [esp + 0xc]
and esi, 0x7f
mov dword [esp + 0xc], esi
mov esi, dword [esp + 8]
and esi, 0x7f
shl esi, 7
add esi, dword [esp + 0xc]
mov dword [esp + 0xc], esi
cmp byte [esp + 8], 0
js 0x40fb2b
add eax, 2
mov ecx, eax
cmp dl, 4
je 0x40f686
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 8], ecx
lea edi, [edi + edi*2]
lea esi, [ebx + edi*8]
cmp byte [ebx + edi*8 + 0x16], 0
je 0x40f95b
mov ecx, dword [esp + 0x14]
mov dword [ebx + edi*8 + 0x10], ecx
movzx eax, word [ebx + edi*8 + 0x14]
push dword [ebx + edi*8 + 4]
push dword [esi]
push eax
push ecx
push dword [ebx + edi*8 + 0xc]
push str.________0x_04x___0x_04x_reg_d__s__s
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x1c
cmp dword [ebx + edi*8 + 8], 0
je 0x40f94b
mov eax, dword [esp]
lea ebx, [eax + edi*8]
add ebx, 8
push dword [0x4e01a8]
push 0x20
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputc
add esp, 8
push dword [0x4e01a8]
push dword [ebx]
mov ebx, dword [esp + 8]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputs
add esp, 8
push dword [0x4e01a8]
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputc
add esp, 8
mov dword [esp + 0x60], esi
add dword [esp + 0xc], 0xffff
xor eax, eax
mov ecx, 0
mov esi, dword [esp + 0x44]
test esi, esi
mov edx, dword [esp + 4]
je 0x40f997
mov ecx, dword [edx + 0xc]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + esi*4 - 4]
cmp byte [ecx + edx], 0
js 0x40fa26
add ecx, edx
add ecx, 1
mov edx, dword [esp + 4]
mov esi, dword [esp + 0x60]
mov dword [esi], ecx
mov ecx, dword [esp + 0xc]
cmp cx, 0xffff
je 0x40f9d8
movzx ecx, cx
mov edx, dword [esp + 0x48]
mov edx, dword [edx]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 4]
cmp ecx, 0xffffffff
je 0x40f9d8
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 0x28]
mov ecx, dword [edx + ecx*4]
cmp byte [eax + ecx], 0
js 0x40fadb
add eax, ecx
add eax, 1
mov edx, dword [esp + 4]
mov dword [ebx + edi*8 + 4], eax
mov eax, dword [esp + 0x58]
cmp eax, 0xffffffff
je 0x40f9fd
mov esi, eax
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x28]
mov ecx, dword [ecx + esi*4]
cmp byte [eax + ecx], 0
js 0x40fa3a
add eax, ecx
add eax, 1
jmp 0x40f9ff
xor eax, eax
mov ecx, dword [esp + 8]
mov dword [ebx + edi*8 + 8], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + edi*8 + 0xc], eax
mov eax, dword [esp + 0x1c]
mov word [ebx + edi*8 + 0x14], ax
lea eax, [ebx + edi*8]
add eax, 0x16
mov byte [eax], 1
jmp case.0x40f62d.7
add ecx, edx
cmp byte [ecx + 1], 0
js 0x40fb56
add ecx, 2
jmp 0x40f993
add eax, ecx
cmp byte [eax + 1], 0
js 0x40fb68
add eax, 2
jmp 0x40f9ff
movzx ecx, byte [eax + 2]
mov edx, ebx
and edx, 0x7f
mov ebx, ecx
and ebx, 0x7f
shl ebx, 7
or ebx, edx
test cl, cl
js 0x40fb7a
add eax, 3
jmp 0x40f6c4
movzx edx, byte [eax + 2]
mov esi, ecx
and esi, 0x7f
mov ecx, edx
and ecx, 0x7f
shl ecx, 7
or ecx, esi
test dl, dl
js 0x40fb98
add eax, 3
jmp 0x40f779
movzx ecx, byte [eax + 2]
mov edx, ebx
and edx, 0x7f
mov ebx, ecx
and ebx, 0x7f
shl ebx, 7
or ebx, edx
test cl, cl
js 0x40fbb6
add eax, 3
jmp 0x40f7cd
mov esi, eax
movzx eax, byte [ecx + 1]
mov edx, ecx
mov ecx, esi
and ecx, 0x7f
mov esi, eax
and esi, 0x7f
shl esi, 7
or esi, ecx
test al, al
js 0x40fbd4
add edx, 2
jmp 0x40fbed
add eax, ecx
cmp byte [eax + 1], 0
js 0x40fbf6
add eax, 2
jmp 0x40f9d4
movzx ecx, byte [eax + 3]
mov esi, ecx
and esi, 0x7f
shl esi, 0xe
or ebx, esi
test cl, cl
js 0x40fc08
add eax, 4
jmp 0x40f643
movzx ebx, byte [eax + 2]
mov esi, ebx
and esi, 0x7f
shl esi, 0xe
or ecx, esi
test bl, bl
js 0x40fc1c
add eax, 3
jmp 0x40f662
movzx ecx, byte [eax + 2]
mov esi, ecx
and esi, 0x7f
shl esi, 0xe
add dword [esp + 0xc], esi
test cl, cl
js 0x40fc3a
add eax, 3
mov ecx, eax
cmp dl, 4
jne 0x40f8d2
jmp 0x40f686
cmp byte [ecx + 2], 0
js 0x40fc57
add ecx, 3
jmp 0x40f993
cmp byte [eax + 2], 0
js 0x40fc6b
add eax, 3
jmp 0x40f9ff
movzx ecx, byte [eax + 3]
mov edx, ecx
and edx, 0x7f
shl edx, 0xe
or ebx, edx
test cl, cl
js 0x40fc7f
add eax, 4
jmp 0x40f6c4
movzx edx, byte [eax + 3]
mov esi, edx
and esi, 0x7f
shl esi, 0xe
or ecx, esi
test dl, dl
js 0x40fca3
add eax, 4
jmp 0x40f779
movzx ecx, byte [eax + 3]
mov edx, ecx
and edx, 0x7f
shl edx, 0xe
or ebx, edx
test cl, cl
js 0x40fcbd
add eax, 4
jmp 0x40f7cd
movzx eax, byte [edx + 2]
mov ecx, eax
and ecx, 0x7f
shl ecx, 0xe
or esi, ecx
test al, al
js 0x40fce1
add edx, 3
mov ecx, edx
mov eax, esi
jmp 0x40f694
cmp byte [eax + 2], 0
js 0x40fd04
add eax, 3
jmp 0x40f9d4
movzx ecx, byte [eax + 4]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 5
jmp 0x40f643
movzx ebx, byte [eax + 3]
mov esi, ebx
and esi, 0x7f
shl esi, 0x15
or ecx, esi
test bl, bl
js 0x40fd18
add eax, 4
jmp 0x40f662
movzx ecx, byte [eax + 3]
shr cl, 7
movzx ecx, cl
add ecx, eax
add ecx, 4
cmp dl, 4
jne 0x40f8d2
jmp 0x40f686
movzx edx, byte [ecx + 3]
shr dl, 7
movzx edx, dl
add ecx, edx
add ecx, 4
jmp 0x40f993
movzx ecx, byte [eax + 3]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 4
jmp 0x40f9ff
movzx ecx, byte [eax + 4]
shr cl, 7
movzx ecx, cl
lea edi, [ecx + eax]
add edi, 5
mov ecx, dword [esp + 0x10]
movzx eax, bx
cmp eax, ecx
jb 0x40f6d5
jmp 0x40fef2
movzx edx, byte [eax + 4]
mov esi, edx
and esi, 0x7f
shl esi, 0x15
or ecx, esi
test dl, dl
js 0x40fd29
add eax, 5
jmp 0x40f779
movzx ecx, byte [eax + 4]
shr cl, 7
movzx ecx, cl
lea esi, [ecx + eax]
add esi, 5
mov ecx, dword [esp + 0x10]
movzx eax, bx
cmp eax, ecx
jb 0x40f7de
jmp 0x40fecb
mov ebx, edx
movzx eax, byte [edx + 3]
mov ecx, eax
and ecx, 0x7f
shl ecx, 0x15
or esi, ecx
test al, al
js 0x40fd3a
mov ecx, ebx
add ecx, 4
mov ebx, dword [esp]
mov eax, esi
jmp 0x40f694
movzx ecx, byte [eax + 3]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 4
jmp 0x40f9d4
movzx esi, byte [eax + 4]
add eax, 5
shl esi, 0x1c
or ecx, esi
jmp 0x40f662
movzx edx, byte [eax + 5]
add eax, 6
shl edx, 0x1c
or ecx, edx
jmp 0x40f779
mov ecx, ebx
movzx eax, byte [ebx + 4]
add ecx, 5
shl eax, 0x1c
or esi, eax
mov eax, esi
mov ebx, dword [esp]
jmp 0x40f694
push 0
push 4
call fcn.0041c270
add esp, 8
test al, al
je 0x40ff06
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
sub esp, 0x14
movaps xmm0, xmmword [0x4c6a40]
jmp 0x410062
push 0
push 4
call fcn.0041c270
add esp, 8
test al, al
je 0x40ff06
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
sub esp, 0x14
movaps xmm0, xmmword [0x4c6a10]
movups xmmword [esp + 4], xmm0
mov dword [esp], str.art_libdexfile_dex_dex_file_inl.h
lea ebx, [esp + 0x64]
mov ecx, ebx
call fcn.0041c2d0
mov ecx, ebx
call fcn.0041c2a0
push 0x26
push str.invalid_stream___arg_reg___reg_size__
push eax
call fcn.00404100
add esp, 0xc
mov ecx, eax
push edi
call fcn.00427450
push 4
push 0x4c827a
push eax
call fcn.00404100
add esp, 0xc
mov ecx, eax
push dword [esp + 0x10]
call fcn.00427450
push 5
push str.__in
push eax
call fcn.00404100
add esp, 0xc
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + 0x14]
test cl, 1
je 0x4100fc
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x18], edx
mov ecx, dword [ecx + 0x18]
jmp 0x410103
cmp word [esp + 0x70], 0
je 0x40ff06
movzx esi, word [esp + 0x54]
mov eax, dword [esp + 0x10]
shl eax, 3
lea eax, [eax + eax*2]
mov dword [esp + 4], eax
xor ebx, ebx
mov edi, dword [esp]
jmp 0x40fe6d
push dword [0x4e01a8]
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputc
add esp, 8
add ebx, 0x18
cmp dword [esp + 4], ebx
je 0x40ff0c
mov eax, dword [esp]
cmp byte [eax + ebx + 0x16], 0
je 0x40fe60
mov dword [edi + ebx + 0x10], esi
movzx eax, word [edi + ebx + 0x14]
push dword [edi + ebx + 4]
push dword [edi + ebx]
push eax
push esi
push dword [edi + ebx + 0xc]
push str.________0x_04x___0x_04x_reg_d__s__s
push dword [0x4e01a8]
call fcn.00410d00
add esp, 0x1c
cmp dword [edi + ebx + 8], 0
je 0x40fe50
push dword [0x4e01a8]
push 0x20
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputc
add esp, 8
push dword [0x4e01a8]
push dword [edi + ebx + 8]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fputs
add esp, 8
jmp 0x40fe50
push 0
push 4
call fcn.0041c270
add esp, 8
test al, al
je 0x40ff06
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
sub esp, 0x14
movaps xmm0, xmmword [0x4c6a20]
jmp 0x410062
push 0
push 4
call fcn.0041c270
add esp, 8
test al, al
jne 0x410050
cmp dword [esp], 0
je 0x40ff17
push dword [esp]
call fcn.0046a990
add esp, 4
test byte [esp + 0x20], 1
je 0x40ff2a
push dword [esp + 0x28]
call fcn.0046a990
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x40ff3f
mov dword [esp + 0x34], eax
push eax
call fcn.0046a990
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [ecx + 1], 0
js 0x40ff88
add ecx, 2
jmp 0x40f3e8
movzx eax, byte [ecx + 1]
mov edi, ecx
mov ecx, ebx
and ecx, 0x7f
mov ebx, eax
and ebx, 0x7f
shl ebx, 7
or ebx, ecx
test al, al
js 0x40ff9a
add edi, 2
mov ecx, edi
jmp 0x40f3f6
add esi, eax
cmp byte [esi + 1], 0
js 0x40fff9
add esi, 2
jmp 0x40f335
mov eax, ecx
cmp byte [ecx + 2], 0
js 0x410004
mov ecx, eax
add ecx, 3
jmp 0x40f3e8
mov esi, edi
movzx eax, byte [edi + 2]
mov ecx, eax
and ecx, 0x7f
shl ecx, 0xe
or ebx, ecx
test al, al
js 0x410019
mov ecx, esi
add ecx, 3
jmp 0x40f3f6
add edi, 1
shr ecx, 1
push ecx
push edi
push eax
call fcn.00404100
add esp, 0xc
push 0xc
push str._for_method
push eax
call fcn.00404100
add esp, 0xc
movzx ecx, byte [esp + 0x20]
test cl, 1
je 0x40ffec
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
jmp 0x40fff2
shr ecx, 1
lea edx, [esp + 0x21]
push ecx
push edx
jmp 0x410108
cmp byte [esi + 2], 0
js 0x410039
add esi, 3
jmp 0x410047
mov ecx, eax
mov al, byte [eax + 3]
shr al, 7
movzx eax, al
add ecx, eax
add ecx, 4
jmp 0x40f3e8
movzx eax, byte [esi + 3]
mov ecx, eax
and ecx, 0x7f
shl ecx, 0x15
or ebx, ecx
test al, al
js 0x41012f
mov ecx, esi
add ecx, 4
jmp 0x40f3f6
mov al, byte [esi + 3]
shr al, 7
movzx eax, al
add esi, eax
add esi, 4
mov ecx, dword [esp + 4]
jmp 0x40f335
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
sub esp, 0x14
movaps xmm0, xmmword [0x4c6a30]
movups xmmword [esp + 4], xmm0
mov dword [esp], str.art_libdexfile_dex_dex_file_inl.h
lea edi, [esp + 0x64]
mov ecx, edi
call fcn.0041c2d0
mov ecx, edi
call fcn.0041c2a0
push 0x22
push str.invalid_stream___reg___reg_size__
push eax
call fcn.00404100
add esp, 0xc
movzx edx, bx
mov ecx, eax
push edx
call fcn.00427450
push 4
push 0x4c827a
push eax
call fcn.00404100
add esp, 0xc
mov ecx, eax
push dword [esp + 0x10]
call fcn.00427450
push 5
push str.__in
push eax
call fcn.00404100
add esp, 0xc
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + 0x14]
test cl, 1
je 0x4100e3
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x18], edx
mov ecx, dword [ecx + 0x18]
jmp 0x4100ea
add dword [esp + 0x18], 1
shr ecx, 1
push ecx
push dword [esp + 0x1c]
push eax
call fcn.00404100
add esp, 0xc
mov ecx, edi
jmp 0x410113
add dword [esp + 0x18], 1
shr ecx, 1
push ecx
push dword [esp + 0x1c]
push eax
call fcn.00404100
add esp, 0xc
mov ecx, ebx
call fcn.0041c3a0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], esi
cmp dword [esp], 0
jne 0x40ff0c
jmp 0x40ff17
mov ecx, esi
movzx eax, byte [esi + 4]
add ecx, 5
shl eax, 0x1c
or ebx, eax
jmp 0x40f3f6
push 0
push 6
call fcn.0041c270
add esp, 8
test al, al
jne 0x410217
push 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
push 0
push 6
call fcn.0041c270
add esp, 8
test al, al
je 0x410156
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov eax, dword [eax]
mov dword [esp + 4], eax
sub esp, 0x14
movaps xmm0, xmmword [0x4c69d0]
movups xmmword [esp + 4], xmm0
mov dword [esp], str.art_libdexfile_dex_dex_instruction_inl.h
lea esi, [esp + 0x44]
jmp 0x4101cb
push 0
push 6
call fcn.0041c270
add esp, 8
test al, al
je 0x410156
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov eax, dword [eax]
mov dword [esp + 4], eax
sub esp, 0x14
movaps xmm0, xmmword [0x4c69d0]
movups xmmword [esp + 4], xmm0
mov dword [esp], str.art_libdexfile_dex_dex_instruction_inl.h
lea esi, [esp + 0x64]
mov ecx, esi
call fcn.0041c2d0
mov ecx, esi
call fcn.0041c2a0
push 0x22
push str.Tried_to_access_vA_of_instruction
push eax
call fcn.00404100
add esp, 0xc
mov ebx, eax
mov eax, dword [esp]
movzx eax, byte [eax]
mov ecx, dword [0x4c865c]
mov edi, dword [ecx + eax*4]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
push eax
push edi
push ebx
call fcn.00404100
add esp, 0xc
push 0x18
push str._which_has_no_A_operand.
jmp 0x410287
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov eax, dword [eax]
mov dword [esp + 4], eax
sub esp, 0x14
movaps xmm0, xmmword [0x4c69e0]
movups xmmword [esp + 4], xmm0
mov dword [esp], str.art_libdexfile_dex_dex_instruction_inl.h
lea esi, [esp + 0x44]
mov ecx, esi
call fcn.0041c2d0
mov ecx, esi
call fcn.0041c2a0
push 0x22
push str.Tried_to_access_vC_of_instruction
push eax
call fcn.00404100
add esp, 0xc
mov ebx, eax
mov eax, dword [esp]
movzx eax, byte [eax]
mov ecx, dword [0x4c865c]
mov edi, dword [ecx + eax*4]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
push eax
push edi
push ebx
call fcn.00404100
add esp, 0xc
push 0x18
push str._which_has_no_C_operand.
push eax
call fcn.00404100
add esp, 0xc
mov ecx, esi
call fcn.0041c3a0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [esp + 4]
mov dword [eax], ecx
push 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop word [eax + eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x70
mov dword [esp + 0xc], edx
mov dword [esp + 0x44], ecx
mov esi, dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.0046a8e0
add esp, 4
mov dword [esp + 0x10], eax
movzx eax, byte [esi]
mov edi, dword [0x4c61fc]
mov cl, byte [edi + eax*8 + 4]
xor ebx, ebx
add cl, 0xf6
mov edx, 4
cmp cl, 0xe
ja case.default.0x4102fd
movzx ecx, cl
mov dword [esp + 4], 0
jmp dword [ecx*4 + 0x4c6c98]
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx + 2]
mov dword [esp + 4], ecx
jmp case.0x4102fd.245
mov esi, dword [ebp + 8]
movzx eax, word [esi + 2]
mov dword [esp + 4], eax
mov ecx, esi
call fcn.00411b20
mov edx, 4
movzx ebx, ax
movzx eax, byte [esi]
jmp case.0x4102fd.245
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 2]
mov dword [esp + 4], ecx
mov edx, 8
jmp case.0x4102fd.245
mov dword [esp + 4], 0
movzx eax, byte [edi + eax*8 + 5]
cmp eax, 0xb
mov edi, dword [esp + 0xc]
mov esi, dword [ebp + 0xc]
ja case.default.0x41035e
jmp dword [eax*4 + 0x4c6cd4]
push str._unknown_index_
jmp 0x410371
push str._no_index_
push esi
push dword [esp + 0x18]
call fcn.00411bf0
add esp, 0xc
jmp 0x4107f3
mov eax, dword [edi + 0x24]
mov ebx, dword [esp + 4]
cmp ebx, dword [eax + 0x40]
jae 0x4107bb
xor eax, eax
cmp bx, 0xffff
je 0x4103cd
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x14], edx
movzx edx, bx
mov ecx, dword [ecx + edx*4]
mov edx, dword [esp + 0x14]
cmp ecx, 0xffffffff
je 0x4103cd
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x28]
mov ecx, dword [edx + ecx*4]
cmp byte [eax + ecx], 0
js 0x410a70
add eax, ecx
add eax, 1
mov edx, dword [esp + 0x14]
push ebx
push edx
push eax
push str._s____type__0x
jmp 0x410858
mov eax, dword [edi + 0x24]
mov ebx, dword [esp + 4]
cmp ebx, dword [eax + 0x38]
jae 0x4107c4
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 0x28]
mov eax, dword [eax + ebx*4]
cmp byte [esi + eax], 0
mov dword [esp + 0x14], edx
js 0x410a18
add esi, eax
add esi, 1
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
je 0x41084a
add eax, 0xffffffff
xor ecx, ecx
nop dword [eax]
movzx edx, byte [esi + ecx]
movzx edx, byte [edx + 0x4c6d40]
cmp dl, 1
jne 0x410439
lea edi, [ecx + 1]
cmp eax, ecx
mov ecx, edi
jne 0x410420
cmp dl, 1
mov edi, dword [esp + 0xc]
je 0x41084a
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x64], esi
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [esp + 0x68], eax
sub esp, 0xc
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x24]
mov dword [esp], eax
call fcn.004052e0
add esp, 0xc
test byte [esp + 0x18], 1
je 0x4109da
mov eax, dword [esp + 0x20]
jmp 0x4109de
mov eax, dword [edi + 0x24]
mov ebx, dword [esp + 4]
cmp ebx, dword [eax + 0x58]
jae 0x4107cd
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + ebx*8 + 4]
mov dword [esp + 8], 0
mov esi, 0
cmp ecx, 0xffffffff
mov dword [esp + 0x14], edx
je 0x4104e6
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 0x28]
mov ecx, dword [edx + ecx*4]
cmp byte [esi + ecx], 0
js 0x410a2c
add esi, ecx
add esi, 1
movzx ecx, word [eax + ebx*8 + 2]
lea ecx, [ecx + ecx*2]
shl ecx, 2
add ecx, dword [edi + 0x38]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edi
movzx eax, word [eax + ebx*8]
cmp eax, 0xffff
je 0x41052e
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + eax*4]
cmp eax, 0xffffffff
je 0x41052e
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 0x28]
mov eax, dword [ecx + eax*4]
cmp byte [edx + eax], 0
js 0x410a84
add edx, eax
add edx, 1
mov dword [esp + 8], edx
lea eax, [esp + 0x28]
lea ecx, [esp + 0x18]
push eax
call fcn.00419960
test byte [esp + 0x18], 1
je 0x410867
mov eax, dword [esp + 0x20]
jmp 0x41086b
mov eax, dword [edi + 0x24]
mov ebx, dword [esp + 4]
cmp ebx, dword [eax + 0x50]
jae 0x4107d6
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0x30]
mov esi, dword [edx + ebx*8 + 4]
xor eax, eax
mov ecx, 0
cmp esi, 0xffffffff
je 0x410593
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 0x28]
mov esi, dword [edi + esi*4]
cmp byte [ecx + esi], 0
js 0x410a40
add ecx, esi
add ecx, 1
mov edi, dword [esp + 0xc]
movzx esi, word [edx + ebx*8 + 2]
cmp esi, 0xffff
je 0x4105cf
mov eax, dword [edi + 0x2c]
mov esi, dword [eax + esi*4]
xor eax, eax
cmp esi, 0xffffffff
je 0x4105cf
mov dword [esp + 8], ecx
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x28]
mov esi, dword [eax + esi*4]
mov eax, ecx
cmp byte [ecx + esi], 0
js 0x410a9e
add eax, esi
add eax, 1
mov ecx, dword [esp + 8]
movzx esi, word [edx + ebx*8]
xor edx, edx
cmp esi, 0xffff
je 0x41060c
mov dword [esp + 8], eax
mov eax, dword [edi + 0x2c]
mov esi, dword [eax + esi*4]
mov eax, dword [esp + 8]
cmp esi, 0xffffffff
je 0x41060c
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x28]
mov esi, dword [eax + esi*4]
cmp byte [edx + esi], 0
js 0x410ab6
add edx, esi
add edx, 1
mov eax, dword [esp + 8]
push ebx
push dword [esp + 0x18]
push eax
push ecx
push edx
push str._s._s:_s____field__0x
mov esi, dword [ebp + 0xc]
push esi
push dword [esp + 0x2c]
call fcn.00411bf0
add esp, 0x20
jmp 0x4107f3
push dword [esp + 4]
push edx
push str._obj_0x_
jmp 0x4107e6
mov eax, dword [esp + 4]
push eax
push edx
push eax
push edx
push str.__0x_____vtable__0x
push esi
push dword [esp + 0x28]
call fcn.00411bf0
add esp, 0x1c
jmp 0x4107f3
mov dword [esp + 0x20], 0
mov byte [esp + 0x18], 0x12
mov dword [esp + 0x19], 0x74656d3c
mov dword [esp + 0x1d], 0x3f646f68
mov byte [esp + 0x21], 0x3e
mov dword [esp + 0x30], 0
mov byte [esp + 0x28], 0x10
mov dword [esp + 0x29], 0x6f72703c
mov dword [esp + 0x2d], 0x3e3f6f74
mov eax, dword [edi + 0x24]
mov ecx, dword [esp + 4]
cmp ecx, dword [eax + 0x58]
mov dword [esp + 0x14], edx
jae 0x410929
mov eax, dword [edi + 0x34]
mov ecx, dword [esp + 4]
mov dword [esp + 0x54], eax
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 8], 0
mov eax, 0
cmp ecx, 0xffffffff
je 0x4106e8
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x28]
mov ecx, dword [edx + ecx*4]
cmp byte [eax + ecx], 0
js 0x410a58
add eax, ecx
add eax, 1
mov dword [esp + 0x58], eax
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 4]
movzx ecx, word [edi + eax*8 + 2]
lea ecx, [ecx + ecx*2]
shl ecx, 2
mov eax, dword [esp + 0xc]
add ecx, dword [eax + 0x38]
mov dword [esp + 0x60], ecx
mov ecx, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 4]
movzx eax, word [edi + eax*8]
cmp eax, 0xffff
je 0x4108a7
mov edi, ecx
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
cmp eax, 0xffffffff
je 0x4108a9
mov ecx, dword [edi + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [edi + 0x28]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
cmp byte [ecx + eax], 0
js 0x410aca
add ecx, eax
add ecx, 1
mov dword [esp + 8], ecx
jmp 0x4108a9
push dword [esp + 4]
push edx
push str.call_site__0x
jmp 0x4107e6
push dword [esp + 4]
push edx
push str.method_handle__0x
jmp 0x4107e6
mov eax, dword [edi + 0x24]
mov ebx, dword [esp + 4]
cmp ebx, dword [eax + 0x48]
jae 0x4107df
mov dword [esp + 0x14], edx
movzx eax, bx
lea eax, [eax + eax*2]
shl eax, 2
add eax, dword [edi + 0x38]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edi
lea eax, [esp + 0x28]
lea ecx, [esp + 0x18]
push eax
call fcn.00419960
test byte [esp + 0x18], 1
je 0x410892
mov eax, dword [esp + 0x20]
jmp 0x410896
push ebx
push edx
push str._type______type__0x
jmp 0x4107e6
push ebx
push edx
push str._string______string__0x
jmp 0x4107e6
push ebx
push edx
push str._method______method__0x
jmp 0x4107e6
push ebx
push edx
push str._field______field__0x
jmp 0x4107e6
push ebx
push edx
push str._______proto__0x
push esi
push dword [esp + 0x20]
call fcn.00411bf0
add esp, 0x14
mov ebx, eax
test ebx, ebx
je case.default.0x41035e
cmp ebx, esi
jae 0x410821
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov dword [ecx], eax
jmp 0x410842
push 0x4c8082
push esi
push dword [esp + 0x18]
call fcn.00411bf0
add esp, 0xc
mov ebx, eax
cmp ebx, esi
jb 0x4107fd
add ebx, 1
mov ecx, dword [esp + 0x44]
mov edx, edi
push ebx
push dword [ebp + 8]
call 0x4102b0
add esp, 8
push dword [esp + 0x10]
call fcn.0046a9c0
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebx
push dword [esp + 0x18]
push esi
push str.__s_____string__0x
mov esi, dword [ebp + 0xc]
push esi
push dword [esp + 0x24]
call fcn.00411bf0
add esp, 0x18
jmp 0x4107f3
lea eax, [esp + 0x19]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 8]
push ebx
push ecx
push eax
push esi
push edx
push str._s._s:_s____method__0x
mov esi, dword [ebp + 0xc]
push esi
push dword [esp + 0x2c]
call fcn.00411bf0
add esp, 0x20
jmp 0x4109fa
lea eax, [esp + 0x19]
mov ecx, dword [esp + 0x14]
push ebx
push ecx
push eax
push str._s____proto__0x
jmp 0x4109ed
mov edi, ecx
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x48]
push eax
call fcn.00419960
test byte [esp + 0x48], 1
je 0x4108c4
mov eax, dword [esp + 0x50]
jmp 0x4108c8
lea eax, [esp + 0x49]
lea ecx, [esp + 0x38]
push eax
push dword [esp + 0x5c]
push dword [esp + 0x10]
push str._s._s:_s
push ecx
call fcn.0041c950
add esp, 0x14
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
test byte [esp + 0x48], 1
je 0x410922
push dword [esp + 0x50]
call fcn.0046a990
add esp, 4
mov eax, dword [edi + 0x24]
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x19]
mov ecx, ebx
cmp dword [eax + 0x48], ebx
jbe 0x410989
lea eax, [ecx + ecx*2]
shl eax, 2
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x38]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
lea eax, [esp + 0x48]
lea ecx, [esp + 0x38]
push eax
call fcn.00419960
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x28], xmm0
test byte [esp + 0x18], 1
je 0x410976
mov edi, dword [esp + 0x20]
test byte [esp + 0x28], 1
mov edx, dword [esp + 0x14]
mov ecx, ebx
mov ebx, dword [esp + 4]
je 0x410998
jmp 0x41099c
test byte [esp + 0x18], 1
je 0x410994
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 4]
lea eax, [esp + 0x29]
push ecx
push edx
push ebx
push edx
push eax
push edi
push str._s___s____method__0x__proto__0x
push esi
push dword [esp + 0x30]
call fcn.00411bf0
add esp, 0x24
mov ebx, eax
test byte [esp + 0x28], 1
je 0x4109c9
push dword [esp + 0x30]
call fcn.0046a990
add esp, 4
test byte [esp + 0x18], 1
mov edi, dword [esp + 0xc]
je 0x4107f5
jmp 0x410a07
lea eax, [esp + 0x19]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
push ebx
push ecx
push eax
push str.__s_____string__0x
push esi
push dword [esp + 0x24]
call fcn.00411bf0
add esp, 0x18
mov ebx, eax
test byte [esp + 0x18], 1
je 0x4107f5
push dword [esp + 0x20]
call fcn.0046a990
add esp, 4
jmp 0x4107f5
add esi, eax
cmp byte [esi + 1], 0
js 0x410ae4
add esi, 2
jmp 0x410ba6
add esi, ecx
cmp byte [esi + 1], 0
js 0x410af6
add esi, 2
jmp 0x410bc1
add ecx, esi
mov eax, ecx
cmp byte [ecx + 1], 0
js 0x410b08
mov ecx, eax
add ecx, 2
jmp 0x410bde
add eax, ecx
mov ecx, eax
cmp byte [eax + 1], 0
js 0x410b1c
mov eax, ecx
add eax, 2
jmp 0x410c0e
add eax, ecx
cmp byte [eax + 1], 0
js 0x410b30
add eax, 2
jmp 0x410c24
add edx, eax
mov dword [esp + 8], edx
cmp byte [edx + 1], 0
js 0x410b42
add dword [esp + 8], 2
jmp 0x410c4e
add eax, esi
mov esi, eax
cmp byte [eax + 1], 0
js 0x410b5a
mov eax, esi
add eax, 2
jmp 0x410c69
add edx, esi
cmp byte [edx + 1], 0
js 0x410b6e
add edx, 2
jmp 0x410c84
add ecx, eax
mov dword [esp + 8], ecx
cmp byte [ecx + 1], 0
js 0x410b80
add dword [esp + 8], 2
jmp 0x410ca7
cmp byte [esi + 2], 0
js 0x410b98
add esi, 3
jmp 0x410ba6
cmp byte [esi + 2], 0
js 0x410bb3
add esi, 3
jmp 0x410bc1
cmp byte [eax + 2], 0
js 0x410bce
mov ecx, eax
add ecx, 3
jmp 0x410bde
cmp byte [ecx + 2], 0
js 0x410bfe
mov eax, ecx
add eax, 3
jmp 0x410c0e
cmp byte [eax + 2], 0
js 0x410c16
add eax, 3
jmp 0x410c24
mov eax, dword [esp + 8]
cmp byte [eax + 2], 0
js 0x410c38
add dword [esp + 8], 3
jmp 0x410c4e
cmp byte [esi + 2], 0
js 0x410c5b
mov eax, esi
add eax, 3
jmp 0x410c69
cmp byte [edx + 2], 0
js 0x410c76
add edx, 3
jmp 0x410c84
mov eax, dword [esp + 8]
cmp byte [eax + 2], 0
js 0x410c91
add dword [esp + 8], 3
jmp 0x410ca7
mov al, byte [esi + 3]
shr al, 7
movzx eax, al
add esi, eax
add esi, 4
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
jmp 0x410406
mov cl, byte [esi + 3]
shr cl, 7
movzx ecx, cl
add esi, ecx
add esi, 4
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
jmp 0x4104e6
mov ecx, eax
mov al, byte [eax + 3]
shr al, 7
movzx eax, al
add ecx, eax
add ecx, 4
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
xor eax, eax
movzx esi, word [edx + ebx*8 + 2]
cmp esi, 0xffff
jne 0x4105a0
jmp 0x4105cf
mov eax, ecx
mov cl, byte [ecx + 3]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 4
mov esi, dword [ebp + 0xc]
jmp 0x4106e8
mov cl, byte [eax + 3]
shr cl, 7
movzx ecx, cl
add eax, ecx
add eax, 4
mov edi, dword [esp + 0xc]
mov esi, dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 4]
jmp 0x4103cd
mov ecx, dword [esp + 8]
mov al, byte [ecx + 3]
shr al, 7
movzx eax, al
add ecx, eax
add ecx, 4
mov dword [esp + 8], ecx
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
jmp 0x41052e
mov al, byte [esi + 3]
shr al, 7
movzx eax, al
add eax, esi
add eax, 4
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
jmp 0x4105cb
mov al, byte [edx + 3]
shr al, 7
movzx eax, al
add edx, eax
add edx, 4
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
jmp 0x410608
mov ecx, dword [esp + 8]
mov al, byte [ecx + 3]
shr al, 7
movzx eax, al
add ecx, eax
add ecx, 4
mov dword [esp + 8], ecx
mov edi, dword [esp + 0xc]
mov esi, dword [ebp + 0xc]
jmp 0x4108a9