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

Disassembly:
sub esp, 0x7c
mov eax, 0x10
mov dword [esp + 0x6c], eax
push ebx
mov dword [esp + 0x64], 0xc7620
mov dword [esp + 0x54], eax
push esi
push edi
xor esi, esi
mov dword [esp + 0x80], 0x7d0
mov dword [esp + 0x64], 0x1388
push ebp
push 0x5208
mov dword [esp + 0x84], esi
mov dword [esp + 0x68], esi
call fcn.100365b0
mov dword [esp + 0x78], eax
add esp, 4
push 0x5208
call fcn.100365b0
mov dword [esp + 0x5c], eax
add esp, 4
cmp dword [esp + 0x74], esi
je 0x100030c2
cmp eax, esi
je 0x100030c2
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x94]
push esi
mov dword [esp + 0x7c], eax
push 0xc2800
mov dword [esp + 0x64], ecx
push edx
call fcn.10036380
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xa0]
add esp, 0xc
push 0x4e20
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x7c]
mov edx, dword [esp + 0xa0]
add esp, 0xc
push ecx
push esi
push 0xc2000
push edx
call fcn.10003300
add esp, 0x10
test eax, eax
jl 0x100030c7
lea eax, [esp + 0x54]
mov ecx, dword [esp + 0x94]
push eax
push ecx
call fcn.10003970
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x9c]
add esp, 8
push 0
push ecx
push edx
call fcn.10036380
mov ebx, dword [esp + 0x9c]
add esp, 0xc
movsx ecx, word [ebx + 0xe]
push ecx
mov eax, dword [ebx + 4]
push eax
call fcn.100382f0
mov dword [esp + 0x40], eax
add esp, 8
push 0x5208
call fcn.100365b0
mov dword [esp + 0x30], eax
add esp, 4
test eax, eax
jne 0x10002a93
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov ecx, dword [esp + 0x38]
lea esi, [ecx*4 + 0xc8]
push esi
call fcn.100365b0
mov dword [esp + 0x20], eax
add esp, 4
test eax, eax
jne 0x10002abc
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov ecx, dword [esp + 0x38]
lea edi, [ecx*2 + 0xc8]
push edi
call fcn.100365b0
mov dword [esp + 0x1c], eax
add esp, 4
push esi
call fcn.100365b0
add esp, 4
mov ebp, eax
cmp dword [esp + 0x18], 0
je 0x100030b5
test ebp, ebp
je 0x100030b5
push edi
call fcn.100365b0
mov dword [esp + 0x34], eax
add esp, 4
push esi
call fcn.100365b0
mov dword [esp + 0x28], eax
add esp, 4
cmp dword [esp + 0x30], 0
je 0x100030a8
test eax, eax
je 0x100030a8
push edi
call fcn.100365b0
mov dword [esp + 0x38], eax
add esp, 4
push esi
call fcn.100365b0
mov dword [esp + 0x2c], eax
add esp, 4
cmp dword [esp + 0x34], 0
je 0x1000309b
test eax, eax
je 0x1000309b
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
add eax, 0x600
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0xfffffff0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x2c]
add eax, 0x780
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x14], 0x200
jge 0x10002ff6
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x44]
cmp eax, 0x10
jl 0x10002c0c
mov eax, dword [esp + 0xa4]
push 0
mov ecx, dword [esp + 0x98]
push eax
push ecx
call fcn.10036380
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
add esp, 0xc
push 0x4800
push ecx
push edx
call fcn.10036430
add esp, 0xc
test eax, eax
je 0x10002fb5
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
add dword [esp + 0xa4], 0x4800
mov eax, dword [esp + 0x18]
push 0x300
mov ecx, dword [esp + 0x24]
push 2
push eax
push ecx
call fcn.100031f0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x50]
add esp, 0x10
push 0x180
push 2
push ecx
push edx
call fcn.100031f0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x4c]
add esp, 0x10
push 0x180
push 2
push ecx
push edx
call fcn.100031f0
add esp, 0x10
test byte [esp + 0x14], 1
je 0x10002c75
add dword [esp + 0x20], 0x600
mov eax, 0x900
add dword [esp + 0x40], eax
add dword [esp + 0x3c], eax
jmp 0x10002c7d
add dword [esp + 0x20], 0x300
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x44]
cmp eax, 0x10
jl 0x10002cf5
mov eax, dword [esp + 0xa4]
push 0
mov ecx, dword [esp + 0x98]
push eax
push ecx
call fcn.10036380
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
add esp, 0xc
push 0x4800
push ecx
push edx
call fcn.10036430
add esp, 0xc
test eax, eax
je 0x10002fc2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
add dword [esp + 0xa4], 0x4800
mov eax, dword [esp + 0x18]
push 0x300
add eax, 0xc00
push 2
mov ecx, dword [esp + 0x28]
push eax
mov dword [esp + 0x54], eax
push ecx
call fcn.100031f0
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x44]
add esp, 0x10
add edi, 0x300
mov ecx, 0xc0
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x30]
add edi, 0x300
mov ecx, 0xc0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x18]
push 2
push 0x600
push ecx
call fcn.10003230
lea ecx, [esp + 0x7c]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x1c]
add esp, 0xc
push ecx
push edx
cdq
sub eax, edx
sar eax, 1
push eax
push 0x600
mov eax, dword [esp + 0x28]
push eax
call fcn.100035a0
add esp, 0x14
test eax, eax
jl 0x10002fcf
mov eax, dword [esp + 0x18]
push 0x600
push 2
push ebp
push eax
call fcn.100031f0
add esp, 0x10
mov eax, dword [ebx + 4]
push 0x600
lea ecx, [ebp + eax*2]
mov eax, dword [esp + 0x1c]
push 2
push ecx
add eax, 0x600
push eax
call fcn.100031f0
mov eax, dword [esp + 0x58]
add esp, 0x10
mov ecx, dword [ebx + 4]
push 0x600
push 2
lea edx, [ebp + ecx*4]
push edx
push eax
call fcn.100031f0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
add esp, 0x10
push 0x300
push 2
push ecx
push edx
call fcn.100031f0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
add esp, 0x10
push 0x300
push 2
push ecx
push edx
call fcn.100031f0
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x38]
add esp, 0x10
add edi, 0x600
mov ecx, 0x180
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x24]
add edi, 0x600
mov ecx, 0x180
rep movsd dword es:[edi], dword [esi]
push 2
mov ecx, dword [ebx + 4]
push ecx
push ebp
call fcn.10003230
add esp, 0xc
mov eax, dword [ebx + 4]
push 2
lea ecx, [ebp + eax*2]
push eax
push ecx
call fcn.10003230
lea ecx, [esp + 0x60]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x1c]
add esp, 0xc
push ecx
push edx
push eax
push 0xc00
push ebp
call fcn.100035a0
add esp, 0x14
test eax, eax
jl 0x10002fdc
lea eax, [esp + 0x54]
mov ecx, dword [esp + 0x94]
push eax
push ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 4]
add eax, 2
lea edx, [ebp + ecx*2]
push eax
push 0xc00
push edx
call fcn.100035a0
add esp, 0x14
test eax, eax
jl 0x10002fe9
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x1c]
add eax, eax
mov edx, dword [esp + 0x24]
push eax
push ecx
mov eax, dword [esp + 0x30]
push edx
push eax
push ebp
call fcn.100030d0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0xb0]
inc dword [esp + 0x24]
add esp, 0x14
push ecx
push edx
mov edx, dword [esp + 0x24]
push eax
push edx
call dword [esp + 0xa8]
add esp, 0x10
mov esi, eax
test esi, esi
jl 0x10002f27
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x9c]
push ecx
inc dword [esp + 0x14]
push eax
push edx
mov eax, dword [ebx + 4]
lea eax, [eax + eax*2]
add eax, dword [esp + 0x28]
push eax
call dword [esp + 0xa8]
add esp, 0x10
mov esi, eax
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x1c]
add ecx, ecx
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
push ecx
push edx
add ecx, ebp
push eax
push edi
push ecx
call fcn.100030d0
add esp, 0x14
test esi, esi
jl 0x10002fa3
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x9c]
push ecx
inc dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
push edx
push eax
call dword [esp + 0xa8]
add esp, 0x10
mov esi, eax
test esi, esi
jl 0x10002fab
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x9c]
push ecx
inc dword [esp + 0x14]
push eax
push edx
mov eax, dword [ebx + 4]
lea eax, [eax + eax*2]
add eax, dword [esp + 0x28]
push eax
call dword [esp + 0xa8]
add esp, 0x10
mov esi, eax
test esi, esi
jge 0x10002b8a
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xfffffff4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xfffffff4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xfffffffd
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xfffffffd
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xfffffffd
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, dword [esp + 0x1c]
push eax
call fcn.10036640
mov eax, dword [esp + 0x30]
add esp, 4
push eax
call fcn.10036640
add esp, 4
push ebp
call fcn.10036640
mov eax, dword [esp + 0x2c]
add esp, 4
push eax
call fcn.10036640
mov eax, dword [esp + 0x28]
add esp, 4
push eax
call fcn.10036640
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call fcn.10036640
mov eax, dword [esp + 0x38]
add esp, 4
push eax
call fcn.10036640
mov eax, dword [esp + 0x34]
add esp, 4
push eax
call fcn.10036640
mov eax, dword [esp + 0x78]
add esp, 4
push eax
call fcn.10036640
mov eax, dword [esp + 0x8c]
add esp, 4
push eax
call fcn.10036640
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
call fcn.10036640
mov eax, dword [esp + 0x70]
add esp, 4
push eax
call fcn.10036640
add esp, 4
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret