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

Disassembly:
mov eax, 0x100d701e
call fcn.100ce110
sub esp, 0x1ac
push ebx
push esi
mov esi, ecx
mov eax, 0x4000
push edi
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 4]
mov dword [ebp - 0x10], esp
cmp ecx, eax
jae 0x10088fe8
xor edi, edi
push eax
mov dword [esi + 8], edi
mov ecx, esi
mov dword [esi + 0xc], edi
call fcn.10086eed
cmp dword [esi], edi
jne 0x10088fe8
mov eax, 0x8007000e
jmp 0x10089cd1
and byte [esi + 0x20], 0
and byte [ebp - 0x13], 0
xor edi, edi
cmp byte [esi + 0x83], 0
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
je 0x10089355
cmp byte [esi + 0x84], 0
je 0x10089355
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.1008678d
mov eax, dword [esi + 0x24]
and byte [esi + 0x22], 0
cmp eax, 0x6064b50
jne 0x100891a2
mov ecx, esi
mov byte [esi + 0x79], 1
call fcn.10087248
mov edi, edx
mov ebx, eax
test edi, edi
ja 0x1008906f
jb 0x10089286
cmp ebx, 0x2c
jb 0x10089286
cmp edi, 0x40000000
jb 0x10089085
ja 0x10089286
test ebx, ebx
jae 0x10089286
lea eax, [ebp - 0x1b8]
push 0x2c
push eax
mov ecx, esi
call fcn.100871c1
push 0x30
lea eax, [ebp - 0x100]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x100], 0
add esp, 0xc
lea eax, [ebp - 0x1b8]
lea ecx, [ebp - 0x100]
push eax
call fcn.100865ce
cmp dword [ebp - 0xf8], 0
jne 0x10089286
cmp dword [ebp - 0xf4], 0
jne 0x10089286
mov eax, dword [ebp - 0xf0]
or eax, dword [ebp - 0xec]
jne 0x10089286
mov eax, dword [ebp - 0xe8]
or eax, dword [ebp - 0xe4]
jne 0x10089286
mov eax, dword [ebp - 0xe0]
or eax, dword [ebp - 0xdc]
jne 0x10089286
mov eax, dword [ebp - 0xd8]
or eax, dword [ebp - 0xd4]
jne 0x10089286
sub ebx, 0x2c
push 0
sbb edi, 0
mov ecx, esi
push edi
push ebx
call fcn.100872ab
test eax, eax
jne 0x10089cd1
mov ecx, esi
call fcn.10087260
cmp dword [esi + 0x24], 0x7064b50
jne 0x10089286
lea eax, [ebp - 0xbc]
push 0x10
push eax
mov ecx, esi
call fcn.100871c1
cmp dword [ebp - 0xbc], 0
jne 0x10089286
cmp dword [ebp - 0xb0], 0
jne 0x10089286
mov eax, dword [ebp - 0xb8]
or eax, dword [ebp - 0xb4]
jne 0x10089286
mov ecx, esi
call fcn.10087260
mov eax, dword [esi + 0x24]
cmp eax, 0x6054b50
je 0x100891a9
jmp 0x10089286
cmp eax, 0x6054b50
jne 0x10089214
lea eax, [ebp - 0xbc]
push 0x12
push eax
mov ecx, esi
call fcn.100871c1
lea eax, [ebp - 0xbc]
lea ecx, [ebp - 0x18c]
push eax
call fcn.10086547
lea ecx, [ebp - 0x18c]
call fcn.10086b38
test al, al
je 0x10089286
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.1008678d
test eax, eax
jne 0x10089cd1
mov ecx, esi
call fcn.10087260
xor edi, edi
jmp 0x10089388
lea ecx, [ebp - 0x178]
call fcn.10087804
and byte [ebp - 0x104], 0
and dword [ebp - 4], 0
lea eax, [ebp - 0x178]
push eax
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.1008750b
test al, al
je 0x10089277
lea eax, [ebp - 0x54]
mov ecx, esi
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 4], 1
push dword [ebp + 8]
mov byte [esi + 0x78], 1
call fcn.10088309
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x1008929e
mov ecx, esi
call fcn.10087260
jmp 0x1008929e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x178]
call fcn.10084bfe
push 1
pop eax
jmp 0x10089cd1
push 1
xor ecx, ecx
pop eax
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x18], eax
je 0x10089341
cmp dword [ebp - 0x18], ecx
je 0x100892cb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x178]
call fcn.10084bfe
mov eax, dword [ebp - 0x18]
jmp 0x10089cd1
mov ebx, dword [ebp + 8]
cmp dword [ebx + 4], ecx
jne 0x100892d8
mov dword [ebp - 0x18], eax
jmp 0x10089341
mov eax, dword [esi + 0x4c]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x48]
mov edi, dword [esi + 0x38]
cmp eax, edx
jg 0x100892f7
jl 0x100892ee
cmp ecx, edi
jae 0x100892f7
mov dword [ebp - 0x18], 1
jmp 0x10089341
sub ecx, edi
sbb eax, edx
mov dword [ebp - 0x130], ecx
lea edx, [ebp - 0x178]
mov ecx, ebx
mov dword [ebp - 0x12c], eax
call fcn.10089ce2
cmp eax, 0xffffffff
je 0x100892ee
mov ecx, dword [ebx]
mov edx, dword [ecx + eax*4]
lea ecx, [ebp - 0x178]
call fcn.10087866
test al, al
je 0x100892ee
mov byte [esi + 0x6c], 1
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 - 0x178]
call fcn.10084bfe
jmp 0x1008920d
lea eax, [ebp - 0x54]
mov ecx, esi
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x4c]
push eax
mov byte [esi + 0x78], 1
push dword [ebp + 8]
call fcn.10088309
cmp eax, edi
mov dword [ebp - 0x18], eax
jne 0x1008937f
mov ecx, esi
call fcn.10087260
jmp 0x10089388
cmp eax, 1
jne 0x10089cd1
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], 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 - 0x24], eax
je 0x100895b2
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.1008503b
and byte [esi + 0x20], 0
xor ebx, ebx
cmp byte [esi + 0x83], bl
mov dword [esi + 8], ebx
mov dword [esi + 0x38], ebx
mov byte [ebp - 0x13], 1
mov dword [esi + 0xc], ebx
mov dword [esi + 0x3c], ebx
jne 0x10089407
cmp byte [esi + 0x85], bl
jne 0x100893e6
push 1
pop edi
jmp 0x10089bc1
cmp dword [esi + 0xac], ebx
jne 0x100893de
push dword [esi + 0x4c]
push dword [esi + 0x48]
push ebx
mov ecx, esi
call fcn.1008678d
cmp eax, ebx
je 0x10089426
mov edi, eax
jmp 0x10089bc1
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
je 0x1008941b
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 0x100893f5
mov dword [esi + 0x18], ebx
mov ecx, esi
mov dword [esi + 0x1c], ebx
call fcn.10087260
push edi
mov ecx, esi
mov byte [esi + 0x7e], 1
call fcn.10088443
cmp eax, ebx
jne 0x10089400
cmp dword [esi + 0x24], 0x2014b50
je 0x1008945d
cmp dword [edi + 4], ebx
je 0x100893de
mov byte [esi + 0x80], 1
jmp 0x10089689
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
xor edx, edx
sub eax, ecx
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
sbb ecx, edx
mov edx, dword [esi + 8]
xor edi, edi
add eax, edx
adc ecx, edi
sub eax, 4
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x9c]
sbb ecx, edi
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x178]
mov byte [esi + 0x20], 1
mov dword [ebp - 0xc4], eax
call fcn.10087804
and byte [ebp - 0x104], 0
lea eax, [ebp - 0x178]
mov ecx, esi
push eax
mov byte [ebp - 4], 6
call fcn.10087d0a
mov edi, eax
test edi, edi
jne 0x10089550
lea eax, [ebp - 0x178]
lea ecx, [ebp - 0x48]
push eax
call fcn.1008a2f2
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x1008951a
test word [ebp - 0x44], 0xfff
jne 0x1008951a
mov eax, dword [ebp + 8]
and dword [ebp - 0x30], edi
lea edx, [ebp - 0xb4]
mov eax, dword [eax + 4]
push edx
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x1c]
lea edx, [ebp - 0x34]
mov dword [ebp - 0xb0], eax
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x10]
mov edi, eax
test edi, edi
jne 0x10089550
mov ecx, esi
call fcn.10087260
cmp dword [esi + 0x24], 0x2014b50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x178]
jne 0x10089564
call fcn.10084bfe
lea ecx, [ebp - 0x178]
call fcn.10087804
and byte [ebp - 0x104], 0
jmp 0x100894ab
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 5
call fcn.10084bfe
jmp 0x10089bc1
call fcn.10084bfe
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
sub eax, ebx
mov edx, dword [ebp - 0x28]
sbb ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x44]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [esi + 0x38]
mov dword [ebp - 0x24], eax
sbb edx, dword [esi + 0x3c]
mov dword [ebp - 0x3c], ecx
test eax, eax
mov dword [ebp - 0x38], edx
je 0x100895b2
mov eax, dword [ebp - 0x48]
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 - 0xa8]
push edi
push eax
call sub.MSVCRT.dll_memset
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
and byte [ebp - 0xa8], 0
and byte [ebp - 0x12], 0
add esp, 0xc
xor ebx, ebx
xor ecx, ecx
sub eax, edx
sbb ecx, ebx
add eax, dword [esi + 0x10]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], edi
adc ecx, dword [esi + 0x14]
sub eax, 4
mov dword [ebp - 0x1c], eax
sbb ecx, edi
or dword [ebp - 0x30], 0xffffffff
cmp dword [esi + 0x24], 0x6064b50
mov dword [ebp - 0x18], ecx
jne 0x100896bf
mov eax, dword [esi + 0x9c]
mov ecx, esi
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x12], 1
mov byte [esi + 0x79], 1
call fcn.10087248
mov edi, edx
mov ebx, eax
test edi, edi
ja 0x1008962c
cmp ebx, 0x2c
jb 0x10089689
cmp edi, 0x40000000
ja 0x10089689
jb 0x1008963a
test ebx, ebx
jae 0x10089689
lea eax, [ebp - 0x1b8]
push 0x2c
push eax
mov ecx, esi
call fcn.100871c1
lea eax, [ebp - 0x1b8]
lea ecx, [ebp - 0xa8]
push eax
call fcn.100865ce
mov eax, dword [ebp + 8]
sub ebx, 0x2c
sbb edi, 0
mov ecx, esi
push dword [eax + 4]
push edi
push ebx
call fcn.100872ab
test eax, eax
jne 0x10089400
mov ecx, esi
call fcn.10087260
cmp dword [esi + 0x24], 0x7064b50
je 0x10089694
xor edi, edi
mov byte [esi + 0x7a], 1
jmp 0x10089bc1
lea eax, [ebp - 0xd0]
push 0x10
push eax
mov ecx, esi
call fcn.100871c1
mov eax, dword [ebp - 0xcc]
mov ecx, esi
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x58], eax
call fcn.10087260
xor edi, edi
cmp dword [esi + 0x24], 0x6054b50
mov bl, byte [ebp - 0x12]
jne 0x10089cbf
and byte [esi + 0x22], 0
lea eax, [ebp - 0xd0]
push 0x12
push eax
mov ecx, esi
call fcn.100871c1
lea eax, [ebp - 0xd0]
lea ecx, [ebp - 0x78]
push eax
call fcn.10086547
test bl, bl
je 0x100896fe
cmp word [ebp - 0x78], 0xffff
je 0x10089708
movzx eax, word [ebp - 0x78]
mov dword [ebp - 0xa0], eax
test bl, bl
je 0x10089714
cmp word [ebp - 0x76], 0xffff
je 0x1008971e
movzx eax, word [ebp - 0x76]
mov dword [ebp - 0x9c], eax
test bl, bl
je 0x1008972a
cmp word [ebp - 0x74], 0xffff
je 0x1008973b
movzx eax, word [ebp - 0x74]
cdq
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
test bl, bl
je 0x10089747
cmp word [ebp - 0x72], 0xffff
je 0x10089758
movzx eax, word [ebp - 0x72]
cdq
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
test bl, bl
je 0x10089762
cmp dword [ebp - 0x70], 0xffffffff
je 0x10089771
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x88], eax
test bl, bl
je 0x1008977b
cmp dword [ebp - 0x6c], 0xffffffff
je 0x10089784
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 0x11], 1
cmp dword [ebp - 0x88], ecx
je 0x10089797
and byte [ebp - 0x11], 0
test bl, bl
je 0x100897c7
mov edx, dword [ebp - 0x90]
xor eax, eax
cmp edx, dword [ebp - 0x24]
jne 0x100897c3
cmp dword [ebp - 0x8c], eax
jne 0x100897c3
cmp dword [ebp - 0x88], ecx
jne 0x100897c3
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x50]
je 0x100897c7
and byte [ebp - 0x11], 0
cmp byte [esi + 0x85], 0
je 0x100897f1
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x4c], eax
je 0x100897df
mov byte [esi + 0x7a], 1
mov ebx, dword [ebp + 8]
cmp byte [ebp - 0x11], 0
jne 0x1008992f
jmp 0x1008992b
cmp byte [ebp - 0x1d], 0
je 0x100897df
cmp byte [ebp - 0x11], 0
je 0x10089928
mov edi, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
test bl, bl
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xb0], edx
je 0x10089874
mov eax, dword [ebp - 0x30]
cmp eax, dword [esi + 0xa8]
jne 0x100898de
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x5c]
sbb eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x18]
jg 0x100898de
jl 0x10089846
cmp ecx, dword [ebp - 0x1c]
ja 0x100898de
cmp byte [ebp - 0x13], 0
je 0x1008985c
cmp eax, dword [esi + 0x4c]
jl 0x1008985c
jg 0x100898da
cmp ecx, dword [esi + 0x48]
ja 0x100898da
mov edx, dword [ebp - 0x2c]
mov dword [esi + 0x38], ecx
sub edx, ecx
mov ecx, dword [ebp - 0x28]
sbb ecx, eax
mov dword [esi + 0x3c], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
jmp 0x100898de
cmp dword [ebp - 0x24], 0
je 0x100898de
mov eax, dword [ebp - 0x4c]
cmp eax, dword [esi + 0xa8]
jne 0x100898de
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x80]
sbb eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x28]
jg 0x100898da
jl 0x1008989d
cmp ecx, dword [ebp - 0x2c]
ja 0x100898da
cmp byte [ebp - 0x13], 0
je 0x100898c6
cmp eax, dword [esi + 0x4c]
jl 0x100898c6
jg 0x100898af
cmp ecx, dword [esi + 0x48]
jbe 0x100898c6
sub ecx, edi
sbb eax, edx
test ecx, ecx
mov dword [ebp - 0xc4], eax
jne 0x100898da
mov byte [esi + 0x81], 1
jmp 0x100898de
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x38], eax
jmp 0x100898de
and byte [ebp - 0x11], 0
cmp byte [ebp - 0x13], 0
je 0x100897df
mov edx, dword [ebp - 0xb4]
mov edi, dword [ebp - 0xb0]
sub edx, dword [esi + 0x38]
sbb edi, dword [esi + 0x3c]
mov eax, edx
or eax, edi
je 0x100897df
mov ebx, dword [ebp + 8]
xor ecx, ecx
cmp dword [ebx + 4], ecx
jbe 0x100897e2
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 0x10089912
jmp 0x100897e2
mov ebx, dword [ebp + 8]
mov byte [esi + 0x7a], 1
mov eax, dword [ebp - 0xa0]
cmp byte [esi + 0x85], 0
mov dword [esi + 0x88], eax
jne 0x100899a5
xor edi, edi
cmp eax, edi
jne 0x10089973
cmp byte [esi + 0xa6], 0
lea ecx, [esi + 0xa6]
je 0x10089973
cmp byte [esi + 0xa2], 0
je 0x10089973
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 0x1008999c
cmp dword [esi + 0x88], edi
je 0x1008999c
xor ecx, ecx
cmp dword [ebx + 4], edi
jbe 0x1008999c
mov eax, dword [ebx]
mov edx, dword [esi + 0x88]
mov eax, dword [eax + ecx*4]
inc ecx
mov dword [eax + 0x20], edx
cmp ecx, dword [ebx + 4]
jb 0x10089988
mov byte [esi + 0x86], 1
jmp 0x100899a7
xor edi, edi
cmp byte [ebp - 0x12], 0
je 0x10089a27
cmp dword [ebp - 0xa0], edi
jne 0x100899d3
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
add eax, dword [ebp - 0x5c]
adc ecx, dword [ebp - 0x58]
cmp dword [ebp - 0x1c], eax
jne 0x10089cbf
cmp dword [ebp - 0x18], ecx
jne 0x10089cbf
mov ecx, dword [ebp - 0x90]
xor eax, eax
cmp ecx, dword [ebp - 0x24]
jne 0x10089cbf
cmp dword [ebp - 0x8c], eax
jne 0x10089cbf
mov eax, dword [ebp - 0x88]
cmp eax, dword [ebp - 0x54]
jne 0x10089cbf
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x50]
jne 0x10089cbf
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x3c]
jne 0x10089a1e
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x38]
je 0x10089a27
cmp dword [ebx + 4], edi
jne 0x10089cbf
cmp byte [ebp - 0x11], 0
je 0x10089c07
cmp dword [ebp - 0x44], edi
je 0x10089c07
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], edi
mov byte [ebp - 4], 7
mov dword [ebp - 0x30], edi
mov byte [esi + 0x7f], 1
mov dword [ebp - 0x18], edi
jbe 0x10089bd4
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x10089a99
test word [ebp - 0x18], 0x3fff
jne 0x10089a99
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x5c]
and dword [ebp - 0xc4], 0
mov eax, dword [eax + 4]
add eax, edx
lea edx, [esi + 0x18]
push edx
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x10]
mov edi, eax
test edi, edi
jne 0x10089bb8
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x18]
or dword [ebp - 0x28], 0xffffffff
mov edi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x30]
cmp eax, 0xffffffff
je 0x10089b01
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 4]
jae 0x10089b01
mov ecx, dword [ecx]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx + 0x20]
cmp eax, dword [edi + 0x20]
jne 0x10089af5
mov edx, dword [edi + 0x48]
mov eax, dword [ecx + 0x48]
mov ebx, dword [edi + 0x4c]
cmp eax, edx
jne 0x10089ad7
mov eax, dword [ecx + 0x4c]
cmp eax, ebx
je 0x10089aed
cmp byte [esi + 0x81], 0
je 0x10089af5
mov ecx, dword [ecx + 0x48]
xor eax, eax
cmp ecx, edx
jne 0x10089af5
cmp eax, ebx
jne 0x10089af5
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x30]
jmp 0x10089afc
or dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
jne 0x10089b33
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.10089ce2
cmp eax, 0xffffffff
jne 0x10089b33
push dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
call fcn.1004835b
mov byte [esi + 0x7a], 1
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x44]
jb 0x10089a57
jmp 0x10089bd4
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.10065a33
test al, al
jne 0x10089b1b
mov eax, dword [ebx + 0x10]
cmp eax, dword [edi + 0x10]
jne 0x10089b1b
mov eax, dword [ebx + 0x14]
cmp eax, dword [edi + 0x14]
jne 0x10089b1b
mov eax, dword [ebx + 8]
cmp eax, dword [edi + 8]
jne 0x10089b1b
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi + 0xc]
jne 0x10089b1b
mov edx, edi
mov ecx, ebx
call fcn.1008790c
test al, al
je 0x10089b1b
mov eax, dword [ebx + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x10089b1b
mov ax, word [edi + 0x40]
lea ecx, [ebx + 0x50]
mov word [ebx + 0x40], ax
lea eax, [edi + 0x50]
push eax
call fcn.100879cd
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.1002ce74
mov al, byte [edi + 0x69]
mov byte [ebx + 0x69], al
jmp 0x10089b1f
push dword [ebp - 0x60]
call fcn.10003419
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.10084fea
mov eax, edi
jmp 0x10089cd1
xor edi, edi
cmp dword [ebp - 0x5c], edi
jbe 0x10089bf5
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax + edi*4]
push dword [ecx + eax*4]
mov ecx, dword [ebp + 8]
call fcn.1008a2f2
inc edi
cmp edi, dword [ebp - 0x5c]
jb 0x10089bdb
push dword [ebp - 0x60]
mov byte [ebp - 4], 5
call fcn.10003419
mov ebx, dword [ebp + 8]
pop ecx
xor edi, edi
mov cx, word [ebp - 0x72]
cmp cx, word [ebp - 0x74]
jae 0x10089c15
mov byte [esi + 0x7a], 1
cmp word [ebp - 0x78], di
jne 0x10089c25
cmp cx, word [ebp - 0x74]
je 0x10089c25
mov byte [esi + 0x7a], 1
cmp byte [ebp - 0x12], 0
mov eax, dword [ebx + 4]
je 0x10089c56
xor ecx, ecx
cmp dword [ebp - 0x90], eax
jne 0x10089c50
cmp dword [ebp - 0x8c], ecx
jne 0x10089c50
movzx ecx, word [ebp - 0x72]
cmp ecx, eax
je 0x10089c86
cmp word [ebp - 0x72], 0xffff
je 0x10089c86
mov byte [esi + 0x7a], 1
jmp 0x10089c86
movzx ecx, cx
cmp ecx, eax
jbe 0x10089c61
mov byte [esi + 0x7a], 1
mov ecx, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x90], ecx
jne 0x10089c76
cmp dword [ebp - 0x8c], eax
je 0x10089c86
cmp word [ebp - 0x90], cx
jne 0x10089c50
mov byte [esi + 0x82], 1
movzx eax, word [ebp - 0x68]
push eax
lea eax, [esi + 0x70]
push eax
mov ecx, esi
call fcn.10087208
mov ax, word [ebp - 0x24]
and byte [esi + 0x20], 0
cmp word [ebp - 0x90], ax
jne 0x10089cbf
mov eax, dword [ebp - 0x88]
cmp eax, dword [ebp - 0x54]
jne 0x10089cbf
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x3c]
je 0x10089cc3
cmp dword [ebx + 4], edi
je 0x10089cc3
mov byte [esi + 0x7a], 1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.10084fea
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4