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

Disassembly:
push 0xffffffffffffffff
push 0x43edbc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
mov eax, dword [0x44b6d0]
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xc0], eax
mov dword [esp + 0x14], edi
call fcn.0042b070
mov esi, eax
push 0x108
mov dword [esp + 0x14], esi
call fcn.00430d06
add esp, 4
mov dword [esp + 0xc], eax
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0xcc], ebx
je 0x402bd9
mov ecx, eax
call fcn.0042a2c0
jmp 0x402bdb
xor eax, eax
cmp esi, ebx
mov ecx, dword [edi + 0x90]
mov dword [esp + 0xc], eax
mov dword [esp + 0xcc], 0xffffffff
mov dword [eax + 0x5c], ecx
je 0x40306a
push ebp
lea esp, [esp]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x24], ebx
je 0x402c0e
mov esi, dword [eax + 0x20]
jmp 0x402c13
mov esi, 0x4411cc
mov eax, esi
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x402c28
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x24]
call fcn.00401c50
mov eax, dword [esp + 0x30]
cmp eax, eax
mov dword [esp + 0xd0], 1
mov ebp, eax
jae 0x402c51
cmp ebp, ebx
je 0x402ea1
cmp ebp, 0xa
mov ecx, ebp
jb 0x402c65
mov ecx, 0xa
cmp dword [esp + 0x34], 0x10
mov esi, dword [esp + 0x20]
jae 0x402c74
lea esi, [esp + 0x20]
mov edi, str.polypoints
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x402c84
sbb edx, edx
sbb edx, 0xffffffff
cmp edx, ebx
jne 0x402ea1
cmp ebp, 0xa
jb 0x402ea1
xor edx, edx
cmp ebp, 0xa
setne dl
cmp edx, ebx
jne 0x402ea1
mov ecx, dword [esp + 0x14]
call fcn.0042b070
mov edi, eax
cmp edi, ebx
je 0x402e9d
cmp dword [edi + 0x24], ebx
je 0x402cc2
mov ecx, dword [edi + 0x20]
jmp 0x402cc7
mov ecx, 0x4411cc
mov ebp, 0xf
mov eax, ecx
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x402ce6
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0xb0]
call fcn.00401c50
push 0x441244
mov ecx, edi
mov byte [esp + 0xd4], 2
call fcn.0042c860
mov ecx, eax
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
lea esi, [ecx + 1]
jmp 0x402d30
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x402d30
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x94]
call fcn.00401c50
push 0x441240
mov ecx, edi
mov byte [esp + 0xd4], 3
call fcn.0042c860
mov ecx, eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x402d70
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x40]
call fcn.00401c50
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov esi, 0x10
cmp eax, esi
mov byte [esp + 0xd0], 4
jae 0x402da1
lea ecx, [esp + 0x3c]
cmp dword [esp + 0xa4], esi
mov eax, dword [esp + 0x90]
jae 0x402db8
lea eax, [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x14]
push eax
call fcn.00407740
mov ecx, edi
call fcn.0042b0a0
mov edi, eax
cmp dword [esp + 0x50], esi
mov eax, dword [esp + 0x3c]
jae 0x402dda
lea eax, [esp + 0x3c]
push eax
call fcn.00431ed5
mov ebp, dword [esp + 0x1c]
fld dword [ebp + 0x74]
add esp, 4
fcompp
fnstsw ax
test ah, 5
jp 0x402e0d
cmp dword [esp + 0x50], esi
mov eax, dword [esp + 0x3c]
jae 0x402e01
lea eax, [esp + 0x3c]
push eax
call fcn.00431ed5
fstp dword [ebp + 0x74]
add esp, 4
cmp dword [esp + 0x50], esi
jb 0x402e20
mov eax, dword [esp + 0x3c]
push eax
call fcn.0043134d
add esp, 4
cmp dword [esp + 0xa4], esi
mov ebp, 0xf
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
jb 0x402e4a
mov ecx, dword [esp + 0x90]
push ecx
call fcn.0043134d
add esp, 4
cmp dword [esp + 0xc0], esi
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
mov byte [esp + 0xd0], 1
jb 0x402e80
mov edx, dword [esp + 0xac]
push edx
call fcn.0043134d
add esp, 4
cmp edi, ebx
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
jne 0x402cb8
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x40301f
cmp eax, 7
mov ecx, eax
jb 0x402eb5
mov ecx, 7
cmp dword [esp + 0x34], 0x10
mov esi, dword [esp + 0x20]
jae 0x402ec4
lea esi, [esp + 0x20]
mov edi, str.texture
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x402ed4
sbb edx, edx
sbb edx, 0xffffffff
cmp edx, ebx
jne 0x40301f
cmp eax, 7
jb 0x40301f
xor edx, edx
cmp eax, 7
setne dl
cmp edx, ebx
jne 0x40301f
mov edi, dword [esp + 0x14]
push str.fname
mov ecx, edi
call fcn.0042c860
mov esi, eax
mov ecx, esi
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
cmp al, bl
jne 0x402f22
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x78]
call fcn.00401c50
cmp dword [esp + 0x88], 0x10
mov eax, dword [esp + 0x74]
mov byte [esp + 0xd0], 5
jae 0x402f50
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x90]
push ecx
lea ecx, [eax + 0x7c]
call fcn.0042a9a0
mov ebp, dword [esp + 0x10]
push str.tipe
mov ecx, edi
mov dword [ebp + 0xc8], eax
call fcn.0042c860
mov esi, eax
mov ecx, esi
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
cmp al, bl
jne 0x402f91
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x5c]
call fcn.00401c50
mov eax, dword [esp + 0x6c]
mov esi, 0x10
cmp eax, esi
mov eax, dword [esp + 0x58]
jae 0x402fba
lea eax, [esp + 0x58]
push eax
call fcn.00431e91
mov dword [ebp + 0xc0], eax
mov eax, dword [esp + 0x70]
add esp, 4
cmp eax, esi
jb 0x402fde
mov edx, dword [esp + 0x58]
push edx
call fcn.0043134d
add esp, 4
cmp dword [esp + 0x88], esi
mov edi, 0xf
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
mov byte [esp + 0xd0], 1
jb 0x40300d
mov eax, dword [esp + 0x74]
push eax
call fcn.0043134d
add esp, 4
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
mov ecx, dword [esp + 0x14]
call fcn.0042b0a0
mov esi, eax
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x14], esi
mov dword [esp + 0xd0], 0xffffffff
jb 0x40304d
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0043134d
add esp, 4
cmp esi, ebx
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
jne 0x402c00
mov eax, dword [esp + 0x10]
pop ebp
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xb8]
pop ebx
call fcn.00431ec7
add esp, 0xc4
ret 4