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

Disassembly:
sub esp, 0x2a0
mov eax, dword [esp + 0x2ac]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x120], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x124], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x128], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x12c], edx
mov edx, dword [eax + 0x14]
push ebx
push ebp
mov dword [esp + 0x138], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x13c], edx
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
push esi
mov dword [esp + 0x14c], eax
push edi
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], edx
mov esi, 3
lea eax, [esp + 0x1f0]
lea ebp, [esp + 0x130]
mov dword [esp + 0x10], 0x2133790
jmp 0x413af0
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
nop
mov edi, esi
lea edx, [edi + edi*2]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
lea eax, [ebp + edx*4]
mov edx, dword [ebp]
mov dword [eax], edx
mov edx, dword [ebp + 4]
xor ecx, ecx
lea ebx, [ebp + 8]
mov dword [eax + 4], edx
mov edx, dword [ebx]
xor esi, esi
cmp edi, ecx
mov dword [esp + 0x14], ebp
mov dword [eax + 8], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], ecx
jle 0x413b93
mov edx, ebp
mov edi, edi
mov eax, dword [esp + 0x10]
fld dword [edx + 4]
fmul dword [eax + 4]
fld dword [edx]
fmul dword [eax]
faddp st(1)
fadd dword [eax + 8]
fcom dword [0x436adc]
fst dword [esp + ecx*4 + 0x30]
fnstsw ax
test ah, 0x41
jne 0x413b60
fstp st(0)
mov dword [esp + ecx*4 + 0x70], 0
jmp 0x413b7f
fcomp dword [0x436adc]
fnstsw ax
test ah, 5
jp 0x413b77
mov dword [esp + ecx*4 + 0x70], 1
jmp 0x413b7f
mov dword [esp + ecx*4 + 0x70], 2
mov eax, dword [esp + ecx*4 + 0x70]
inc dword [esp + eax*4 + 0x24]
lea eax, [esp + eax*4 + 0x24]
inc ecx
add edx, 0xc
cmp ecx, edi
jl 0x413b30
mov eax, dword [esp + 0x70]
fld dword [esp + 0x30]
mov dword [esp + ecx*4 + 0x70], eax
fstp dword [esp + ecx*4 + 0x30]
cmp dword [esp + 0x28], edi
je 0x41418b
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
add ecx, edx
cmp ecx, edi
jne 0x413bf6
test edi, edi
mov esi, edi
jle 0x413ef2
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov edx, ebp
add eax, 4
sub edx, ebx
mov ecx, ebp
mov ebx, edi
mov edi, dword [ecx]
mov dword [eax - 4], edi
mov edi, dword [edx + eax]
mov dword [eax], edi
mov edi, dword [ecx + 8]
mov dword [eax + 4], edi
add ecx, 0xc
add eax, 0xc
dec ebx
jne 0x413bd8
jmp 0x413ef2
xor edx, edx
cmp edi, 4
jl 0x413e44
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], 3
mov eax, ebx
mov ebp, dword [esp + edx*4 + 0x70]
cmp ebp, 2
jne 0x413c2c
mov ebx, dword [eax - 8]
mov dword [ecx], ebx
mov ebx, dword [eax - 4]
mov dword [ecx + 4], ebx
mov ebx, dword [eax]
mov dword [ecx + 8], ebx
inc esi
add ecx, 0xc
test ebp, ebp
jne 0x413c44
mov ebx, dword [eax - 8]
mov dword [ecx], ebx
mov ebx, dword [eax - 4]
mov dword [ecx + 4], ebx
mov ebx, dword [eax]
mov dword [ecx + 8], ebx
inc esi
add ecx, 0xc
mov ebx, dword [esp + edx*4 + 0x74]
cmp ebx, 2
je 0x413c9a
cmp ebx, ebp
je 0x413c95
fld dword [esp + edx*4 + 0x30]
inc esi
fsub dword [esp + edx*4 + 0x34]
add ecx, 0xc
fdivr dword [esp + edx*4 + 0x30]
fld dword [eax - 8]
fld st(0)
fsub dword [eax + 4]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 0xc]
fstp st(0)
fld dword [eax - 4]
fld st(0)
fsub dword [eax + 8]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 8]
fstp st(0)
fld dword [eax]
fld st(0)
fsub dword [eax + 0xc]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 4]
fstp st(0)
fstp st(0)
cmp ebx, 2
jne 0x413caf
mov ebp, dword [eax + 4]
mov dword [ecx], ebp
mov ebp, dword [eax + 8]
mov dword [ecx + 4], ebp
mov ebp, dword [eax + 0xc]
mov dword [ecx + 8], ebp
inc esi
add ecx, 0xc
test ebx, ebx
jne 0x413cc8
mov ebp, dword [eax + 4]
mov dword [ecx], ebp
mov ebp, dword [eax + 8]
mov dword [ecx + 4], ebp
mov ebp, dword [eax + 0xc]
mov dword [ecx + 8], ebp
inc esi
add ecx, 0xc
mov ebp, dword [esp + edx*4 + 0x78]
cmp ebp, 2
je 0x413d1f
cmp ebp, ebx
je 0x413d1a
fld dword [esp + edx*4 + 0x34]
inc esi
fsub dword [esp + edx*4 + 0x38]
add ecx, 0xc
fdivr dword [esp + edx*4 + 0x34]
fld dword [eax + 4]
fld st(0)
fsub dword [eax + 0x10]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 0xc]
fstp st(0)
fld dword [eax + 8]
fld st(0)
fsub dword [eax + 0x14]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 8]
fstp st(0)
fld dword [eax + 0xc]
fld st(0)
fsub dword [eax + 0x18]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 4]
fstp st(0)
fstp st(0)
cmp ebp, 2
jne 0x413d34
mov ebx, dword [eax + 0x10]
mov dword [ecx], ebx
mov ebx, dword [eax + 0x14]
mov dword [ecx + 4], ebx
mov ebx, dword [eax + 0x18]
mov dword [ecx + 8], ebx
inc esi
add ecx, 0xc
test ebp, ebp
jne 0x413d4d
mov ebx, dword [eax + 0x10]
mov dword [ecx], ebx
mov ebx, dword [eax + 0x14]
mov dword [ecx + 4], ebx
mov ebx, dword [eax + 0x18]
mov dword [ecx + 8], ebx
inc esi
add ecx, 0xc
mov ebx, dword [esp + edx*4 + 0x7c]
cmp ebx, 2
je 0x413da4
cmp ebx, ebp
je 0x413d9f
fld dword [esp + edx*4 + 0x38]
inc esi
fsub dword [esp + edx*4 + 0x3c]
add ecx, 0xc
fdivr dword [esp + edx*4 + 0x38]
fld dword [eax + 0x10]
fld st(0)
fsub dword [eax + 0x1c]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 0xc]
fstp st(0)
fld dword [eax + 0x14]
fld st(0)
fsub dword [eax + 0x20]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 8]
fstp st(0)
fld dword [eax + 0x18]
fld st(0)
fsub dword [eax + 0x24]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 4]
fstp st(0)
fstp st(0)
cmp ebx, 2
jne 0x413db9
mov ebp, dword [eax + 0x1c]
mov dword [ecx], ebp
mov ebp, dword [eax + 0x20]
mov dword [ecx + 4], ebp
mov ebp, dword [eax + 0x24]
mov dword [ecx + 8], ebp
inc esi
add ecx, 0xc
test ebx, ebx
jne 0x413dd2
mov ebp, dword [eax + 0x1c]
mov dword [ecx], ebp
mov ebp, dword [eax + 0x20]
mov dword [ecx + 4], ebp
mov ebp, dword [eax + 0x24]
mov dword [ecx + 8], ebp
inc esi
add ecx, 0xc
mov ebp, dword [esp + edx*4 + 0x80]
cmp ebp, 2
je 0x413e27
cmp ebp, ebx
je 0x413e27
fld dword [esp + edx*4 + 0x3c]
inc esi
fsub dword [esp + edx*4 + 0x40]
add ecx, 0xc
fdivr dword [esp + edx*4 + 0x3c]
fld dword [eax + 0x1c]
fld st(0)
fsub dword [eax + 0x28]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 0xc]
fstp st(0)
fld dword [eax + 0x20]
fld st(0)
fsub dword [eax + 0x2c]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 8]
fstp st(0)
fld dword [eax + 0x24]
fld st(0)
fsub dword [eax + 0x30]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 4]
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0x1c]
add ebx, 4
add edx, 4
add eax, 0x30
cmp ebx, edi
mov dword [esp + 0x1c], ebx
jl 0x413c0f
mov ebp, dword [esp + 0x14]
cmp edx, edi
jge 0x413ef2
mov ecx, dword [esp + 0x18]
lea eax, [esi + esi*2]
lea ecx, [ecx + eax*4]
lea eax, [edx + edx*2]
lea eax, [ebp + eax*4 + 4]
lea ecx, [ecx]
mov ebx, dword [esp + edx*4 + 0x70]
cmp ebx, 2
jne 0x413e7d
mov ebp, dword [eax - 4]
mov dword [ecx], ebp
mov ebp, dword [eax]
mov dword [ecx + 4], ebp
mov ebp, dword [eax + 4]
mov dword [ecx + 8], ebp
inc esi
add ecx, 0xc
test ebx, ebx
jne 0x413e95
mov ebp, dword [eax - 4]
mov dword [ecx], ebp
mov ebp, dword [eax]
mov dword [ecx + 4], ebp
mov ebp, dword [eax + 4]
mov dword [ecx + 8], ebp
inc esi
add ecx, 0xc
mov ebp, dword [esp + edx*4 + 0x74]
cmp ebp, 2
je 0x413ee6
cmp ebp, ebx
je 0x413ee6
fld dword [esp + edx*4 + 0x30]
inc esi
fsub dword [esp + edx*4 + 0x34]
add ecx, 0xc
fdivr dword [esp + edx*4 + 0x30]
fld dword [eax - 4]
fld st(0)
fsub dword [eax + 8]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 0xc]
fstp st(0)
fld dword [eax]
fld st(0)
fsub dword [eax + 0xc]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 8]
fstp st(0)
fld dword [eax + 4]
fld st(0)
fsub dword [eax + 0x10]
fmul st(2)
fsubr st(1)
fstp dword [ecx - 4]
fstp st(0)
fstp st(0)
inc edx
add eax, 0xc
cmp edx, edi
jl 0x413e60
mov eax, dword [esp + 0x10]
add eax, 0xc
cmp eax, 0x21337c0
mov dword [esp + 0x10], eax
jl 0x413ae7
fld dword [0x4369fc]
xor eax, eax
cmp esi, 4
fdiv dword [esp + 0x2b4]
fstp dword [esp + 0x14]
fld dword [0x4369fc]
fdiv dword [esp + 0x2b8]
fstp dword [esp + 0x10]
jl 0x414085
mov ecx, dword [esp + 0x18]
mov edx, 3
add ecx, 0xc
fld dword [ecx - 8]
fsub dword [0x213377c]
fld dword [ecx - 0xc]
fsub dword [0x2133778]
fld dword [0x21337a8]
fmul st(1)
fld st(2)
fmul dword [0x21337ac]
faddp st(1)
fmul dword [esp + 0x14]
fstp dword [esp + eax*8 + 0xb0]
fmul dword [0x213379c]
fchs
fxch st(1)
fmul dword [0x21337a0]
fsubp st(1)
fmul dword [esp + 0x10]
fstp dword [esp + eax*8 + 0xb4]
fld dword [ecx + 4]
fsub dword [0x213377c]
fld dword [ecx]
fsub dword [0x2133778]
fld dword [0x21337a8]
fmul st(1)
fld st(2)
fmul dword [0x21337ac]
faddp st(1)
fmul dword [esp + 0x14]
fstp dword [esp + eax*8 + 0xb8]
fmul dword [0x213379c]
fchs
fxch st(1)
fmul dword [0x21337a0]
fsubp st(1)
fmul dword [esp + 0x10]
fstp dword [esp + eax*8 + 0xbc]
fld dword [ecx + 0xc]
fsub dword [0x2133778]
fld dword [ecx + 0x10]
fsub dword [0x213377c]
fld dword [0x21337ac]
fmul st(1)
fld st(2)
fmul dword [0x21337a8]
faddp st(1)
fmul dword [esp + 0x14]
fstp dword [esp + eax*8 + 0xc0]
fxch st(1)
fmul dword [0x213379c]
fchs
fxch st(1)
fmul dword [0x21337a0]
fsubp st(1)
fmul dword [esp + 0x10]
fstp dword [esp + eax*8 + 0xc4]
fld dword [ecx + 0x18]
fsub dword [0x2133778]
fld dword [ecx + 0x1c]
fsub dword [0x213377c]
fld dword [0x21337ac]
fmul st(1)
fld st(2)
fmul dword [0x21337a8]
faddp st(1)
fmul dword [esp + 0x14]
fstp dword [esp + eax*8 + 0xc8]
fxch st(1)
fmul dword [0x213379c]
fchs
fxch st(1)
fmul dword [0x21337a0]
fsubp st(1)
fmul dword [esp + 0x10]
fstp dword [esp + eax*8 + 0xcc]
add edx, 4
add eax, 4
add ecx, 0x30
cmp edx, esi
jl 0x413f41
cmp eax, esi
jge 0x4140e7
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*4]
fld dword [ecx + 4]
inc eax
fsub dword [0x213377c]
add ecx, 0xc
cmp eax, esi
fld dword [ecx - 0xc]
fsub dword [0x2133778]
fld dword [0x21337a8]
fmul st(1)
fld st(2)
fmul dword [0x21337ac]
faddp st(1)
fmul dword [esp + 0x14]
fstp dword [esp + eax*8 + 0xa8]
fmul dword [0x213379c]
fchs
fxch st(1)
fmul dword [0x21337a0]
fsubp st(1)
fmul dword [esp + 0x10]
fstp dword [esp + eax*8 + 0xac]
jl 0x414093
lea eax, [esi - 1]
cmp eax, 1
jle 0x41418b
mov ecx, dword [esp + 0x18]
mov ebx, dword [sym.imp.OPENGL32.dll_glTexCoord2fv]
mov ebp, dword [sym.imp.OPENGL32.dll_glVertex3fv]
add ecx, 0xc
lea edx, [esp + 0xb8]
dec eax
mov dword [esp + 0x1c], 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
lea eax, [esp + 0xb0]
push eax
call ebx
mov ecx, dword [esp + 0x18]
push ecx
call ebp
mov edx, dword [esp + 0x10]
push edx
call ebx
mov eax, dword [esp + 0x14]
push eax
call ebp
mov eax, dword [esp + 0x1c]
cdq
idiv esi
mov edi, edx
lea ecx, [esp + edi*8 + 0xb0]
push ecx
call ebx
mov eax, dword [esp + 0x18]
lea edx, [edi + edi*2]
lea ecx, [eax + edx*4]
push ecx
call ebp
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add edi, 8
add edx, 0xc
inc ecx
dec eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
jne 0x414122
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2a0
ret