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

Disassembly:
sub esp, 0x94
mov eax, dword [0x1005d3b0]
xor eax, esp
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x9c]
push ebx
push ebp
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xac]
push esi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xbc]
push edi
push ecx
sub eax, ecx
mov dword [esp + 0x50], edx
push eax
push edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x68], 0
call fcn.10028c60
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x100287c1
mov eax, dword [esp + 0x10]
mov edi, ebx
lea eax, [eax + eax*2]
add eax, 2
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10029a70
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 1]
lea eax, [ecx + eax*2]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.10029a70
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
cmp esi, 2
jbe 0x100282d3
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 1]
lea eax, [ecx + eax*2]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.10029a70
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 1]
lea eax, [ecx + eax*2]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.10029a70
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 1]
lea eax, [ecx + eax*2]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.10029a70
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 1]
lea eax, [ecx + eax*2]
push eax
lea eax, [esp + 0x94]
push eax
call fcn.10029a70
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
lea eax, [esp + 0x60]
push 1
push eax
call fcn.1002a200
lea eax, [esp + 0x68]
push eax
push ebp
push eax
call fcn.10028b70
mov ebx, eax
add esp, 0x14
test ebx, ebx
js 0x100287c1
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x1c]
call fcn.10029220
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x1c]
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
lea eax, [esp + 0x80]
push ebp
push eax
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x8c]
push eax
call fcn.10028910
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x100287c1
mov ebx, dword [esp + 0x10]
lea eax, [ebx*4 + 1]
imul eax, esi
push eax
call fcn.1003d854
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10028280
lea ebx, [eax - 2]
jmp 0x100287c1
lea ecx, [esi - 1]
add ecx, eax
mov eax, esi
neg eax
push esi
and ecx, eax
lea eax, [esp + 0x64]
push ebx
push ecx
push eax
mov dword [esp + 0x30], ecx
call fcn.10028860
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x100287c1
cmp edi, 4
jae 0x1002830b
lea eax, [esp + 0x28]
shl edi, 4
push eax
lea eax, [esp + 0x64]
add eax, edi
push eax
call fcn.10029220
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
mov edi, esi
jmp 0x1002830b
lea eax, [esp + 0x28]
test edi, edi
jne 0x100282f4
push 1
push eax
call fcn.1002a200
lea eax, [esp + 0x30]
push eax
push ebp
push eax
call fcn.10028b70
add esp, 0x14
jmp 0x10028301
push eax
push dword [esp + 0x1c]
call fcn.10029220
add esp, 8
mov ebx, eax
test ebx, ebx
js 0x100287c1
mov eax, 4
mov dword [esp + 0x14], eax
cmp esi, eax
jbe 0x10028464
mov ecx, esi
mov edi, edi
mov esi, eax
and esi, 3
test al, 1
je 0x100283c0
mov eax, esi
lea ebx, [esp + 0x60]
shl eax, 4
add eax, ebx
push ebp
push eax
push dword [esp + 0x20]
add eax, 0xfffffff0
push eax
call fcn.10028910
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x100287c1
mov eax, dword [esp + 0x14]
cmp esi, 3
jne 0x10028453
push dword [esp + 0x1c]
add eax, 0xfffffffd
push dword [esp + 0x14]
add eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.10028860
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x100287c1
mov eax, dword [esp + 0x14]
cmp edi, eax
ja 0x10028453
lea eax, [esp + 0x28]
and edi, esi
push eax
shl edi, 4
lea eax, [esp + 0x64]
add eax, edi
push eax
call fcn.10029220
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
mov edi, dword [esp + 0x1c]
jmp 0x1002844f
cmp eax, 8
jbe 0x100283e0
push ecx
push dword [esp + 0x14]
shr eax, 1
add eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.10028bb0
add esp, 0x10
jmp 0x10028400
shr eax, 1
lea ebx, [esp + 0x60]
and eax, 3
cmp eax, esi
jne 0x10028419
lea ecx, [esp + 0x38]
shl eax, 4
push ecx
add eax, ebx
push eax
call fcn.10029220
add esp, 8
mov ebx, eax
test ebx, ebx
js 0x100287c1
lea eax, [esp + 0x60]
shl esi, 4
add esi, eax
lea eax, [esp + 0x38]
jmp 0x10028427
shl esi, 4
add esi, ebx
shl eax, 4
lea ebx, [esp + 0x60]
add eax, ebx
push esi
push eax
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push esi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x14], eax
cmp eax, ecx
jb 0x10028320
mov ecx, dword [esp + 0xc4]
lea esi, [esp + 0x28]
lea edi, [esp + 0x38]
cmp ecx, 1
je 0x100284a1
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 1]
lea eax, [ecx + eax*2]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10029a70
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
lea eax, [ecx + ecx]
sub edx, eax
mov dword [esp + 0xc0], edx
js 0x100287ab
lea ebx, [ebx]
push ecx
push edx
push dword [esp + 0x54]
call fcn.10028c60
mov ebx, eax
add esp, 0xc
test ebx, ebx
js 0x100287c1
mov eax, dword [esp + 0xc4]
dec eax
mov dword [esp + 0x14], ebx
cmp eax, 5
ja case.0x100284ed.2
jmp dword [eax*4 + 0x1002883c]
test ebx, ebx
jne 0x1002851b
push edi
push esi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push edi
call fcn.10028ad0
add esp, 8
jmp 0x1002867f
test bl, 1
je case.0x100284ed.2
push edi
push esi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push edi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push esi
push dword [esp + 0x20]
jmp 0x1002877f
push edi
push esi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push edi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push esi
push edi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push esi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push edi
push esi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push edi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push esi
push edi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push esi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push edi
push esi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push edi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push esi
push edi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push esi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push dword [esp + 0x14]
add eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.10028bb0
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x100287c1
push ebp
push edi
lea eax, [esp + 0x58]
push eax
push esi
call fcn.10028910
add esp, 0x10
mov ebx, eax
test ebx, ebx
js 0x100287c1
mov eax, esi
mov esi, edi
mov edi, eax
jmp 0x1002878e
push edi
push esi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push edi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push esi
push edi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push esi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push edi
push esi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push edi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push esi
push edi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push esi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push edi
push esi
call fcn.1002a2f0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push ebp
push edi
call fcn.10028ad0
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x100287c1
push dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push dword [esp + 0x14]
add eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.10028bb0
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x100287c1
push ebp
push esi
lea eax, [esp + 0x58]
push eax
push edi
call fcn.10028910
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x100287c1
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
sub edx, ecx
mov dword [esp + 0xc0], edx
jns 0x100284c0
push ebp
push esi
call fcn.10028ad0
push dword [esp + 0x50]
mov ebx, eax
push esi
call fcn.100296b0
add esp, 0x10
lea eax, [esp + 0x28]
push eax
call fcn.10029030
lea eax, [esp + 0x3c]
push eax
call fcn.10029030
lea eax, [esp + 0x68]
push eax
call fcn.10029030
lea eax, [esp + 0x7c]
push eax
call fcn.10029030
lea eax, [esp + 0x90]
push eax
call fcn.10029030
lea eax, [esp + 0xa4]
push eax
call fcn.10029030
lea eax, [esp + 0x68]
push eax
call fcn.10029030
push dword [esp + 0x40]
call fcn.1003d81c
mov ecx, dword [esp + 0xc0]
add esp, 0x20
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003cf2f
add esp, 0x94
ret
call fcn.1003d8e6
lea ecx, [ecx]
hlt