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

Disassembly:
mov eax, 0x100d9aea
call fcn.100d0210
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 0x10089d14
xor edi, edi
push eax
mov dword [esi + 8], edi
mov ecx, esi
mov dword [esi + 0xc], edi
call fcn.10087b9f
cmp dword [esi], edi
jne 0x10089d14
mov eax, 0x8007000e
jmp 0x1008ab77
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 0x1008a135
cmp byte [esi + 0x86], 0
je 0x1008a135
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.10087436
mov eax, dword [esi + 0x24]
and byte [esi + 0x22], 0
cmp eax, 0x6064b50
jne 0x10089ece
mov ecx, esi
mov byte [esi + 0x79], 1
call fcn.10087f06
mov edi, edx
mov ebx, eax
test edi, edi
ja 0x10089d9b
jb 0x10089fb2
cmp ebx, 0x2c
jb 0x10089fb2
cmp edi, 0x40000000
jb 0x10089db1
ja 0x10089fb2
test ebx, ebx
jae 0x10089fb2
lea eax, [ebp - 0x1a0]
push 0x2c
push eax
mov ecx, esi
call fcn.10087e7f
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.1008726b
cmp dword [ebp - 0xf4], 0
jne 0x10089fb2
cmp dword [ebp - 0xf0], 0
jne 0x10089fb2
mov eax, dword [ebp - 0xec]
or eax, dword [ebp - 0xe8]
jne 0x10089fb2
mov eax, dword [ebp - 0xe4]
or eax, dword [ebp - 0xe0]
jne 0x10089fb2
mov eax, dword [ebp - 0xdc]
or eax, dword [ebp - 0xd8]
jne 0x10089fb2
mov eax, dword [ebp - 0xd4]
or eax, dword [ebp - 0xd0]
jne 0x10089fb2
sub ebx, 0x2c
push 0
sbb edi, 0
mov ecx, esi
push edi
push ebx
call fcn.10087f69
test eax, eax
jne 0x1008ab77
mov ecx, esi
call fcn.10087f1e
cmp dword [esi + 0x24], 0x7064b50
jne 0x10089fb2
lea eax, [ebp - 0x9c]
push 0x10
push eax
mov ecx, esi
call fcn.10087e7f
cmp dword [ebp - 0x9c], 0
jne 0x10089fb2
cmp dword [ebp - 0x90], 0
jne 0x10089fb2
mov eax, dword [ebp - 0x98]
or eax, dword [ebp - 0x94]
jne 0x10089fb2
mov ecx, esi
call fcn.10087f1e
mov eax, dword [esi + 0x24]
cmp eax, 0x6054b50
je 0x10089ed5
jmp 0x10089fb2
cmp eax, 0x6054b50
jne 0x10089f40
lea eax, [ebp - 0x9c]
push 0x12
push eax
mov ecx, esi
call fcn.10087e7f
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0x88]
push eax
call fcn.100871e4
lea ecx, [ebp - 0x88]
call fcn.10087805
test al, al
je 0x10089fb2
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.10087436
test eax, eax
jne 0x1008ab77
mov ecx, esi
call fcn.10087f1e
xor edi, edi
jmp 0x1008a168
lea ecx, [ebp - 0x174]
call fcn.100884f2
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.100881d3
test al, al
je 0x10089fa3
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.10089035
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x10089fca
mov ecx, esi
call fcn.10087f1e
jmp 0x10089fca
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.1008592f
push 1
pop eax
jmp 0x1008ab77
and dword [ebp - 4], 0
push 1
pop eax
cmp dword [ebp - 0x18], eax
je 0x1008a121
cmp dword [ebp - 0x18], 0
je 0x10089ff7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.1008592f
mov eax, dword [ebp - 0x18]
jmp 0x1008ab77
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 4]
test ebx, ebx
jne 0x1008a009
mov dword [ebp - 0x18], eax
jmp 0x1008a121
mov eax, dword [esi + 0x4c]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x48]
mov edi, dword [esi + 0x38]
cmp eax, edx
jg 0x1008a02b
jl 0x1008a01f
cmp ecx, edi
jae 0x1008a02b
mov dword [ebp - 0x18], 1
jmp 0x1008a121
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 0x1008a05d
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x174]
call fcn.1008ab88
jmp 0x1008a0d8
and dword [ebp - 0x1c], 0
test ebx, ebx
jbe 0x1008a01f
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 0x1008a099
mov eax, dword [ecx + 0x48]
cmp eax, dword [ebp - 0x12c]
jne 0x1008a099
mov eax, dword [ecx + 0x4c]
cmp eax, dword [ebp - 0x128]
jne 0x1008a099
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x1c], 0
je 0x1008a0b7
cmp edx, dword [ebp - 0x24]
jb 0x1008a0b7
jne 0x1008a0c3
mov eax, dword [ecx + 0x4c]
cmp eax, edi
ja 0x1008a0c3
jb 0x1008a0b7
mov eax, dword [ecx + 0x48]
cmp eax, dword [ebp - 0x7c]
jae 0x1008a0c3
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 0x1008a06d
mov eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
je 0x1008a01f
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx]
mov edx, dword [ecx + eax*4]
lea ecx, [ebp - 0x174]
call fcn.10088554
test al, al
je 0x1008a01f
cmp byte [esi + 0x7b], 0
mov byte [esi + 0x6c], 1
je 0x1008a111
mov eax, dword [ebp - 0x7c]
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edi
jmp 0x1008a121
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.1008592f
jmp 0x10089f39
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.10089035
cmp eax, edi
mov dword [ebp - 0x18], eax
jne 0x1008a15f
mov ecx, esi
call fcn.10087f1e
jmp 0x1008a168
cmp eax, 1
jne 0x1008ab77
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 0x1008a438
mov ecx, dword [ebp + 8]
call fcn.10085d36
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 0x1008a1f1
cmp byte [esi + 0x87], bl
jne 0x1008a1d0
push 1
pop edi
jmp 0x1008aa64
cmp dword [esi + 0xac], ebx
jne 0x1008a1c8
push dword [esi + 0x4c]
push dword [esi + 0x48]
push ebx
mov ecx, esi
call fcn.10087436
cmp eax, ebx
je 0x1008a210
mov edi, eax
jmp 0x1008aa64
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
je 0x1008a205
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 0x1008a1df
mov dword [esi + 0x18], ebx
mov ecx, esi
mov dword [esi + 0x1c], ebx
call fcn.10087f1e
push dword [ebp + 8]
mov ecx, esi
mov byte [esi + 0x80], 1
call fcn.1008916f
cmp eax, ebx
jne 0x1008a1ea
mov edi, dword [esi + 0x24]
mov ebx, 0x2014b50
cmp edi, ebx
je 0x1008a2f2
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x1008a1c8
cmp edi, 0x18
mov byte [ebp - 0x11], 1
jb 0x1008a2e0
cmp edi, 0x100000
ja 0x1008a2e0
mov ecx, esi
call fcn.10087ef2
test eax, eax
jne 0x1008a2e0
and dword [ebp - 0x2c], eax
and dword [ebp - 0x28], eax
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.100094b6
push edi
mov ecx, esi
push dword [ebp - 0x2c]
call fcn.10087e7f
mov ecx, esi
call fcn.10087f1e
mov eax, dword [ebp - 0x2c]
cmp dword [esi + 0x24], ebx
lea eax, [eax + edi - 0x18]
jne 0x1008a2cd
mov edx, dword [eax]
xor ecx, ecx
cmp edx, edi
jne 0x1008a2cd
mov edx, dword [eax + 4]
cmp edx, ecx
jne 0x1008a2cd
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 0x1008a2cd
and byte [ebp - 0x11], al
mov byte [esi + 0x7a], 1
push dword [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.10003369
cmp byte [ebp - 0x11], 0
pop ecx
je 0x1008a2f2
mov byte [esi + 0x82], 1
mov byte [esi + 0x7c], 1
xor edi, edi
jmp 0x1008aa64
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.100884f2
and byte [ebp - 0x100], 0
lea eax, [ebp - 0x174]
mov ecx, esi
push eax
mov byte [ebp - 4], 7
call fcn.10088a00
mov edi, eax
test edi, edi
jne 0x1008a3d9
lea eax, [ebp - 0x174]
lea ecx, [ebp - 0x54]
push eax
call fcn.1008b1ac
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x1008a3a3
test word [ebp - 0x50], 0xfff
jne 0x1008a3a3
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 0x1008a3d9
mov ecx, esi
call fcn.10087f1e
cmp dword [esi + 0x24], 0x2014b50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x174]
jne 0x1008a3ed
call fcn.1008592f
lea ecx, [ebp - 0x174]
call fcn.100884f2
and byte [ebp - 0x100], 0
jmp 0x1008a33d
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 5
call fcn.1008592f
jmp 0x1008aa64
call fcn.1008592f
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 0x1008a438
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 0x1008a54b
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.10087f06
mov edi, edx
mov ebx, eax
test edi, edi
ja 0x1008a4b8
cmp ebx, 0x2c
jb 0x1008a515
cmp edi, 0x40000000
ja 0x1008a515
jb 0x1008a4c6
test ebx, ebx
jae 0x1008a515
lea eax, [ebp - 0x1a0]
push 0x2c
push eax
mov ecx, esi
call fcn.10087e7f
lea eax, [ebp - 0x1a0]
lea ecx, [ebp - 0xcc]
push eax
call fcn.1008726b
mov eax, dword [ebp + 8]
sub ebx, 0x2c
sbb edi, 0
mov ecx, esi
push dword [eax + 4]
push edi
push ebx
call fcn.10087f69
test eax, eax
jne 0x1008a1ea
mov ecx, esi
call fcn.10087f1e
cmp dword [esi + 0x24], 0x7064b50
je 0x1008a520
xor edi, edi
mov byte [esi + 0x7c], 1
jmp 0x1008aa64
lea eax, [ebp - 0x84]
push 0x10
push eax
mov ecx, esi
call fcn.10087e7f
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.10087f1e
xor edi, edi
cmp dword [esi + 0x24], 0x6054b50
mov bl, byte [ebp - 0x11]
jne 0x1008ab65
and byte [esi + 0x22], 0
lea eax, [ebp - 0x88]
push 0x12
push eax
mov ecx, esi
call fcn.10087e7f
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x74]
push eax
call fcn.100871e4
test bl, bl
je 0x1008a58a
cmp word [ebp - 0x74], 0xffff
je 0x1008a594
movzx eax, word [ebp - 0x74]
mov dword [ebp - 0xc4], eax
test bl, bl
je 0x1008a5a0
cmp word [ebp - 0x72], 0xffff
je 0x1008a5aa
movzx eax, word [ebp - 0x72]
mov dword [ebp - 0xc0], eax
test bl, bl
je 0x1008a5b6
cmp word [ebp - 0x70], 0xffff
je 0x1008a5c7
movzx eax, word [ebp - 0x70]
cdq
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
test bl, bl
je 0x1008a5d3
cmp word [ebp - 0x6e], 0xffff
je 0x1008a5e4
movzx eax, word [ebp - 0x6e]
cdq
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edx
test bl, bl
je 0x1008a5ee
cmp dword [ebp - 0x6c], 0xffffffff
je 0x1008a5fd
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], eax
test bl, bl
je 0x1008a607
cmp dword [ebp - 0x68], 0xffffffff
je 0x1008a616
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 0x1008a629
and byte [ebp - 0x12], 0
test bl, bl
je 0x1008a659
mov edx, dword [ebp - 0xb4]
xor eax, eax
cmp edx, dword [ebp - 0x1c]
jne 0x1008a655
cmp dword [ebp - 0xb0], eax
jne 0x1008a655
cmp dword [ebp - 0xac], ecx
jne 0x1008a655
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x5c]
je 0x1008a659
and byte [ebp - 0x12], 0
cmp byte [esi + 0x87], 0
je 0x1008a683
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x58], eax
je 0x1008a671
mov byte [esi + 0x7c], 1
mov ebx, dword [ebp + 8]
cmp byte [ebp - 0x12], 0
jne 0x1008a7c8
jmp 0x1008a7c4
cmp byte [ebp - 0x1d], 0
je 0x1008a671
cmp byte [ebp - 0x12], 0
je 0x1008a7c1
mov edi, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
test bl, bl
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], edx
je 0x1008a70a
mov eax, dword [ebp - 0x28]
cmp eax, dword [esi + 0xa8]
jne 0x1008a77d
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 0x1008a77d
jl 0x1008a6d8
cmp ecx, dword [ebp - 0x34]
ja 0x1008a77d
cmp byte [ebp - 0x13], 0
je 0x1008a6f2
cmp eax, dword [esi + 0x4c]
jl 0x1008a6f2
jg 0x1008a779
cmp ecx, dword [esi + 0x48]
ja 0x1008a779
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 0x1008a77d
cmp dword [ebp - 0x1c], 0
je 0x1008a77d
mov eax, dword [ebp - 0x58]
cmp eax, dword [esi + 0xa8]
jne 0x1008a77d
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 0x1008a779
jl 0x1008a739
cmp ecx, dword [ebp - 0x40]
ja 0x1008a779
cmp byte [ebp - 0x13], 0
je 0x1008a75f
cmp eax, dword [esi + 0x4c]
jl 0x1008a75f
jg 0x1008a74b
cmp ecx, dword [esi + 0x48]
jbe 0x1008a75f
sub ecx, edi
sbb eax, edx
test ecx, ecx
mov dword [ebp - 0x3c], eax
jne 0x1008a779
mov byte [esi + 0x83], 1
jmp 0x1008a77d
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 0x1008a77d
and byte [ebp - 0x12], 0
cmp byte [ebp - 0x13], 0
je 0x1008a671
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 0x1008a671
mov ebx, dword [ebp + 8]
xor ecx, ecx
cmp dword [ebx + 4], ecx
jbe 0x1008a674
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 0x1008a7ab
jmp 0x1008a674
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 0x1008a83e
xor edi, edi
cmp eax, edi
jne 0x1008a80c
cmp byte [esi + 0xa6], 0
lea ecx, [esi + 0xa6]
je 0x1008a80c
cmp byte [esi + 0xa2], 0
je 0x1008a80c
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 0x1008a835
cmp dword [esi + 0x8c], edi
je 0x1008a835
xor ecx, ecx
cmp dword [ebx + 4], edi
jbe 0x1008a835
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 0x1008a821
mov byte [esi + 0x88], 1
jmp 0x1008a840
xor edi, edi
cmp byte [ebp - 0x11], 0
je 0x1008a8d0
cmp dword [ebp - 0xc4], edi
jne 0x1008a876
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 0x1008ab65
cmp dword [ebp - 0x30], ecx
jne 0x1008ab65
mov ecx, dword [ebp - 0xb4]
xor eax, eax
cmp ecx, dword [ebp - 0x1c]
jne 0x1008ab65
cmp dword [ebp - 0xb0], eax
jne 0x1008ab65
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x60]
jne 0x1008ab65
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x5c]
jne 0x1008ab65
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x48]
jne 0x1008a8c7
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x44]
je 0x1008a8d0
cmp dword [ebx + 4], edi
jne 0x1008ab65
cmp byte [ebp - 0x12], 0
je 0x1008aaaa
cmp dword [ebp - 0x50], edi
je 0x1008aaaa
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 0x1008aa77
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x1008a93c
test word [ebp - 0x18], 0x3fff
jne 0x1008a93c
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 0x1008aa5b
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 0x1008a9a4
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 4]
jae 0x1008a9a4
mov ecx, dword [ecx]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx + 0x20]
cmp eax, dword [edi + 0x20]
jne 0x1008a998
mov edx, dword [edi + 0x48]
mov eax, dword [ecx + 0x48]
mov ebx, dword [edi + 0x4c]
cmp eax, edx
jne 0x1008a97a
mov eax, dword [ecx + 0x4c]
cmp eax, ebx
je 0x1008a990
cmp byte [esi + 0x83], 0
je 0x1008a998
mov ecx, dword [ecx + 0x48]
xor eax, eax
cmp ecx, edx
jne 0x1008a998
cmp eax, ebx
jne 0x1008a998
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
jmp 0x1008a99f
or dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
jne 0x1008a9d6
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.1008ab88
cmp eax, 0xffffffff
jne 0x1008a9d6
push dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
call fcn.100484bf
mov byte [esi + 0x7c], 1
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x50]
jb 0x1008a903
jmp 0x1008aa77
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.10065ea1
test al, al
jne 0x1008a9be
mov eax, dword [ebx + 0x10]
cmp eax, dword [edi + 0x10]
jne 0x1008a9be
mov eax, dword [ebx + 0x14]
cmp eax, dword [edi + 0x14]
jne 0x1008a9be
mov eax, dword [ebx + 8]
cmp eax, dword [edi + 8]
jne 0x1008a9be
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi + 0xc]
jne 0x1008a9be
mov edx, edi
mov ecx, ebx
call fcn.100885f5
test al, al
je 0x1008a9be
mov eax, dword [ebx + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x1008a9be
mov ax, word [edi + 0x40]
lea ecx, [ebx + 0x50]
mov word [ebx + 0x40], ax
lea eax, [edi + 0x50]
push eax
call fcn.100886aa
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.1002ce09
mov al, byte [edi + 0x69]
mov byte [ebx + 0x69], al
jmp 0x1008a9c2
push dword [ebp - 0x38]
call fcn.10003369
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.10085ce5
mov eax, edi
jmp 0x1008ab77
xor edi, edi
cmp dword [ebp - 0x34], edi
jbe 0x1008aa98
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.1008b1ac
inc edi
cmp edi, dword [ebp - 0x34]
jb 0x1008aa7e
push dword [ebp - 0x38]
mov byte [ebp - 4], 5
call fcn.10003369
mov ebx, dword [ebp + 8]
pop ecx
xor edi, edi
mov cx, word [ebp - 0x6e]
cmp cx, word [ebp - 0x70]
jae 0x1008aab8
mov byte [esi + 0x7c], 1
cmp word [ebp - 0x74], di
jne 0x1008aac8
cmp cx, word [ebp - 0x70]
je 0x1008aac8
mov byte [esi + 0x7c], 1
cmp byte [ebp - 0x11], 0
mov eax, dword [ebx + 4]
je 0x1008aaf9
xor ecx, ecx
cmp dword [ebp - 0xb4], eax
jne 0x1008aaf3
cmp dword [ebp - 0xb0], ecx
jne 0x1008aaf3
movzx ecx, word [ebp - 0x6e]
cmp ecx, eax
je 0x1008ab29
cmp word [ebp - 0x6e], 0xffff
je 0x1008ab29
mov byte [esi + 0x7c], 1
jmp 0x1008ab29
movzx ecx, cx
cmp ecx, eax
jbe 0x1008ab04
mov byte [esi + 0x7c], 1
mov ecx, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0xb4], ecx
jne 0x1008ab19
cmp dword [ebp - 0xb0], eax
je 0x1008ab29
cmp word [ebp - 0xb4], cx
jne 0x1008aaf3
mov byte [esi + 0x84], 1
movzx eax, word [ebp - 0x64]
push eax
lea eax, [esi + 0x70]
push eax
mov ecx, esi
call fcn.10087ec6
mov ax, word [ebp - 0x1c]
and byte [esi + 0x20], 0
cmp word [ebp - 0xb4], ax
jne 0x1008ab65
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x60]
jne 0x1008ab65
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x48]
je 0x1008ab69
cmp dword [ebx + 4], edi
je 0x1008ab69
mov byte [esi + 0x7c], 1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.10085ce5
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4