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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
xor ecx, ecx
push esi
mov esi, eax
mov eax, dword [esp + 0x6c]
mov ebx, dword [eax + 0x68]
mov ebp, dword [eax + 0x2bc]
push edi
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ecx
cmp byte [eax + 0x2b9], cl
je 0x10089320
cmp ebp, ecx
je 0x10089320
cmp esi, dword [ebp + 0x44]
jae 0x10089316
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + esi*4]
cmp ecx, dword [eax + esi*4 + 4]
lea eax, [eax + esi*4]
je 0x10089316
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x10]
push edx
push 0
push eax
push 0
push 8
push edi
call fcn.100526b0
add esp, 0x18
cmp dword [esp + 0x10], 0
mov dword [esp + 0x20], eax
jne 0x100892e6
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x10]
push ecx
push 0
push edx
push 0
push 8
push edi
call fcn.100526b0
add esp, 0x18
cmp dword [esp + 0x10], 0
mov dword [esp + 0x18], eax
jne 0x100892e6
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x10]
push eax
push 0
push ecx
push 0
push 1
push edi
call fcn.100526b0
add esp, 0x18
cmp dword [esp + 0x10], 0
mov dword [esp + 0x24], eax
jne 0x100892e6
mov edx, dword [ebp + 0x48]
mov eax, dword [edx + esi*4]
push eax
push ebx
call fcn.1004ea00
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100892e6
mov ecx, dword [ebp + 0x48]
mov edx, dword [ecx + esi*4 + 4]
sub edx, dword [ecx + esi*4]
lea eax, [ecx + esi*4]
push edx
push ebx
call fcn.10050860
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x100892e6
mov ecx, dword [ebp]
mov esi, dword [ebx + 0x20]
sub esi, dword [ebx]
lea eax, [esp + 0x10]
push eax
push 0
push ecx
push 0
push 4
push edi
call fcn.100526b0
add esp, 0x18
cmp dword [esp + 0x10], 0
mov dword [esp + 0x38], eax
jne 0x100892a8
mov eax, dword [ebp]
lea edx, [esp + 0x10]
push edx
push 0
push eax
push 0
push 4
push edi
call fcn.100526b0
add esp, 0x18
cmp dword [esp + 0x10], 0
mov dword [esp + 0x3c], eax
jne 0x100892a8
mov edx, dword [ebp]
lea ecx, [esp + 0x10]
push ecx
push 0
push edx
push 0
push 4
push edi
call fcn.100526b0
add esp, 0x18
cmp dword [esp + 0x10], 0
mov dword [esp + 0x40], eax
jne 0x100892a8
push ebx
call fcn.1004eb90
push ebx
movzx edi, ax
call fcn.1004eb90
movzx ecx, ax
mov eax, edi
and eax, 0xfff
mov dword [esp + 0x64], eax
lea eax, [ecx + eax*4]
add esp, 8
cmp eax, dword [ebp + 0x4c]
jbe 0x10088d79
mov dword [esp + 0x10], 8
jmp 0x100892a4
mov edx, ecx
add edx, esi
mov dword [esp + 0x14], edx
test edi, 0x8000
je 0x10088dd5
mov ecx, dword [ebx + 0x24]
mov eax, dword [ebx]
mov esi, dword [ebx + 0x20]
mov edi, ecx
sub edi, eax
sub esi, eax
cmp edx, edi
jae 0x10088d9f
add eax, edx
jmp 0x10088da1
mov eax, ecx
mov dword [ebx + 0x20], eax
mov ecx, dword [ebp + 0x4c]
push ecx
push ebx
lea eax, [esp + 0x50]
call fcn.10086360
mov ecx, dword [ebx + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx]
sub ecx, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 0x24]
mov edx, ecx
sub edx, eax
add esp, 8
cmp esi, edx
jae 0x10088dd2
lea ecx, [eax + esi]
mov dword [ebx + 0x20], ecx
mov esi, dword [esp + 0x78]
xor eax, eax
test esi, esi
jbe 0x10088dfd
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 4]
mov edi, dword [ecx + eax*8]
mov dword [edx + eax*8], edi
mov ecx, dword [ecx + eax*8 + 4]
mov dword [edx + eax*8 + 4], ecx
inc eax
cmp eax, esi
jb 0x10088de3
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
jbe 0x1008929d
push ebx
call fcn.1004eb90
movzx edx, ax
push ebx
mov dword [esp + 0x5c], edx
call fcn.1004eb90
movzx esi, ax
add esp, 8
test esi, 0x8000
je 0x10088e55
xor edi, edi
cmp dword [ebp], edi
jbe 0x10088e87
push ebx
call fcn.1004eb90
mov ecx, dword [esp + 0x3c]
cwde
add eax, eax
add eax, eax
mov dword [ecx + edi*4], eax
inc edi
add esp, 4
cmp edi, dword [ebp]
jb 0x10088e38
jmp 0x10088e87
mov eax, esi
and eax, 0xfff
cmp eax, dword [ebp + 0x3c]
jae 0x10089295
mov ecx, dword [ebp]
imul eax, ecx
lea edx, [ecx*4]
mov ecx, dword [ebp + 0x40]
push edx
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x3c]
push edx
push eax
call fcn.10105350
add esp, 0xc
test esi, 0x4000
je 0x10088edb
xor edi, edi
cmp dword [ebp], edi
jbe 0x10088eb3
push ebx
call fcn.1004eb90
mov edx, dword [esp + 0x40]
movsx ecx, ax
add ecx, ecx
add ecx, ecx
mov dword [edx + edi*4], ecx
inc edi
add esp, 4
cmp edi, dword [ebp]
jb 0x10088e96
xor edi, edi
cmp dword [ebp], edi
jbe 0x10088edb
lea ebx, [ebx]
push ebx
call fcn.1004eb90
mov ecx, dword [esp + 0x44]
cwde
add eax, eax
add eax, eax
mov dword [ecx + edi*4], eax
inc edi
add esp, 4
cmp edi, dword [ebp]
jb 0x10088ec0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push esi
push ebp
call fcn.10087a10
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10088f06
mov edx, dword [esp + 0x54]
add dword [esp + 0x14], edx
jmp 0x10089280
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x20]
mov edx, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x64], ecx
mov ecx, dword [ebx + 0x24]
mov edi, ecx
sub edi, eax
cmp edx, edi
jae 0x10088f24
add eax, edx
jmp 0x10088f26
mov eax, ecx
mov dword [ebx + 0x20], eax
test esi, 0x2000
je 0x10088f4e
mov eax, dword [ebp + 0x4c]
push eax
push ebx
lea eax, [esp + 0x54]
call fcn.10086360
mov edi, dword [esp + 0x54]
add esp, 8
mov dword [esp + 0x44], eax
mov esi, eax
jmp 0x10088f5a
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x78]
test edi, edi
je 0x10088f64
mov eax, edi
mov ecx, dword [ebp + 0x4c]
push eax
push ecx
push ebx
call fcn.100864d0
add esp, 0xc
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x78]
test edi, edi
je 0x10088f80
mov eax, edi
mov edx, dword [ebp + 0x4c]
push eax
push edx
push ebx
call fcn.100864d0
add esp, 0xc
mov dword [esp + 0x30], eax
test esi, esi
je 0x10089225
test eax, eax
je 0x10089225
cmp dword [esp + 0x2c], 0
je 0x10089225
cmp esi, 0xffffffff
jne 0x100890a6
xor edi, edi
cmp dword [esp + 0x78], edi
jbe 0x10089225
mov esi, eax
mov eax, dword [esp + 0x2c]
sub eax, esi
mov dword [esp + 0x50], eax
mov edi, edi
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x28]
movsx edx, word [ecx + esi]
push eax
push edx
call fcn.10078b70
movsx ecx, word [esi]
mov ebp, eax
mov eax, dword [esp + 0x30]
push eax
push ecx
call fcn.10078b70
mov ecx, dword [esp + 0x88]
add ecx, 0xfffffffc
add esp, 0x10
cmp edi, ecx
jae 0x1008901e
mov edx, dword [esp + 0x74]
mov ecx, dword [edx + 4]
add dword [ecx + edi*8], ebp
mov edx, dword [edx + 4]
lea ecx, [ecx + edi*8]
lea ecx, [edx + edi*8 + 4]
mov edx, dword [esp + 0x78]
jmp 0x10089093
mov edx, dword [esp + 0x78]
lea ecx, [edx - 4]
cmp edi, ecx
jne 0x10089045
mov ecx, dword [esp + 0x70]
test byte [ecx + 0x2c0], 4
jne 0x10089045
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
add dword [ecx + edi*8], ebp
lea eax, [ecx + edi*8]
jmp 0x10089095
lea ecx, [edx - 3]
cmp edi, ecx
mov ecx, dword [esp + 0x70]
jne 0x10089068
test byte [ecx + 0x2c0], 2
jne 0x10089068
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
add dword [ecx + edi*8], ebp
lea eax, [ecx + edi*8]
jmp 0x10089095
lea ebp, [edx - 2]
cmp edi, ebp
jne 0x10089078
test byte [ecx + 0x2c0], 0x20
je 0x10089088
lea ebp, [edx - 1]
cmp edi, ebp
jne 0x10089095
test byte [ecx + 0x2c0], 0x10
jne 0x10089095
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + edi*8 + 4]
add dword [ecx], eax
inc edi
add esi, 2
cmp edi, edx
jb 0x10088fd0
jmp 0x10089225
xor ecx, ecx
cmp dword [esp + 0x78], ecx
jbe 0x100890de
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
sub edx, eax
jmp 0x100890c0
mov ebp, dword [esp + 0x24]
mov byte [ecx + ebp], 0
mov ebp, dword [edx + eax]
mov dword [eax], ebp
mov ebp, dword [edx + eax + 4]
mov dword [eax + 4], ebp
inc ecx
add eax, 8
cmp ecx, dword [esp + 0x78]
jb 0x100890c0
test edi, edi
jbe 0x10089145
mov ebp, dword [esp + 0x2c]
mov ebx, esi
mov esi, dword [esp + 0x30]
sub ebx, ebp
sub esi, ebp
mov dword [esp + 0x50], edi
movzx eax, word [ebx + ebp]
movzx edi, ax
cmp edi, dword [esp + 0x78]
jae 0x10089137
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov byte [edi + edx], 1
movsx ecx, word [ebp]
push eax
push ecx
call fcn.10078b70
mov ecx, dword [esp + 0x20]
add dword [ecx + edi*8], eax
mov edx, dword [esp + 0x30]
movsx eax, word [esi + ebp]
push edx
push eax
lea edi, [ecx + edi*8 + 4]
call fcn.10078b70
add esp, 0x10
add dword [edi], eax
add ebp, 2
sub dword [esp + 0x50], 1
jne 0x100890f4
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x18]
push ecx
push edi
push ebp
call fcn.10088a70
xor eax, eax
add esp, 0xc
cmp dword [esp + 0x78], eax
jbe 0x10089225
mov edx, dword [esp + 0x18]
sub edx, edi
lea esi, [edi + 4]
mov dword [esp + 0x50], edx
jmp 0x10089184
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x78]
mov ecx, dword [ecx + eax*8]
mov edx, dword [edx + esi]
sub ecx, dword [esi - 4]
sub edx, dword [esi]
add edi, 0xfffffffc
cmp eax, edi
jae 0x100891a9
mov edi, dword [ebp + 4]
add dword [edi + eax*8], ecx
lea edi, [edi + eax*8]
jmp 0x1008920c
jne 0x100891c3
mov edi, dword [esp + 0x70]
test byte [edi + 0x2c0], 4
jne 0x100891c3
mov edx, dword [ebp + 4]
add dword [edx + eax*8], ecx
lea edx, [edx + eax*8]
jmp 0x10089217
mov edi, dword [esp + 0x78]
add edi, 0xfffffffd
cmp eax, edi
mov edi, dword [esp + 0x70]
jne 0x100891e6
test byte [edi + 0x2c0], 2
jne 0x100891e6
mov edx, dword [ebp + 4]
add dword [edx + eax*8], ecx
lea edx, [edx + eax*8]
jmp 0x10089217
mov ecx, dword [esp + 0x78]
add ecx, 0xfffffffe
cmp eax, ecx
jne 0x100891fa
test byte [edi + 0x2c0], 0x20
je 0x1008920c
mov ecx, dword [esp + 0x78]
dec ecx
cmp eax, ecx
jne 0x10089217
test byte [edi + 0x2c0], 0x10
jne 0x10089217
mov ecx, dword [ebp + 4]
add dword [ecx + eax*8 + 4], edx
lea ecx, [ecx + eax*8 + 4]
inc eax
add esi, 8
cmp eax, dword [esp + 0x78]
jb 0x10089180
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x10089244
push eax
push esi
call fcn.1004f1e0
add esp, 8
mov dword [esp + 0x44], 0
mov edx, dword [esp + 0x2c]
push edx
push esi
call fcn.1004f1e0
mov eax, dword [esp + 0x38]
push eax
push esi
call fcn.1004f1e0
mov ecx, dword [esp + 0x64]
add dword [esp + 0x24], ecx
mov ecx, dword [ebx + 0x24]
mov eax, dword [ebx]
mov edx, dword [esp + 0x74]
mov esi, ecx
sub esi, eax
add esp, 0x10
cmp edx, esi
jae 0x10089279
lea ecx, [eax + edx]
mov ebp, dword [esp + 0x68]
mov dword [ebx + 0x20], ecx
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
cmp eax, dword [esp + 0x5c]
jb 0x10088e10
jmp 0x1008929d
mov dword [esp + 0x10], 8
cmp dword [esp + 0x34], 0xffffffff
je 0x100892b8
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
push edx
push edi
call fcn.1004f1e0
add esp, 8
jmp 0x100892bc
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
push eax
push edi
call fcn.1004f1e0
mov ecx, dword [esp + 0x44]
push ecx
push edi
call fcn.1004f1e0
mov edx, dword [esp + 0x50]
push edx
push edi
call fcn.1004f1e0
push ebx
call fcn.10050930
add esp, 0x1c
mov eax, dword [esp + 0x20]
push eax
push edi
call fcn.1004f1e0
mov ecx, dword [esp + 0x20]
push ecx
push edi
call fcn.1004f1e0
mov edx, dword [esp + 0x34]
push edx
push edi
call fcn.1004f1e0
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x5c
ret