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

Disassembly:
sub esp, 0x224
mov eax, dword [0x1004e3b0]
xor eax, esp
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
push ebx
mov ebx, dword [esp + 0x23c]
push ebp
push esi
mov esi, dword [esp + 0x234]
push edi
mov edi, dword [esp + 0x24c]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x250]
xor ebp, ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], ebx
cmp edi, ebp
jne 0x1002eca1
mov eax, 0xfffffffc
jmp 0x1002f266
cmp esi, ebp
jne 0x1002ecbf
cmp eax, ebp
je 0x1002ec97
cmp ecx, ebp
je 0x1002ec97
cmp edx, ebp
je 0x1002ec97
mov esi, dword [esp + 0x1c]
push esi
push ebx
push edx
push ecx
push eax
jmp 0x1002f25d
cmp eax, ebp
je 0x1002f254
cmp ecx, ebp
je 0x1002f254
cmp edx, ebp
je 0x1002f254
lea eax, [esp + 0x4c]
mov ecx, 4
mov dword [eax - 0x10], ebp
mov dword [eax], ebp
mov dword [eax + 0x10], ebp
mov dword [eax + 0x20], ebp
mov dword [eax + 0x30], ebp
mov dword [eax + 0x40], ebp
mov dword [eax + 0x50], ebp
mov dword [eax + 0x60], ebp
sub eax, 0xffffff80
dec ecx
jne 0x1002ece0
lea eax, [esp + 0x40]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], eax
jmp 0x1002ed12
xor ebp, ebp
mov ebx, dword [esp + 0x18]
lea ecx, [ebx - 0x10]
push 0x14
push ecx
call fcn.10029160
mov esi, eax
add esp, 8
test esi, esi
js 0x1002f222
push 0x14
push ebx
call fcn.10029160
mov esi, eax
add esp, 8
test esi, esi
js 0x1002f222
inc ebp
add ebx, 0x20
cmp ebp, 4
jl 0x1002ed16
mov eax, dword [esp + 0x20]
sub dword [esp + 0x18], 0xffffff80
inc eax
mov dword [esp + 0x20], eax
cmp eax, 4
jl 0x1002ed10
mov ebx, dword [esp + 0x24]
push ebx
call fcn.10029110
mov esi, dword [esp + 0x30]
push esi
mov ebp, eax
call fcn.10029110
add esp, 8
cmp eax, ebp
jge 0x1002ee2e
mov edx, dword [edi + 4]
cmp dword [edx + 0x44], 0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], esi
lea ecx, [esp + 0xb0]
je 0x1002edce
mov eax, edx
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [eax + 0x44]
push ecx
push edx
call eax
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1002f222
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [eax + 0x44]
lea ecx, [esp + 0xc4]
push ecx
push edx
call eax
add esp, 0xc
jmp 0x1002edfb
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.10029230
mov esi, eax
add esp, 8
test esi, esi
js 0x1002f222
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xc0]
push eax
push ecx
call fcn.10029230
add esp, 8
mov esi, eax
test esi, esi
js 0x1002f222
lea edx, [esp + 0x50]
push edx
lea eax, [edi + 0x2c]
push eax
call fcn.10029230
mov esi, eax
add esp, 8
test esi, esi
js 0x1002f222
lea ecx, [esp + 0x60]
push ecx
lea edx, [edi + 0x3c]
push edx
jmp 0x1002eed8
lea eax, [esp + 0xb0]
push eax
lea ecx, [edi + 0x2c]
push ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], ebx
call fcn.10029230
mov esi, eax
add esp, 8
test esi, esi
js 0x1002f222
lea edx, [esp + 0xc0]
push edx
lea eax, [edi + 0x3c]
push eax
call fcn.10029230
mov esi, eax
add esp, 8
test esi, esi
js 0x1002f222
mov ecx, dword [edi + 4]
cmp dword [ecx + 0x44], 0
je 0x1002eeb2
mov eax, ecx
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x54]
push edx
mov edx, dword [eax + 0x44]
push ecx
call edx
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1002f222
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [eax + 0x44]
lea ecx, [esp + 0x64]
push ecx
push edx
call eax
add esp, 0xc
jmp 0x1002eee0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x50]
push ecx
push edx
call fcn.10029230
mov esi, eax
add esp, 8
test esi, esi
js 0x1002f222
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x60]
push eax
push ecx
call fcn.10029230
add esp, 8
mov esi, eax
test esi, esi
js 0x1002f222
lea edx, [esp + 0x30]
push edx
call fcn.10029370
lea eax, [esp + 0x44]
push eax
call fcn.10029370
push edi
lea ecx, [esp + 0x14c]
push ecx
lea edx, [esp + 0x140]
push edx
mov edx, dword [edi + 0x68]
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0xc8]
push ecx
call edx
mov esi, eax
add esp, 0x1c
test esi, esi
js 0x1002f222
push edi
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x1b8]
push ecx
lea edx, [esp + 0x14c]
push edx
lea eax, [esp + 0x140]
push eax
mov eax, dword [edi + 0x60]
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0xc8]
push edx
call eax
mov esi, eax
add esp, 0x1c
test esi, esi
js 0x1002f222
mov ebp, 1
lea ebx, [esp + 0xd0]
push edi
lea ecx, [ebx + 0x10]
push ecx
push ebx
lea edx, [ebx - 0x10]
push edx
lea eax, [ebx - 0x20]
push eax
mov eax, dword [edi + 0x60]
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x68]
push edx
call eax
mov esi, eax
add esp, 0x1c
test esi, esi
js 0x1002f222
inc ebp
sub ebx, 0xffffff80
cmp ebp, 4
jl 0x1002ef80
push edi
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0x78]
push edx
mov edx, dword [edi + 0x68]
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x60]
push ecx
call edx
mov esi, eax
add esp, 0x14
test esi, esi
js 0x1002f222
mov ebp, 1
lea ebx, [esp + 0xf0]
lea esp, [esp]
push edi
lea eax, [ebx + 0x10]
push eax
push ebx
lea ecx, [ebx - 0x30]
push ecx
lea edx, [ebx - 0x40]
push edx
mov edx, dword [edi + 0x60]
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x88]
push ecx
call edx
mov esi, eax
add esp, 0x1c
test esi, esi
js 0x1002f222
inc ebp
sub ebx, 0xffffff80
cmp ebp, 4
jl 0x1002eff0
push edi
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x80]
push eax
mov eax, dword [edi + 0x60]
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x68]
push edx
call eax
mov esi, eax
add esp, 0x1c
test esi, esi
js 0x1002f222
mov ebp, 1
lea ebx, [esp + 0x110]
push edi
lea ecx, [ebx + 0x10]
push ecx
push ebx
lea edx, [ebx - 0x50]
push edx
lea eax, [ebx - 0x60]
push eax
mov eax, dword [edi + 0x60]
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0xa8]
push edx
call eax
mov esi, eax
add esp, 0x1c
test esi, esi
js 0x1002f222
inc ebp
sub ebx, 0xffffff80
cmp ebp, 4
jl 0x1002f072
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10029110
mov ebp, dword [esp + 0x2c]
inc eax
cdq
sub eax, edx
mov ebx, eax
push ebp
sar ebx, 1
call fcn.10029370
mov edx, dword [esp + 0x24]
push edx
call fcn.10029370
add esp, 0xc
dec ebx
mov dword [esp + 0x20], ebx
js 0x1002f1f2
lea eax, [ebx + ebx]
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
push esi
inc ebx
call fcn.10029110
add esp, 4
cmp ebx, eax
jl 0x1002f106
mov dword [esp + 0x10], 0
jmp 0x1002f114
push ebx
push esi
call fcn.10029040
add esp, 8
mov dword [esp + 0x10], eax
shl dword [esp + 0x10], 1
push esi
call fcn.10029110
mov ecx, dword [esp + 0x18]
add esp, 4
cmp ecx, eax
jl 0x1002f12d
xor eax, eax
jmp 0x1002f137
push ecx
push esi
call fcn.10029040
add esp, 8
mov esi, dword [esp + 0x24]
or dword [esp + 0x10], eax
push esi
call fcn.10029110
add esp, 4
cmp ebx, eax
jl 0x1002f150
xor ebx, ebx
jmp 0x1002f15c
push ebx
push esi
call fcn.10029040
add esp, 8
mov ebx, eax
push esi
add ebx, ebx
call fcn.10029110
mov ecx, dword [esp + 0x18]
add esp, 4
cmp ecx, eax
jl 0x1002f173
xor eax, eax
jmp 0x1002f17d
push ecx
push esi
call fcn.10029040
add esp, 8
mov ecx, dword [edi + 0x68]
push edi
or ebx, eax
mov eax, dword [esp + 0x20]
push eax
push ebp
push eax
push ebp
call ecx
mov esi, eax
add esp, 0x14
test esi, esi
js 0x1002f222
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 0x68]
push edi
push eax
push ebp
push eax
push ebp
call edx
mov esi, eax
add esp, 0x14
test esi, esi
js 0x1002f222
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
push edi
push ecx
lea eax, [ebx + eax*4]
shl eax, 5
push ebp
lea edx, [esp + eax + 0x4c]
push edx
lea eax, [esp + eax + 0x40]
push eax
push ecx
mov ecx, dword [edi + 0x60]
push ebp
call ecx
mov esi, eax
add esp, 0x1c
test esi, esi
js 0x1002f222
mov eax, dword [esp + 0x20]
sub dword [esp + 0x14], 2
dec eax
mov dword [esp + 0x20], eax
test eax, eax
jns 0x1002f0e6
mov edx, dword [edi + 4]
cmp dword [edx + 0x48], 0
je 0x1002f222
mov eax, edx
push eax
mov eax, dword [eax + 0x48]
push ebp
push ebp
call eax
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1002f222
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x48]
push edi
push eax
push eax
call ecx
add esp, 0xc
mov esi, eax
lea edi, [esp + 0x40]
mov ebp, 4
jmp 0x1002f230
mov ebx, 4
lea edx, [edi - 0x10]
push edx
call fcn.10029320
push edi
call fcn.10029320
add esp, 8
add edi, 0x20
dec ebx
jne 0x1002f235
dec ebp
jne 0x1002f230
mov eax, esi
jmp 0x1002f266
mov eax, dword [esp + 0x1c]
push eax
push ebx
push ebp
push ebp
push esi
push edi
call fcn.1002ea90
add esp, 0x18
mov ecx, dword [esp + 0x230]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003d054
add esp, 0x224
ret