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

Disassembly:
fld dword [0x54fb38]
sub esp, 0x6c
push edi
mov edi, ecx
fld dword [edi + 0x24]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4184af
mov eax, dword [edi + 0x244]
test eax, eax
je 0x4184af
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x418441
mov eax, dword [edi + 0x178]
mov ecx, dword [eax + 0xf8]
test ecx, ecx
je 0x4184af
mov eax, dword [edi + 0x68]
test eax, eax
push ebx
push ebp
push esi
je 0x4184b6
mov eax, dword [edi + 0x19c]
xor esi, esi
test eax, eax
jle 0x4184ac
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x8c]
test esi, esi
jl 0x4193d6
cmp esi, dword [edi + 0x19c]
jge 0x4193d6
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
push ebx
push ebp
push ecx
mov ecx, dword [edi + 0x198]
mov ecx, dword [ecx + esi*4]
push edx
push eax
call fcn.00418400
mov eax, dword [edi + 0x19c]
inc esi
cmp esi, eax
jl 0x418465
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x6c
ret 0x14
mov esi, dword [sym.imp.opengl32.dll_glEnable]
push 0xbe2
call esi
push 0xde1
call esi
mov esi, dword [sym.imp.opengl32.dll_glTexParameteri]
push 0x2900
push 0x2802
push 0xde1
call esi
push 0x2900
push 0x2803
push 0xde1
call esi
fld dword [0x54fb34]
mov edx, dword [edi + 4]
fdiv dword [edx + 0x60c]
call fcn.004eaa58
mov dword [esp + 0x24], eax
call dword [sym.imp.opengl32.dll_glLoadIdentity]
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x54]
dec eax
test ecx, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x58], 0xffffffff
je 0x418535
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x58], 1
mov ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x418540
mov edx, dword [edi + 0x54]
test edx, edx
je 0x418588
cmp ecx, dword [edi + 0x40]
jl 0x41858c
mov dword [esp + 0x18], eax
mov ecx, dword [edi + 0x54]
test ecx, ecx
je 0x418af2
cmp eax, dword [edi + 0x40]
jl 0x418afa
call dword [sym.imp.opengl32.dll_glFlush]
mov esi, dword [sym.imp.opengl32.dll_glDisable]
push 0xbe2
call esi
push 0xde1
call esi
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x6c
ret 0x14
test ecx, ecx
jl 0x41854c
test ecx, ecx
jl 0x4193d6
cmp ecx, dword [edi + 0x40]
jge 0x4193d6
mov eax, dword [edi + 0x3c]
mov esi, dword [eax + ecx*4]
fld dword [esi + 0x34]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 0x41
jne 0x418add
mov ecx, dword [esi + 0xe4]
mov eax, dword [ecx + 0x114]
test eax, eax
je 0x418add
mov eax, dword [ecx + 0x11c]
test eax, eax
je 0x418add
movzx edx, byte [esi + 0xc7]
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x68], edx
xor ebx, ebx
cmp eax, ebx
fild dword [esp + 0x68]
fmul dword [ecx + 0x50]
fmul dword [0x54fea0]
je 0x418619
mov eax, dword [edi + 0x178]
mov edx, dword [edi + 0x70]
fld dword [eax + 0xe4]
fmul dword [edx + 0x1d0]
fmul st(1)
fstp dword [esp + 0x30]
fstp st(0)
jmp 0x418623
fmul dword [edi + 0x1d0]
fstp dword [esp + 0x30]
fld dword [esp + 0x90]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x418664
mov eax, dword [edi + 4]
fld dword [eax + 0x60c]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 0x41
jne 0x418664
mov eax, dword [edi + 4]
fld dword [eax + 0x614]
fmul dword [eax + 0x60c]
fmul dword [esp + 0x30]
fstp dword [esp + 0x30]
mov edx, dword [edi + 0x60]
mov eax, dword [edi + 0x50]
mov ecx, dword [ecx + 0x9c]
push edx
push eax
push ecx
mov ecx, dword [edi + 4]
call fcn.0049c110
mov ecx, dword [esi + 0xe4]
mov edx, dword [ecx + 0x9c]
mov ebp, dword [esi + 0xf8]
cmp ebp, dword [edx + 0xc]
jl 0x418698
mov dword [esi + 0xf8], ebx
mov edx, dword [esi + 0xf8]
fld dword [0x54fb34]
add eax, edx
mov dword [esp + 0x1c], eax
cmp dword [ecx + 0xc0], ebx
mov dword [esp + 0x4c], 0x3f800000
je 0x4186c2
mov dword [esp + 0x4c], 0xbf800000
cmp dword [ecx + 0xc4], ebx
je 0x4186d2
fstp st(0)
fld dword [0x550e20]
mov eax, dword [ecx + 0x9c]
mov ecx, dword [eax + 0xc]
add eax, 4
cmp ecx, ebx
jle 0x4193d4
mov eax, dword [eax + 4]
fld dword [0x54fb34]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x60], eax
mov eax, dword [eax + 8]
cmp ecx, eax
mov dword [esp + 0x20], 0x3f800000
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
jle 0x41871d
fild dword [esp + 0x50]
fidiv dword [esp + 0x54]
fstp dword [esp + 0x20]
jmp 0x418729
jge 0x418729
fstp st(0)
fild dword [esp + 0x54]
fidiv dword [esp + 0x50]
fmul dword [esp + 0x4c]
mov eax, dword [edi + 0x190]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 0x168]
fstp dword [esp + 0x44]
mov dword [esp + 0x34], edx
fld dword [esp + 0x20]
mov dword [esp + 0x3c], ebx
fmul st(1)
fstp dword [esp + 0x20]
fstp st(0)
fild dword [esp + 0x24]
fstp dword [esp + 0x28]
fld dword [eax + 0x16c]
fsub dword [eax + 0x168]
mov eax, dword [esp + 0x24]
cmp eax, ebx
fdiv dword [esp + 0x28]
fmul dword [ecx + 0x610]
fstp dword [esp + 0x5c]
jle 0x418add
mov ebp, dword [sym.imp.opengl32.dll_glVertex2f]
mov ebx, dword [sym.imp.opengl32.dll_glTexCoord2f]
mov edi, edi
fld dword [esp + 0x90]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x4187bb
fild dword [esp + 0x3c]
mov eax, dword [edi + 4]
fmul dword [eax + 0x610]
fdiv dword [esp + 0x28]
fstp dword [esp + 0x10]
jmp 0x4187c6
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x10], ecx
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x29c]
test ecx, ecx
je 0x4187f9
fld dword [esp + 0x10]
mov ecx, dword [eax + 0x298]
test ecx, ecx
fmul dword [0x54fb3c]
fstp dword [esp + 0x10]
je 0x4187f9
fld dword [esp + 0x10]
fadd dword [0x54fb3c]
fstp dword [esp + 0x10]
fld dword [esi + 0x3c]
mov ecx, dword [esp + 0x34]
fsub dword [esi + 0xa0]
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x18]
fmul dword [esp + 0x14]
push eax
push ecx
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fld dword [esi + 0x38]
fsub dword [esi + 0xa4]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
push edx
push eax
call fcn.0049ba90
mov eax, dword [edi + 0x190]
fld dword [eax + 0x150]
add esp, 0x14
fsub dword [eax + 0x158]
fmul dword [esp + 0x10]
fstp dword [esp + 0x64]
fld dword [eax + 0x154]
fsub dword [eax + 0x15c]
fmul dword [esp + 0x10]
fstp dword [esp + 0x68]
call dword [sym.imp.opengl32.dll_glLoadIdentity]
mov eax, dword [edi + 0x50]
fild dword [esp + 0x84]
push 0
sub esp, 8
test eax, eax
jne 0x41889e
fadd dword [esi + 0xa4]
fadd dword [esp + 0x38]
fstp dword [esp + 4]
fild dword [esp + 0x8c]
fadd dword [esp + 0x20]
jmp 0x4188fc
fadd dword [esp + 0x38]
fstp dword [esp + 4]
fild dword [esp + 0x8c]
fadd dword [esp + 0x20]
fstp dword [esp]
call dword [sym.imp.opengl32.dll_glTranslatef]
fld dword [esp + 0x34]
push 0x3f800000
push 0
fchs
push 0
push ecx
fstp dword [esp]
call dword [sym.imp.opengl32.dll_glRotatef]
mov eax, dword [edi + 0x190]
fld dword [eax + 0x15c]
push 0
fadd dword [esi + 0xa4]
sub esp, 8
fadd dword [esp + 0x74]
fstp dword [esp + 4]
fld dword [esp + 0x70]
fadd dword [eax + 0x158]
fadd dword [esi + 0xa0]
fstp dword [esp]
call dword [sym.imp.opengl32.dll_glTranslatef]
fld dword [esi + 0x40]
push 0x3f800000
fsub dword [esi + 0xa8]
push 0
push 0
push ecx
fmul dword [esp + 0x20]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fadd dword [esi + 0xa8]
fstp dword [esp]
call dword [sym.imp.opengl32.dll_glRotatef]
push 0x303
push 0x302
call dword [sym.imp.opengl32.dll_glBlendFunc]
mov eax, dword [edi + 0x50]
test eax, eax
mov ecx, dword [esp + 0x1c]
je 0x41895e
mov eax, dword [edi + 4]
add eax, 0x644
jmp 0x418974
mov eax, dword [edi + 0x60]
test eax, eax
mov eax, dword [edi + 4]
je 0x41896f
add eax, 0x738
jmp 0x418974
add eax, 0x61c
test ecx, ecx
jl 0x4193d6
cmp ecx, dword [eax + 8]
jge 0x4193d6
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + edx*4]
push eax
push 0xde1
call dword [sym.imp.opengl32.dll_glBindTexture]
fld dword [esi + 0x48]
fsub dword [esi + 0xac]
fmul dword [esp + 0x10]
fadd dword [esi + 0xac]
fstp dword [esp + 0x68]
fld dword [esi + 0x50]
mov eax, dword [esp + 0x68]
fsub dword [esi + 0xb0]
push eax
push ecx
fmul dword [esp + 0x18]
fadd dword [esi + 0xb0]
fstp dword [esp]
push eax
call dword [sym.imp.opengl32.dll_glScalef]
mov ecx, dword [esp + 0x30]
push ecx
push 0
push 0
push 0
call dword [sym.imp.opengl32.dll_glColor4f]
mov eax, dword [esi + 0xe4]
fld dword [eax + 0x120]
mov ecx, dword [esp + 0x60]
fmul qword [0x550e18]
push 7
fidiv dword [ecx + 4]
fstp dword [esp + 0x4c]
fld dword [eax + 0x124]
fmul qword [0x550e18]
fidiv dword [ecx + 8]
fstp dword [esp + 0x58]
call dword [sym.imp.opengl32.dll_glBegin]
push 0
push 0
call ebx
fld dword [esp + 0x54]
fsub dword [esp + 0x20]
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
fld dword [esp + 0x48]
push edx
fsub dword [esp + 0x48]
fstp dword [esp + 0x54]
mov eax, dword [esp + 0x54]
push eax
call ebp
push 0x3f800000
push 0
call ebx
fld dword [esp + 0x54]
fadd dword [esp + 0x20]
mov edx, dword [esp + 0x50]
fstp dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
push ecx
push edx
call ebp
push 0x3f800000
push 0x3f800000
call ebx
fld dword [esp + 0x48]
fadd dword [esp + 0x44]
mov eax, dword [esp + 0x54]
push eax
fstp dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
push ecx
call ebp
push 0
push 0x3f800000
call ebx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x50]
push edx
push eax
call ebp
call dword [sym.imp.opengl32.dll_glEnd]
fld dword [esp + 0x34]
fadd dword [esp + 0x5c]
fstp dword [esp + 0x34]
fld dword [esp + 0x90]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 0x41
je 0x418add
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x3c], eax
jl 0x418790
mov ecx, dword [esp + 0x58]
add dword [esp + 0x18], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
jmp 0x418540
test eax, eax
jl 0x418564
test eax, eax
jl 0x4193d6
cmp eax, dword [edi + 0x40]
jge 0x4193d6
mov edx, dword [edi + 0x3c]
mov esi, dword [edx + eax*4]
fld dword [esi + 0x34]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 0x41
jne 0x4193c1
mov ecx, dword [esi + 0xe4]
mov eax, dword [ecx + 0x11c]
test eax, eax
je 0x4193c1
mov eax, dword [ecx + 0x9c]
mov edx, dword [eax + 0xc]
add eax, 4
test edx, edx
jle 0x4193d6
fld dword [ecx + 0x124]
mov eax, dword [eax + 4]
fld dword [ecx + 0x120]
mov eax, dword [eax]
fadd st(0), st(0)
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x44]
fidiv dword [eax + 4]
push edx
push ecx
fstp dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
fadd st(0), st(0)
fidiv dword [eax + 8]
fstp dword [esp + 0x50]
fld dword [esi + 0x40]
mov eax, dword [esp + 0x50]
fchs
fstp dword [esp]
push eax
push ecx
call fcn.0049ba90
fld dword [esp + 0x54]
fmul dword [esi + 0x48]
add esp, 0x14
fld dword [esp + 0x44]
fmul dword [esi + 0x50]
fld dword [esi + 0x3c]
fsub dword [esi + 0xa0]
fcom dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x418bbb
fchs
fld dword [edi + 0x1ac]
fmul dword [esi + 0x48]
fadd st(1)
fmul dword [0x550df4]
fstp dword [esp + 0x64]
fstp st(0)
fld dword [esi + 0x38]
fsub dword [esi + 0xa4]
fcom dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x418bea
fchs
fld dword [edi + 0x1b0]
mov eax, dword [edi + 0x190]
fmul dword [esi + 0x50]
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x38]
fadd st(1)
push ecx
fmul dword [0x550df4]
fstp dword [esp + 0x5c]
fstp st(0)
fild dword [esp + 0x90]
fstp dword [esp + 0x70]
fild dword [esp + 0x94]
fstp dword [esp + 0x68]
fld dword [esi + 0x3c]
fsub st(2)
fadd dword [eax + 0x150]
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
fld dword [esi + 0x38]
fsub st(1)
fadd dword [eax + 0x154]
fstp dword [esp + 0x38]
mov edx, dword [eax + 0x168]
mov eax, dword [esp + 0x38]
push edx
fstp st(0)
push eax
fstp st(0)
push ecx
call fcn.0049ba90
mov eax, dword [esp + 0x9c]
add esp, 0x14
test eax, eax
jl 0x418cd4
mov eax, dword [esp + 0x8c]
test eax, eax
jl 0x418cd4
fld dword [esp + 0x68]
fadd dword [esp + 0x64]
fld st(0)
fchs
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 5
jp 0x4193bf
fld dword [esp + 0x34]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x4193c1
fld dword [esp + 0x60]
fadd dword [esp + 0x54]
fld st(0)
fchs
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 5
jp 0x4193bf
fld dword [esp + 0x30]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x4193c1
movzx eax, byte [esi + 0xc7]
mov edx, dword [esi + 0xe4]
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x6c]
test eax, eax
fild dword [esp + 0x68]
fmul dword [edx + 0x50]
fmul dword [0x54fea0]
je 0x418d18
mov ecx, dword [edi + 0x178]
mov eax, dword [edi + 0x70]
fld dword [ecx + 0xe4]
fmul dword [eax + 0x1d0]
fmul st(1)
fstp dword [esp + 0x10]
fstp st(0)
jmp 0x418d22
fmul dword [edi + 0x1d0]
fstp dword [esp + 0x10]
mov ebx, dword [edx + 0x9c]
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x4193d6
fld dword [esp + 0x90]
mov ecx, dword [ebx + 8]
fcomp dword [0x54fb38]
mov ebp, dword [ecx]
mov dword [esp + 0x6c], ebp
fnstsw ax
test ah, 5
jp 0x418dab
mov ecx, dword [edi + 4]
fld dword [ecx + 0x60c]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 0x41
jne 0x418dab
mov eax, dword [edx + 0x108]
test eax, eax
je 0x418d84
mov eax, ecx
fld dword [eax + 0x614]
fmul dword [eax + 0x60c]
fmul dword [esp + 0x10]
jmp 0x418da7
mov eax, dword [ecx + 0x2a0]
fld dword [esp + 0x10]
test eax, eax
je 0x418da1
mov eax, dword [ebp + 0x1c]
test eax, eax
jne 0x418da1
fmul dword [ecx + 0x60c]
jmp 0x418da7
fmul dword [0x54fb3c]
fstp dword [esp + 0x10]
movzx eax, byte [esi + 0xc4]
fld dword [0x54fb34]
fsub dword [edi + 0x1e4]
movzx ecx, byte [esi + 0xc5]
mov dword [esp + 0x68], eax
movzx eax, byte [esi + 0xc6]
fild dword [esp + 0x68]
mov dword [esp + 0x68], ecx
mov ecx, dword [edi + 4]
fmul dword [0x54fea0]
fmul st(1)
fild dword [edi + 0x204]
fmul dword [0x54fea0]
fmul dword [edi + 0x1e4]
faddp st(1)
fstp dword [esp + 0x50]
fild dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 0x38c]
test eax, eax
fmul dword [0x54fea0]
fmul st(1)
fild dword [edi + 0x208]
fmul dword [0x54fea0]
fmul dword [edi + 0x1e4]
faddp st(1)
fstp dword [esp + 0x4c]
fild dword [esp + 0x68]
fmul dword [0x54fea0]
fmul st(1)
fild dword [edi + 0x20c]
fmul dword [0x54fea0]
fmul dword [edi + 0x1e4]
faddp st(1)
fstp dword [esp + 0x48]
fstp st(0)
je 0x418e81
mov eax, dword [edx + 0x108]
test eax, eax
je 0x418e81
fld dword [esp + 0x50]
fmul dword [esp + 0x10]
fstp dword [esp + 0x50]
fld dword [esp + 0x4c]
fmul dword [esp + 0x10]
fstp dword [esp + 0x4c]
fld dword [esp + 0x48]
fmul dword [esp + 0x10]
fstp dword [esp + 0x48]
mov edx, dword [edi + 0x60]
mov eax, dword [edi + 0x50]
push edx
push eax
push ebx
call fcn.0049c110
mov ecx, dword [esi + 0xe4]
mov edx, dword [ecx + 0x9c]
mov ebx, dword [esi + 0xf8]
cmp ebx, dword [edx + 0xc]
jl 0x418eb0
mov dword [esi + 0xf8], 0
mov edx, dword [esi + 0xf8]
fld dword [0x54fb34]
add eax, edx
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0xc0]
test eax, eax
mov dword [esp + 0x5c], 0x3f800000
je 0x418edc
mov dword [esp + 0x5c], 0xbf800000
mov eax, dword [ecx + 0xc4]
test eax, eax
je 0x418eee
fstp st(0)
fld dword [0x550e20]
mov eax, dword [ebp + 4]
fld dword [0x54fb34]
mov ecx, dword [ebp + 8]
cmp eax, ecx
mov dword [esp + 0x2c], 0x3f800000
mov dword [esp + 0x54], eax
mov dword [esp + 0x28], ecx
jle 0x418f1c
fild dword [esp + 0x28]
fidiv dword [esp + 0x54]
fstp dword [esp + 0x2c]
jmp 0x418f28
jge 0x418f28
fstp st(0)
fild dword [esp + 0x54]
fidiv dword [esp + 0x28]
fmul dword [esp + 0x5c]
mov eax, dword [edi + 0x190]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 0x168]
fstp dword [esp + 0x68]
mov dword [esp + 0x3c], edx
fld dword [esp + 0x2c]
mov dword [esp + 0x54], 0
fmul st(1)
fstp dword [esp + 0x2c]
fstp st(0)
fild dword [esp + 0x24]
fstp dword [esp + 0x28]
fld dword [eax + 0x16c]
fsub dword [eax + 0x168]
mov eax, dword [esp + 0x24]
test eax, eax
fdiv dword [esp + 0x28]
fmul dword [ecx + 0x610]
fstp dword [esp + 0x78]
jle 0x4193c1
jmp 0x418f90
fld dword [esp + 0x90]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x418fbb
fild dword [esp + 0x54]
mov eax, dword [edi + 4]
fmul dword [eax + 0x610]
fdiv dword [esp + 0x28]
fstp dword [esp + 0x14]
jmp 0x418fc6
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x29c]
test ecx, ecx
je 0x418ff9
fld dword [esp + 0x14]
mov ecx, dword [eax + 0x298]
test ecx, ecx
fmul dword [0x54fb3c]
fstp dword [esp + 0x14]
je 0x418ff9
fld dword [esp + 0x14]
fadd dword [0x54fb3c]
fstp dword [esp + 0x14]
fld dword [esi + 0x3c]
mov ecx, dword [esp + 0x3c]
fsub dword [esi + 0xa0]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x20]
fmul dword [esp + 0x18]
push eax
push ecx
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x28]
fld dword [esi + 0x38]
fsub dword [esi + 0xa4]
fmul dword [esp + 0x20]
fstp dword [esp + 0x44]
mov edx, dword [esp + 0x44]
push edx
push eax
call fcn.0049ba90
mov eax, dword [edi + 0x190]
fld dword [eax + 0x150]
add esp, 0x14
fsub dword [eax + 0x158]
fmul dword [esp + 0x14]
fstp dword [esp + 0x60]
fld dword [eax + 0x154]
fsub dword [eax + 0x15c]
fmul dword [esp + 0x14]
fstp dword [esp + 0x64]
call dword [sym.imp.opengl32.dll_glLoadIdentity]
mov eax, dword [edi + 0x50]
fild dword [esp + 0x84]
push 0
sub esp, 8
test eax, eax
jne 0x4190ad
fadd dword [esi + 0xa4]
fadd dword [esp + 0x44]
fstp dword [esp + 4]
fild dword [esp + 0x8c]
fadd dword [esp + 0x28]
fadd dword [esi + 0xa0]
fstp dword [esp]
call dword [sym.imp.opengl32.dll_glTranslatef]
jmp 0x419118
fadd dword [esp + 0x44]
mov ebx, dword [sym.imp.opengl32.dll_glTranslatef]
fstp dword [esp + 4]
fild dword [esp + 0x8c]
fadd dword [esp + 0x28]
fstp dword [esp]
call ebx
fld dword [esp + 0x3c]
push 0x3f800000
push 0
fchs
push 0
push ecx
fstp dword [esp]
call dword [sym.imp.opengl32.dll_glRotatef]
mov eax, dword [edi + 0x190]
fld dword [eax + 0x15c]
push 0
fadd dword [esi + 0xa4]
sub esp, 8
fadd dword [esp + 0x70]
fstp dword [esp + 4]
fld dword [esp + 0x6c]
fadd dword [eax + 0x158]
fadd dword [esi + 0xa0]
fstp dword [esp]
call ebx
fld dword [esi + 0x40]
push 0x3f800000
fsub dword [esi + 0xa8]
push 0
push 0
push ecx
fmul dword [esp + 0x24]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fadd dword [esi + 0xa8]
fstp dword [esp]
call dword [sym.imp.opengl32.dll_glRotatef]
mov eax, dword [edi + 0x50]
mov ecx, dword [esi + 0xe4]
test eax, eax
mov eax, dword [ecx + 0x108]
je 0x4191aa
test eax, eax
je 0x419189
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x38c]
test eax, eax
push 1
je 0x419170
push 1
jmp 0x419175
push 0x302
call dword [sym.imp.opengl32.dll_glBlendFunc]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
add eax, 0x658
jmp 0x4191df
push 0x303
push 0x302
call dword [sym.imp.opengl32.dll_glBlendFunc]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
add eax, 0x644
jmp 0x41922a
test eax, eax
je 0x419200
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x38c]
test eax, eax
push 1
je 0x4191c1
push 1
jmp 0x4191c6
push 0x302
call dword [sym.imp.opengl32.dll_glBlendFunc]
mov eax, dword [edi + 0x60]
mov ecx, dword [esp + 0x20]
test eax, eax
mov eax, dword [edi + 4]
je 0x4191f9
add eax, 0x74c
test ecx, ecx
jl 0x4193d6
cmp ecx, dword [eax + 8]
jge 0x4193d6
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*4]
push ecx
jmp 0x419242
add eax, 0x630
jmp 0x41922a
push 0x303
push 0x302
call dword [sym.imp.opengl32.dll_glBlendFunc]
mov eax, dword [edi + 0x60]
mov ecx, dword [esp + 0x20]
test eax, eax
mov eax, dword [edi + 4]
je 0x419225
add eax, 0x738
jmp 0x41922a
add eax, 0x61c
test ecx, ecx
jl 0x4193d6
cmp ecx, dword [eax + 8]
jge 0x4193d6
mov edx, dword [eax + 4]
mov eax, dword [edx + ecx*4]
push eax
push 0xde1
call dword [sym.imp.opengl32.dll_glBindTexture]
fld dword [esi + 0x48]
fsub dword [esi + 0xac]
fmul dword [esp + 0x14]
fadd dword [esi + 0xac]
fstp dword [esp + 0x64]
fld dword [esi + 0x50]
mov eax, dword [esp + 0x64]
fsub dword [esi + 0xb0]
push eax
push ecx
fmul dword [esp + 0x1c]
fadd dword [esi + 0xb0]
fstp dword [esp]
push eax
call dword [sym.imp.opengl32.dll_glScalef]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x54]
push edx
push eax
push ecx
call dword [sym.imp.opengl32.dll_glColor4f]
mov eax, dword [esi + 0xe4]
fld dword [eax + 0x120]
mov ecx, dword [esp + 0x6c]
fmul qword [0x550e18]
push 7
fidiv dword [ecx + 4]
fstp dword [esp + 0x68]
fld dword [eax + 0x124]
fmul qword [0x550e18]
fidiv dword [ecx + 8]
fstp dword [esp + 0x64]
call dword [sym.imp.opengl32.dll_glBegin]
push 0
push 0
call dword [sym.imp.opengl32.dll_glTexCoord2f]
fld dword [esp + 0x60]
fsub dword [esp + 0x2c]
fstp dword [esp + 0x70]
fld dword [esp + 0x64]
mov ebx, dword [esp + 0x70]
fsub dword [esp + 0x68]
push ebx
fstp dword [esp + 0x78]
mov ebp, dword [esp + 0x78]
push ebp
call dword [sym.imp.opengl32.dll_glVertex2f]
push 0x3f800000
push 0
call dword [sym.imp.opengl32.dll_glTexCoord2f]
fld dword [esp + 0x60]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x60]
mov edx, dword [esp + 0x60]
push edx
push ebp
call dword [sym.imp.opengl32.dll_glVertex2f]
push 0x3f800000
push 0x3f800000
call dword [sym.imp.opengl32.dll_glTexCoord2f]
fld dword [esp + 0x64]
fadd dword [esp + 0x68]
mov eax, dword [esp + 0x60]
push eax
fstp dword [esp + 0x78]
mov ebp, dword [esp + 0x78]
push ebp
call dword [sym.imp.opengl32.dll_glVertex2f]
push 0
push 0x3f800000
call dword [sym.imp.opengl32.dll_glTexCoord2f]
push ebx
push ebp
call dword [sym.imp.opengl32.dll_glVertex2f]
call dword [sym.imp.opengl32.dll_glEnd]
fld dword [esp + 0x3c]
fadd dword [esp + 0x78]
fstp dword [esp + 0x3c]
fld dword [esp + 0x90]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 1
je 0x4193c1
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x54], eax
jl 0x418f90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x58]
add eax, ecx
mov dword [esp + 0x18], eax
jmp 0x418550
fstp st(0)
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x58]
add eax, ecx
mov dword [esp + 0x18], eax
jmp 0x418550
fstp st(0)
call fcn.004fd76e
int3