Function at 0x46470c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x4a310e
call fcn.0049b0e0
sub esp, 0x194
push ebx
push esi
mov esi, ecx
mov eax, 0x4000
push edi
mov dword [ebp - 0x28], esi
mov ecx, dword [esi + 4]
mov dword [ebp - 0x10], esp
cmp ecx, eax
jae 0x464751
xor edi, edi
push eax
mov dword [esi + 8], edi
mov ecx, esi
mov dword [esi + 0xc], edi
call fcn.00462587
cmp dword [esi], edi
jne 0x464751
mov eax, 0x8007000e
jmp 0x4655b4
and byte [esi + 0x20], 0
and byte [ebp - 0x13], 0
xor edi, edi
cmp byte [esi + 0x85], 0
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
je 0x464b72
cmp byte [esi + 0x86], 0
je 0x464b72
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
add eax, 4
adc ecx, edi
push ecx
push eax
push dword [esi + 0x68]
mov ecx, esi
call fcn.00461e28
mov eax, dword [esi + 0x24]
and byte [esi + 0x22], 0
cmp eax, 0x6064b50
jne 0x46490b
mov ecx, esi
mov byte [esi + 0x79], 1
call fcn.004628ee
mov edi, edx
mov ebx, eax
test edi, edi
ja 0x4647d8
jb 0x4649ef
cmp ebx, 0x2c
jb 0x4649ef
cmp edi, 0x40000000
jb 0x4647ee
ja 0x4649ef
test ebx, ebx
jae 0x4649ef
lea eax, [ebp - 0x1a0]
push 0x2c
push eax
mov ecx, esi
call fcn.00462867
push 0x30
lea eax, [ebp - 0xfc]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0xfc], 0
add esp, 0xc
lea eax, [ebp - 0x1a0]
lea ecx, [ebp - 0xfc]
push eax
call fcn.00461c5d
cmp dword [ebp - 0xf4], 0
jne 0x4649ef
cmp dword [ebp - 0xf0], 0
jne 0x4649ef
mov eax, dword [ebp - 0xec]
or eax, dword [ebp - 0xe8]
jne 0x4649ef
mov eax, dword [ebp - 0xe4]
or eax, dword [ebp - 0xe0]
jne 0x4649ef
mov eax, dword [ebp - 0xdc]
or eax, dword [ebp - 0xd8]
jne 0x4649ef
mov eax, dword [ebp - 0xd4]
or eax, dword [ebp - 0xd0]
jne 0x4649ef
sub ebx, 0x2c
push 0
sbb edi, 0
mov ecx, esi
push edi
push ebx
call fcn.00462951
test eax, eax
jne 0x4655b4
mov ecx, esi
call fcn.00462906
cmp dword [esi + 0x24], 0x7064b50
jne 0x4649ef
lea eax, [ebp - 0x9c]
push 0x10
push eax
mov ecx, esi
call fcn.00462867
cmp dword [ebp - 0x9c], 0
jne 0x4649ef
cmp dword [ebp - 0x90], 0
jne 0x4649ef
mov eax, dword [ebp - 0x98]
or eax, dword [ebp - 0x94]
jne 0x4649ef
mov ecx, esi
call fcn.00462906
mov eax, dword [esi + 0x24]
cmp eax, 0x6054b50
je 0x464912
jmp 0x4649ef
cmp eax, 0x6054b50
jne 0x46497d
lea eax, [ebp - 0x9c]
push 0x12
push eax
mov ecx, esi
call fcn.00462867
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0x88]
push eax
call fcn.00461bd6
lea ecx, [ebp - 0x88]
call fcn.004621ed
test al, al
je 0x4649ef
push dword [esi + 0x4c]
mov eax, dword [esi + 0x40]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x44]
push dword [esi + 0x48]
mov ecx, esi
mov dword [esi + 0x3c], eax
mov byte [esi + 0x78], 1
push dword [esi + 0x68]
call fcn.00461e28
test eax, eax
jne 0x4655b4
mov ecx, esi
call fcn.00462906
xor edi, edi
jmp 0x464ba5
lea ecx, [ebp - 0x174]
call fcn.00462f4e
and byte [ebp - 0x100], 0
and dword [ebp - 4], 0
lea eax, [ebp - 0x174]
push eax
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00462c52
test al, al
je 0x4649e0
lea eax, [ebp - 0x60]
mov ecx, esi
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 4], 1
push dword [ebp + 8]
mov byte [esi + 0x78], 1
call fcn.00463a72
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x464a07
mov ecx, esi
call fcn.00462906
jmp 0x464a07
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.00460435
push 1
pop eax
jmp 0x4655b4
and dword [ebp - 4], 0
push 1
pop eax
cmp dword [ebp - 0x18], eax
je 0x464b5e
cmp dword [ebp - 0x18], 0
je 0x464a34
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.00460435
mov eax, dword [ebp - 0x18]
jmp 0x4655b4
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 4]
test ebx, ebx
jne 0x464a46
mov dword [ebp - 0x18], eax
jmp 0x464b5e
mov eax, dword [esi + 0x4c]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x48]
mov edi, dword [esi + 0x38]
cmp eax, edx
jg 0x464a68
jl 0x464a5c
cmp ecx, edi
jae 0x464a68
mov dword [ebp - 0x18], 1
jmp 0x464b5e
sub ecx, edi
sbb eax, edx
or edi, 0xffffffff
cmp byte [esi + 0x7b], 0
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x7c], edi
jne 0x464a9a
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x174]
call fcn.004655c5
jmp 0x464b15
and dword [ebp - 0x1c], 0
test ebx, ebx
jbe 0x464a5c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
cmp edx, dword [ebp - 0x154]
jne 0x464ad6
mov eax, dword [ecx + 0x48]
cmp eax, dword [ebp - 0x12c]
jne 0x464ad6
mov eax, dword [ecx + 0x4c]
cmp eax, dword [ebp - 0x128]
jne 0x464ad6
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x1c], 0
je 0x464af4
cmp edx, dword [ebp - 0x24]
jb 0x464af4
jne 0x464b00
mov eax, dword [ecx + 0x4c]
cmp eax, edi
ja 0x464b00
jb 0x464af4
mov eax, dword [ecx + 0x48]
cmp eax, dword [ebp - 0x7c]
jae 0x464b00
mov eax, dword [ecx + 0x48]
mov edi, dword [ecx + 0x4c]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x7c], eax
inc dword [ebp - 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
add dword [ebp - 0x30], 4
cmp ecx, dword [eax + 4]
jb 0x464aaa
mov eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
je 0x464a5c
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx]
mov edx, dword [ecx + eax*4]
lea ecx, [ebp - 0x174]
call fcn.00462fb0
test al, al
je 0x464a5c
cmp byte [esi + 0x7b], 0
mov byte [esi + 0x6c], 1
je 0x464b4e
mov eax, dword [ebp - 0x7c]
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edi
jmp 0x464b5e
mov eax, dword [ebx]
mov eax, dword [eax]
mov ecx, dword [eax + 0x48]
mov dword [esi + 0x60], ecx
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x64], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.00460435
jmp 0x464976
lea eax, [ebp - 0x60]
mov ecx, esi
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x58]
push eax
mov byte [esi + 0x78], 1
push dword [ebp + 8]
call fcn.00463a72
cmp eax, edi
mov dword [ebp - 0x18], eax
jne 0x464b9c
mov ecx, esi
call fcn.00462906
jmp 0x464ba5
cmp eax, 1
jne 0x4655b4
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
mov eax, dword [ebp + 8]
and byte [ebp - 0x1d], 0
cmp dword [ebp - 0x18], edi
mov dword [ebp - 4], 5
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
je 0x464e75
mov ecx, dword [ebp + 8]
call fcn.00460825
and byte [esi + 0x20], 0
and byte [esi + 0x7c], 0
and byte [esi + 0x7d], 0
and byte [esi + 0x7e], 0
xor ebx, ebx
mov byte [ebp - 0x13], 1
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
cmp byte [esi + 0x85], bl
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
jne 0x464c2e
cmp byte [esi + 0x87], bl
jne 0x464c0d
push 1
pop edi
jmp 0x4654a1
cmp dword [esi + 0xac], ebx
jne 0x464c05
push dword [esi + 0x4c]
push dword [esi + 0x48]
push ebx
mov ecx, esi
call fcn.00461e28
cmp eax, ebx
je 0x464c4d
mov edi, eax
jmp 0x4654a1
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
je 0x464c42
mov eax, dword [esi + 0x48]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x3c], eax
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esi + 0x68]
jmp 0x464c1c
mov dword [esi + 0x18], ebx
mov ecx, esi
mov dword [esi + 0x1c], ebx
call fcn.00462906
push dword [ebp + 8]
mov ecx, esi
mov byte [esi + 0x80], 1
call fcn.00463bac
cmp eax, ebx
jne 0x464c27
mov edi, dword [esi + 0x24]
mov ebx, 0x2014b50
cmp edi, ebx
je 0x464d2f
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x464c05
cmp edi, 0x18
mov byte [ebp - 0x11], 1
jb 0x464d1d
cmp edi, 0x100000
ja 0x464d1d
mov ecx, esi
call fcn.004628da
test eax, eax
jne 0x464d1d
and dword [ebp - 0x2c], eax
and dword [ebp - 0x28], eax
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.0040417e
push edi
mov ecx, esi
push dword [ebp - 0x2c]
call fcn.00462867
mov ecx, esi
call fcn.00462906
mov eax, dword [ebp - 0x2c]
cmp dword [esi + 0x24], ebx
lea eax, [eax + edi - 0x18]
jne 0x464d0a
mov edx, dword [eax]
xor ecx, ecx
cmp edx, edi
jne 0x464d0a
mov edx, dword [eax + 4]
cmp edx, ecx
jne 0x464d0a
push 0x10
add eax, 8
push str.APK_Sig_Block_42
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x464d0a
and byte [ebp - 0x11], al
mov byte [esi + 0x7a], 1
push dword [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.00401def
cmp byte [ebp - 0x11], 0
pop ecx
je 0x464d2f
mov byte [esi + 0x82], 1
mov byte [esi + 0x7c], 1
xor edi, edi
jmp 0x4654a1
mov eax, dword [esi + 0x10]
mov byte [esi + 0x20], 1
mov ecx, dword [esi + 0xc]
xor edx, edx
sub eax, ecx
mov ecx, dword [esi + 0x14]
sbb ecx, edx
mov edx, dword [esi + 8]
xor edi, edi
add eax, edx
adc ecx, edi
sub eax, 4
mov ebx, dword [esi + 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x9c]
sbb ecx, edi
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x30], eax
call fcn.00462f4e
and byte [ebp - 0x100], 0
lea eax, [ebp - 0x174]
mov ecx, esi
push eax
mov byte [ebp - 4], 7
call fcn.00463443
mov edi, eax
test edi, edi
jne 0x464e16
lea eax, [ebp - 0x174]
lea ecx, [ebp - 0x54]
push eax
call fcn.00465c2a
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x464de0
test word [ebp - 0x50], 0xfff
jne 0x464de0
mov eax, dword [ebp + 8]
and dword [ebp - 0x28], edi
lea edx, [ebp - 0x7c]
mov eax, dword [eax + 4]
push edx
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x7c], eax
mov eax, dword [esi + 0x1c]
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x78], eax
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x10]
mov edi, eax
test edi, edi
jne 0x464e16
mov ecx, esi
call fcn.00462906
cmp dword [esi + 0x24], 0x2014b50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x174]
jne 0x464e2a
call fcn.00460435
lea ecx, [ebp - 0x174]
call fcn.00462f4e
and byte [ebp - 0x100], 0
jmp 0x464d7a
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 5
call fcn.00460435
jmp 0x4654a1
call fcn.00460435
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
sub eax, ebx
mov edx, dword [ebp - 0x3c]
sbb ecx, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x50]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x40]
sub ecx, dword [esi + 0x38]
mov dword [ebp - 0x1c], eax
sbb edx, dword [esi + 0x3c]
mov dword [ebp - 0x48], ecx
test eax, eax
mov dword [ebp - 0x44], edx
je 0x464e75
mov eax, dword [ebp - 0x54]
mov byte [esi + 0x6c], 1
mov eax, dword [eax]
mov ecx, dword [eax + 0x48]
mov dword [esi + 0x60], ecx
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x64], eax
xor edi, edi
push 0x30
lea eax, [ebp - 0xcc]
push edi
push eax
call sub.MSVCRT.dll_memset
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
and byte [ebp - 0xcc], 0
and byte [ebp - 0x11], 0
add esp, 0xc
xor ebx, ebx
xor ecx, ecx
sub eax, edx
sbb ecx, ebx
add eax, dword [esi + 0x10]
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x90], edi
adc ecx, dword [esi + 0x14]
sub eax, 4
mov dword [ebp - 0x34], eax
sbb ecx, edi
or dword [ebp - 0x28], 0xffffffff
cmp dword [esi + 0x24], 0x6064b50
mov dword [ebp - 0x30], ecx
jne 0x464f88
mov eax, dword [esi + 0x9c]
mov ecx, esi
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x11], 1
mov byte [esi + 0x79], 1
call fcn.004628ee
mov edi, edx
mov ebx, eax
test edi, edi
ja 0x464ef5
cmp ebx, 0x2c
jb 0x464f52
cmp edi, 0x40000000
ja 0x464f52
jb 0x464f03
test ebx, ebx
jae 0x464f52
lea eax, [ebp - 0x1a0]
push 0x2c
push eax
mov ecx, esi
call fcn.00462867
lea eax, [ebp - 0x1a0]
lea ecx, [ebp - 0xcc]
push eax
call fcn.00461c5d
mov eax, dword [ebp + 8]
sub ebx, 0x2c
sbb edi, 0
mov ecx, esi
push dword [eax + 4]
push edi
push ebx
call fcn.00462951
test eax, eax
jne 0x464c27
mov ecx, esi
call fcn.00462906
cmp dword [esi + 0x24], 0x7064b50
je 0x464f5d
xor edi, edi
mov byte [esi + 0x7c], 1
jmp 0x4654a1
lea eax, [ebp - 0x84]
push 0x10
push eax
mov ecx, esi
call fcn.00462867
mov eax, dword [ebp - 0x80]
mov ecx, esi
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x90], eax
call fcn.00462906
xor edi, edi
cmp dword [esi + 0x24], 0x6054b50
mov bl, byte [ebp - 0x11]
jne 0x4655a2
and byte [esi + 0x22], 0
lea eax, [ebp - 0x88]
push 0x12
push eax
mov ecx, esi
call fcn.00462867
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x74]
push eax
call fcn.00461bd6
test bl, bl
je 0x464fc7
cmp word [ebp - 0x74], 0xffff
je 0x464fd1
movzx eax, word [ebp - 0x74]
mov dword [ebp - 0xc4], eax
test bl, bl
je 0x464fdd
cmp word [ebp - 0x72], 0xffff
je 0x464fe7
movzx eax, word [ebp - 0x72]
mov dword [ebp - 0xc0], eax
test bl, bl
je 0x464ff3
cmp word [ebp - 0x70], 0xffff
je 0x465004
movzx eax, word [ebp - 0x70]
cdq
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
test bl, bl
je 0x465010
cmp word [ebp - 0x6e], 0xffff
je 0x465021
movzx eax, word [ebp - 0x6e]
cdq
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edx
test bl, bl
je 0x46502b
cmp dword [ebp - 0x6c], 0xffffffff
je 0x46503a
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], eax
test bl, bl
je 0x465044
cmp dword [ebp - 0x68], 0xffffffff
je 0x465053
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x60]
mov byte [ebp - 0x12], 1
cmp dword [ebp - 0xac], ecx
je 0x465066
and byte [ebp - 0x12], 0
test bl, bl
je 0x465096
mov edx, dword [ebp - 0xb4]
xor eax, eax
cmp edx, dword [ebp - 0x1c]
jne 0x465092
cmp dword [ebp - 0xb0], eax
jne 0x465092
cmp dword [ebp - 0xac], ecx
jne 0x465092
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x5c]
je 0x465096
and byte [ebp - 0x12], 0
cmp byte [esi + 0x87], 0
je 0x4650c0
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x58], eax
je 0x4650ae
mov byte [esi + 0x7c], 1
mov ebx, dword [ebp + 8]
cmp byte [ebp - 0x12], 0
jne 0x465205
jmp 0x465201
cmp byte [ebp - 0x1d], 0
je 0x4650ae
cmp byte [ebp - 0x12], 0
je 0x4651fe
mov edi, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
test bl, bl
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], edx
je 0x465147
mov eax, dword [ebp - 0x28]
cmp eax, dword [esi + 0xa8]
jne 0x4651ba
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x94]
sbb eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x30]
jg 0x4651ba
jl 0x465115
cmp ecx, dword [ebp - 0x34]
ja 0x4651ba
cmp byte [ebp - 0x13], 0
je 0x46512f
cmp eax, dword [esi + 0x4c]
jl 0x46512f
jg 0x4651b6
cmp ecx, dword [esi + 0x48]
ja 0x4651b6
mov edx, dword [ebp - 0x40]
mov dword [esi + 0x38], ecx
sub edx, ecx
mov ecx, dword [ebp - 0x3c]
sbb ecx, eax
mov dword [esi + 0x3c], eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], ecx
jmp 0x4651ba
cmp dword [ebp - 0x1c], 0
je 0x4651ba
mov eax, dword [ebp - 0x58]
cmp eax, dword [esi + 0xa8]
jne 0x4651ba
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0xa4]
sbb eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x3c]
jg 0x4651b6
jl 0x465176
cmp ecx, dword [ebp - 0x40]
ja 0x4651b6
cmp byte [ebp - 0x13], 0
je 0x46519c
cmp eax, dword [esi + 0x4c]
jl 0x46519c
jg 0x465188
cmp ecx, dword [esi + 0x48]
jbe 0x46519c
sub ecx, edi
sbb eax, edx
test ecx, ecx
mov dword [ebp - 0x3c], eax
jne 0x4651b6
mov byte [esi + 0x83], 1
jmp 0x4651ba
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x44], eax
jmp 0x4651ba
and byte [ebp - 0x12], 0
cmp byte [ebp - 0x13], 0
je 0x4650ae
mov edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x78]
sub edx, dword [esi + 0x38]
sbb edi, dword [esi + 0x3c]
mov eax, edx
or eax, edi
je 0x4650ae
mov ebx, dword [ebp + 8]
xor ecx, ecx
cmp dword [ebx + 4], ecx
jbe 0x4650b1
mov eax, dword [ebx]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x48], edx
adc dword [eax + 0x4c], edi
inc ecx
cmp ecx, dword [ebx + 4]
jb 0x4651e8
jmp 0x4650b1
mov ebx, dword [ebp + 8]
mov byte [esi + 0x7c], 1
mov eax, dword [ebp - 0xc4]
cmp byte [esi + 0x87], 0
mov dword [esi + 0x8c], eax
jne 0x46527b
xor edi, edi
cmp eax, edi
jne 0x465249
cmp byte [esi + 0xa6], 0
lea ecx, [esi + 0xa6]
je 0x465249
cmp byte [esi + 0xa2], 0
je 0x465249
lea eax, [esi + 0xc4]
mov dword [eax + 4], edi
mov eax, dword [eax]
mov word [eax], di
and byte [ecx], 0
cmp byte [ebp - 0x13], 0
je 0x465272
cmp dword [esi + 0x8c], edi
je 0x465272
xor ecx, ecx
cmp dword [ebx + 4], edi
jbe 0x465272
mov eax, dword [ebx]
mov edx, dword [esi + 0x8c]
mov eax, dword [eax + ecx*4]
inc ecx
mov dword [eax + 0x20], edx
cmp ecx, dword [ebx + 4]
jb 0x46525e
mov byte [esi + 0x88], 1
jmp 0x46527d
xor edi, edi
cmp byte [ebp - 0x11], 0
je 0x46530d
cmp dword [ebp - 0xc4], edi
jne 0x4652b3
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
add eax, dword [ebp - 0x94]
adc ecx, dword [ebp - 0x90]
cmp dword [ebp - 0x34], eax
jne 0x4655a2
cmp dword [ebp - 0x30], ecx
jne 0x4655a2
mov ecx, dword [ebp - 0xb4]
xor eax, eax
cmp ecx, dword [ebp - 0x1c]
jne 0x4655a2
cmp dword [ebp - 0xb0], eax
jne 0x4655a2
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x60]
jne 0x4655a2
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x5c]
jne 0x4655a2
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x48]
jne 0x465304
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x44]
je 0x46530d
cmp dword [ebx + 4], edi
jne 0x4655a2
cmp byte [ebp - 0x12], 0
je 0x4654e7
cmp dword [ebp - 0x50], edi
je 0x4654e7
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov byte [ebp - 4], 8
mov dword [ebp - 0x24], edi
mov byte [esi + 0x81], 1
mov dword [ebp - 0x18], edi
jbe 0x4654b4
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x465379
test word [ebp - 0x18], 0x3fff
jne 0x465379
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
and dword [ebp - 0x3c], 0
mov eax, dword [eax + 4]
add edx, eax
mov dword [ebp - 0x40], edx
mov eax, dword [ecx]
lea edx, [esi + 0x18]
push edx
lea edx, [ebp - 0x40]
push edx
push ecx
call dword [eax + 0x10]
mov edi, eax
test edi, edi
jne 0x465498
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x18]
or dword [ebp - 0x28], 0xffffffff
mov edi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
je 0x4653e1
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 4]
jae 0x4653e1
mov ecx, dword [ecx]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx + 0x20]
cmp eax, dword [edi + 0x20]
jne 0x4653d5
mov edx, dword [edi + 0x48]
mov eax, dword [ecx + 0x48]
mov ebx, dword [edi + 0x4c]
cmp eax, edx
jne 0x4653b7
mov eax, dword [ecx + 0x4c]
cmp eax, ebx
je 0x4653cd
cmp byte [esi + 0x83], 0
je 0x4653d5
mov ecx, dword [ecx + 0x48]
xor eax, eax
cmp ecx, edx
jne 0x4653d5
cmp eax, ebx
jne 0x4653d5
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
jmp 0x4653dc
or dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
jne 0x465413
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.004655c5
cmp eax, 0xffffffff
jne 0x465413
push dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
call fcn.00418358
mov byte [esi + 0x7c], 1
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x50]
jb 0x465340
jmp 0x4654b4
mov ecx, dword [ebp + 8]
lea edx, [edi + 0x24]
mov ecx, dword [ecx]
mov ebx, dword [ecx + eax*4]
lea ecx, [ebx + 0x24]
call fcn.0044356e
test al, al
jne 0x4653fb
mov eax, dword [ebx + 0x10]
cmp eax, dword [edi + 0x10]
jne 0x4653fb
mov eax, dword [ebx + 0x14]
cmp eax, dword [edi + 0x14]
jne 0x4653fb
mov eax, dword [ebx + 8]
cmp eax, dword [edi + 8]
jne 0x4653fb
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi + 0xc]
jne 0x4653fb
mov edx, edi
mov ecx, ebx
call fcn.00463051
test al, al
je 0x4653fb
mov eax, dword [ebx + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x4653fb
mov ax, word [edi + 0x40]
lea ecx, [ebx + 0x50]
mov word [ebx + 0x40], ax
lea eax, [edi + 0x50]
push eax
call fcn.004630ea
mov ax, word [edi + 0x42]
lea ecx, [ebx + 0x60]
mov word [ebx + 0x42], ax
mov eax, dword [edi + 0x44]
mov dword [ebx + 0x44], eax
lea eax, [edi + 0x60]
push eax
call fcn.00428905
mov al, byte [edi + 0x69]
mov byte [ebx + 0x69], al
jmp 0x4653ff
push dword [ebp - 0x38]
call fcn.00401def
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.004607d4
mov eax, edi
jmp 0x4655b4
xor edi, edi
cmp dword [ebp - 0x34], edi
jbe 0x4654d5
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x54]
mov eax, dword [eax + edi*4]
push dword [ecx + eax*4]
mov ecx, dword [ebp + 8]
call fcn.00465c2a
inc edi
cmp edi, dword [ebp - 0x34]
jb 0x4654bb
push dword [ebp - 0x38]
mov byte [ebp - 4], 5
call fcn.00401def
mov ebx, dword [ebp + 8]
pop ecx
xor edi, edi
mov cx, word [ebp - 0x6e]
cmp cx, word [ebp - 0x70]
jae 0x4654f5
mov byte [esi + 0x7c], 1
cmp word [ebp - 0x74], di
jne 0x465505
cmp cx, word [ebp - 0x70]
je 0x465505
mov byte [esi + 0x7c], 1
cmp byte [ebp - 0x11], 0
mov eax, dword [ebx + 4]
je 0x465536
xor ecx, ecx
cmp dword [ebp - 0xb4], eax
jne 0x465530
cmp dword [ebp - 0xb0], ecx
jne 0x465530
movzx ecx, word [ebp - 0x6e]
cmp ecx, eax
je 0x465566
cmp word [ebp - 0x6e], 0xffff
je 0x465566
mov byte [esi + 0x7c], 1
jmp 0x465566
movzx ecx, cx
cmp ecx, eax
jbe 0x465541
mov byte [esi + 0x7c], 1
mov ecx, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0xb4], ecx
jne 0x465556
cmp dword [ebp - 0xb0], eax
je 0x465566
cmp word [ebp - 0xb4], cx
jne 0x465530
mov byte [esi + 0x84], 1
movzx eax, word [ebp - 0x64]
push eax
lea eax, [esi + 0x70]
push eax
mov ecx, esi
call fcn.004628ae
mov ax, word [ebp - 0x1c]
and byte [esi + 0x20], 0
cmp word [ebp - 0xb4], ax
jne 0x4655a2
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x60]
jne 0x4655a2
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x48]
je 0x4655a6
cmp dword [ebx + 4], edi
je 0x4655a6
mov byte [esi + 0x7c], 1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.004607d4
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4