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

Disassembly:
sub esp, 0x274
push ebp
mov ebp, 1
mov eax, 2
push esi
xor esi, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], eax
xor ecx, ecx
mov eax, dword [esp + ecx*4 + 0xc]
mov edx, dword [esp + ecx*4 + 0x14]
cmp eax, edx
jne 0x4066fa
add eax, eax
add eax, eax
add eax, eax
jmp 0x406701
lea eax, [eax*8 + 1]
add edx, edx
add edx, edx
add edx, edx
mov dword [esp + ecx*4 + 0x14], edx
mov edx, dword [esp + ecx*4 + 0x18]
mov dword [esp + ecx*4 + 0xc], eax
mov eax, dword [esp + ecx*4 + 0x10]
cmp eax, edx
jne 0x406723
add eax, eax
add eax, eax
add eax, eax
jmp 0x40672a
lea eax, [eax*8 + 1]
mov dword [esp + ecx*4 + 0x10], eax
add dword [esp + ecx*4 + 0x10], 0xfffffff0
lea eax, [edx*8]
mov dword [esp + ecx*4 + 0x18], eax
add eax, 0xfffffff0
mov dword [esp + ecx*4 + 0x18], eax
add ecx, 4
cmp ecx, 0x1c
jl 0x4066e6
mov eax, 0x77
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], esi
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], 8
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], 0x24
mov dword [esp + 0x144], 0x5d
mov dword [esp + 0x148], 0x6d
mov dword [esp + 0x14c], 0x2e
mov dword [esp + 0x150], 0x6b
mov dword [esp + 0x154], 0x7b
mov dword [esp + 0x158], 0x27
mov dword [esp + 0x15c], 0x7f
mov dword [esp + 0x160], 0x2f
mov dword [esp + 0x164], esi
mov dword [esp + 0x168], esi
mov dword [esp + 0x16c], esi
mov dword [esp + 0x170], esi
mov dword [esp + 0x174], esi
mov dword [esp + 0x178], esi
mov dword [esp + 0x17c], esi
mov dword [esp + 0x180], 0x3f
mov dword [esp + 0x184], 0x7a
mov dword [esp + 0x188], 0x53
mov dword [esp + 0x18c], 0x7c
mov dword [esp + 0x190], 0x5b
mov dword [esp + 0x194], 0x1b
mov dword [esp + 0x198], 0x73
mov dword [esp + 0x19c], 0x3e
mov dword [esp + 0x1a0], 0x20
mov dword [esp + 0x1a4], 0x64
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1ac], esi
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x1b8], eax
push 0x80
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], esi
mov dword [esp + 0x1fc], esi
mov dword [esp + 0x200], esi
mov dword [esp + 0x204], esi
mov dword [esp + 0x208], esi
mov dword [esp + 0x20c], esi
mov dword [esp + 0x210], esi
mov dword [esp + 0x214], esi
mov dword [esp + 0x218], esi
mov dword [esp + 0x21c], esi
mov dword [esp + 0x220], esi
mov dword [esp + 0x224], esi
mov dword [esp + 0x228], esi
mov dword [esp + 0x22c], esi
mov dword [esp + 0x230], esi
mov dword [esp + 0x234], esi
mov dword [esp + 0x238], esi
mov dword [esp + 0x23c], esi
mov dword [esp + 0x240], esi
mov dword [esp + 0x244], esi
mov dword [esp + 0x248], esi
mov dword [esp + 0x24c], esi
mov dword [esp + 0x250], esi
mov dword [esp + 0x254], esi
mov dword [esp + 0x258], esi
mov dword [esp + 0x25c], esi
mov dword [esp + 0x260], esi
mov dword [esp + 0x264], esi
mov dword [esp + 0x268], esi
mov dword [esp + 0x26c], esi
mov dword [esp + 0x270], esi
mov dword [esp + 0x274], esi
mov dword [esp + 0x278], esi
mov dword [esp + 0x27c], esi
call dword [sym.imp.OPENGL32.dll_glGenLists]
mov dword [0x4c35c8], eax
cmp eax, esi
je 0x406bf4
push ebx
push edi
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x406b46
mov eax, dword [0x4c35c8]
mov ebx, dword [esp + edi*4 + 0x84]
add eax, edi
push 0x1300
push eax
mov dword [edi*4 + 0x4c35c8], eax
call dword [sym.imp.OPENGL32.dll_glNewList]
cmp ebx, esi
je 0x406bba
push ebp
call dword [sym.imp.OPENGL32.dll_glBegin]
xor edi, edi
lea ebp, [esp + 0x14]
mov edx, ebx
mov ecx, edi
sar edx, cl
test dl, 1
je 0x406b9a
mov eax, dword [ebp + 4]
mov ecx, dword [ebp]
push eax
push ecx
call dword [sym.imp.OPENGL32.dll_glVertex2i]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push edx
push eax
call dword [sym.imp.OPENGL32.dll_glVertex2i]
inc edi
add ebp, 0x10
cmp edi, 7
jl 0x406b73
call dword [sym.imp.OPENGL32.dll_glEnd]
call dword [sym.imp.OPENGL32.dll_glEndList]
mov edi, dword [esp + 0x10]
mov ebp, 1
jmp 0x406be0
push esi
call dword [sym.imp.OPENGL32.dll_glBegin]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
push ecx
push edx
call dword [sym.imp.OPENGL32.dll_glVertex2i]
call dword [sym.imp.OPENGL32.dll_glEnd]
call dword [sym.imp.OPENGL32.dll_glEndList]
add edi, ebp
cmp edi, 0x80
mov dword [esp + 0x10], edi
jl 0x406b41
pop edi
pop ebx
pop esi
mov dword [0x4c37c8], 0x13
pop ebp
add esp, 0x274
ret