Function at 0x1002b0f0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100458cd
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x1005c300]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xac], edi
cmp byte [edi + 0x10], 0
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x78], esi
je 0x1002c338
cmp byte [edi + 0x1c], 0
jne 0x1002b2cd
lea esi, [edi + 0x20]
push esi
push 1
call dword [sym.imp.OPENGL32.dll_glGenTextures]
push dword [esi]
push 0xde1
call dword [sym.imp.OPENGL32.dll_glBindTexture]
mov esi, dword [sym.imp.OPENGL32.dll_glTexParameteri]
push 0x2900
push 0x2802
push 0xde1
call esi
push 0x2900
push 0x2803
push 0xde1
call esi
push 0x2601
push 0x2801
push 0xde1
call esi
push 0x2601
push 0x2800
push 0xde1
call esi
push 0x20000
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
add esp, 4
mov dword [ebp - 0x7c], esi
test esi, esi
je 0x1002b2c6
call fcn.100377e0
mov edx, eax
mov dword [ebp - 0x48], 0
mov ecx, edx
mov dword [ebp - 0x44], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
lea eax, [ecx + 2]
mov dword [ebp - 0x70], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002b1e1
sub ecx, dword [ebp - 0x70]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.1000b880
push 0x15
push str.resourceshexfont.tga
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0
call fcn.1000e730
cmp dword [ebp - 0x44], 7
lea eax, [ebp - 0x58]
push 0x10049748
cmova eax, dword [ebp - 0x58]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen_s]
mov eax, dword [ebp - 0x68]
add esp, 0xc
test eax, eax
je 0x1002b284
push 0
push 0x12
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
mov edi, 0x80
nop dword [eax]
push dword [ebp - 0x68]
push 0x400
push 1
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
add esi, 0x400
sub edi, 1
jne 0x1002b250
push dword [ebp - 0x68]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov edi, dword [ebp - 0xac]
add esp, 4
mov esi, dword [ebp - 0x7c]
push esi
push 0x1401
push 0x1908
push 0
push 0x80
push 0x100
push 0x1908
push 0
push 0xde1
call dword [sym.imp.OPENGL32.dll_glTexImage2D]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.1000de00
mov esi, dword [ebp - 0x78]
mov byte [edi + 0x1c], 1
call fcn.1003a920
fstp qword [ebp - 0xa8]
mov ecx, 0x10061c88
call fcn.100147f0
fsubr qword [ebp - 0xa8]
mov ecx, 0x10061c88
fstp qword [ebp - 0xa8]
call fcn.10014800
cmp eax, 1
jb 0x1002b345
mov ecx, 0x10061c88
call fcn.100147e0
movsd xmm0, qword [ebp - 0xa8]
fstp qword [ebp - 0x98]
comisd xmm0, xmmword [ebp - 0x98]
jb 0x1002b345
mov ecx, 0x10061c88
call fcn.10014820
fstp qword [ebp - 0x98]
movsd xmm0, qword [ebp - 0x98]
comisd xmm0, xmmword [ebp - 0xa8]
mov byte [ebp - 0x6a], 1
jae 0x1002b349
mov byte [ebp - 0x6a], 0
mov ecx, 0x10061c88
call fcn.10013900
mov ecx, 0x10061c88
mov byte [ebp - 0x6b], al
call fcn.10013c30
push 0xbe2
mov byte [ebp - 0x6c], al
mov byte [ebp - 0x59], 0
call dword [sym.imp.OPENGL32.dll_glEnable]
push 0x303
push 0x302
call dword [sym.imp.OPENGL32.dll_glBlendFunc]
push 0xb44
call dword [sym.imp.OPENGL32.dll_glDisable]
movss xmm0, dword [edi + 0xc]
ucomiss xmm0, dword [0x10048970]
lahf
test ah, 0x44
jnp 0x1002b926
movss xmm0, dword [esi + 4]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x28]
push eax
cvtps2pd xmm0, xmm0
lea eax, [ebp - 0x40]
push eax
sub esp, 0x18
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [esi]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.10007d50
add esp, 0x24
push dword [edi + 0x20]
push 0xde1
call dword [sym.imp.OPENGL32.dll_glBindTexture]
push 0xbc0
call dword [sym.imp.OPENGL32.dll_glEnable]
push ecx
mov dword [esp], 0x3b808081
push 0x206
call dword [sym.imp.OPENGL32.dll_glAlphaFunc]
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
xor eax, eax
mov ecx, 0x10061c88
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x64]
push eax
call fcn.100147b0
lea eax, [ebp - 0x94]
mov ecx, 0x10061c88
push eax
call fcn.100147d0
push eax
lea ecx, [ebp - 0x64]
call fcn.10012da0
test al, al
je 0x1002b90e
nop
mov ecx, dword [ebp - 0x90]
xor esi, esi
mov edx, ecx
test ecx, ecx
jle 0x1002b494
nop
mov eax, 0xcccccccd
inc esi
mul edx
shr edx, 3
test edx, edx
jg 0x1002b480
cmp esi, 1
jge 0x1002b499
mov esi, 1
mov dword [ebp - 0xb4], ecx
xor eax, eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x68], eax
call fcn.10014810
lea eax, [ebp - 0x108]
fstp st(0)
push eax
lea ecx, [ebp - 0x64]
call fcn.10014840
nop dword [eax]
mov eax, 0x66666667
movss xmm1, dword [edi + 0xc]
imul dword [ebp - 0xb4]
xorps xmm0, xmm0
movaps xmm2, xmm1
mulss xmm2, dword [0x1004dbd0]
mulss xmm1, dword [0x1004d980]
push 5
sar edx, 2
mov ecx, edx
movss dword [ebp - 0x70], xmm2
shr ecx, 0x1f
add ecx, edx
movss dword [ebp - 0x78], xmm1
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0xb4], ecx
lea eax, [ecx + ecx*4]
mov ecx, 8
add eax, eax
sub edx, eax
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cvtsi2ss xmm0, eax
mov eax, edx
cdq
idiv ecx
mulss xmm0, xmm2
shl edx, 5
shl eax, 6
addss xmm1, xmm0
movss dword [ebp - 0xb0], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
movss dword [ebp - 0x7c], xmm1
mulss xmm0, dword [0x1004db9c]
movss dword [ebp - 0x60], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x1004dba0]
movss dword [ebp - 0x8c], xmm0
call dword [sym.imp.OPENGL32.dll_glBegin]
movss xmm0, dword [ebp - 0x8c]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esp], xmm0
call dword [sym.imp.OPENGL32.dll_glTexCoord2f]
movsd xmm1, qword [ebp - 0x18]
sub esp, 0xc
movsd xmm0, qword [ebp - 0xf8]
movss xmm2, dword [ebp - 0xb0]
cvtpd2ps xmm1, xmm1
movss xmm3, dword [ebp - 0x78]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x100]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movsd xmm1, qword [ebp - 0x20]
cvtpd2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x50]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x108]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movsd xmm1, qword [ebp - 0x28]
cvtpd2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x58]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movss dword [esp], xmm1
call dword [sym.imp.OPENGL32.dll_glVertex3f]
movss xmm0, dword [ebp - 0x8c]
sub esp, 8
addss xmm0, dword [0x1004d980]
movss dword [esp + 4], xmm0
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esp], xmm0
call dword [sym.imp.OPENGL32.dll_glTexCoord2f]
movsd xmm1, qword [ebp - 0x18]
sub esp, 0xc
movsd xmm0, qword [ebp - 0xf8]
movss xmm2, dword [ebp - 0xb0]
cvtpd2ps xmm1, xmm1
movss xmm3, dword [ebp - 0x70]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x100]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movsd xmm1, qword [ebp - 0x20]
cvtpd2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x50]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x108]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movsd xmm1, qword [ebp - 0x28]
cvtpd2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x58]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movss dword [esp], xmm1
call dword [sym.imp.OPENGL32.dll_glVertex3f]
movss xmm1, dword [ebp - 0x60]
sub esp, 8
addss xmm1, dword [0x1004dba4]
movss xmm0, dword [ebp - 0x8c]
movss dword [esp + 4], xmm0
movss dword [ebp - 0x60], xmm1
movss dword [esp], xmm1
call dword [sym.imp.OPENGL32.dll_glTexCoord2f]
movsd xmm1, qword [ebp - 0x18]
sub esp, 0xc
movsd xmm0, qword [ebp - 0xf8]
movss xmm3, dword [ebp - 0x7c]
movss xmm2, dword [ebp - 0x78]
cvtpd2ps xmm1, xmm1
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm3
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x100]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movsd xmm1, qword [ebp - 0x20]
cvtpd2ps xmm1, xmm1
mulss xmm1, xmm3
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x50]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x108]
movss dword [esp + 4], xmm1
movsd xmm1, qword [ebp - 0x28]
cvtpd2ps xmm1, xmm1
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm3
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x58]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm1, xmm0
movss dword [esp], xmm1
call dword [sym.imp.OPENGL32.dll_glVertex3f]
movss xmm0, dword [ebp - 0xbc]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esp], xmm0
call dword [sym.imp.OPENGL32.dll_glTexCoord2f]
movsd xmm1, qword [ebp - 0x18]
sub esp, 0xc
movsd xmm0, qword [ebp - 0xf8]
movss xmm2, dword [ebp - 0x7c]
cvtpd2ps xmm1, xmm1
movss xmm3, dword [ebp - 0x70]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x100]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movsd xmm1, qword [ebp - 0x20]
cvtpd2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x50]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x108]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movsd xmm1, qword [ebp - 0x28]
cvtpd2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x58]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movss dword [esp], xmm1
call dword [sym.imp.OPENGL32.dll_glVertex3f]
call dword [sym.imp.OPENGL32.dll_glEnd]
cmp dword [ebp - 0x68], esi
jl 0x1002b4c0
inc dword [ebp - 0x90]
lea ecx, [ebp - 0x64]
call fcn.10012f20
lea eax, [ebp - 0x94]
mov ecx, 0x10061c88
push eax
call fcn.100147d0
push eax
lea ecx, [ebp - 0x64]
call fcn.10012da0
test al, al
jne 0x1002b470
push 0xbc0
call dword [sym.imp.OPENGL32.dll_glDisable]
push 0
push 0xde1
call dword [sym.imp.OPENGL32.dll_glBindTexture]
push 0x1b01
push 0x408
call dword [sym.imp.OPENGL32.dll_glPolygonMode]
mov ecx, 0x10061c88
call fcn.10014800
mov esi, dword [sym.imp.OPENGL32.dll_glLineWidth]
cmp eax, 2
jb 0x1002be46
cmp byte [ebp - 0x6b], 0
je 0x1002be46
cmp byte [edi + 0x11], 0
je 0x1002bc25
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx + 4]
mov dword [eax], 0
mov eax, dword [ecx]
test eax, eax
je 0x1002b988
mov esi, dword [eax]
push 0x10
push eax
call fcn.10043864
add esp, 8
mov eax, esi
test esi, esi
jne 0x1002b975
mov eax, dword [edi + 0x14]
mov ecx, 0x10061c88
mov dword [eax], eax
mov eax, dword [edi + 0x14]
mov dword [eax + 4], eax
lea eax, [ebp - 0x68]
push eax
mov dword [edi + 0x18], 0
call fcn.100147b0
mov eax, dword [ebp - 0x68]
push 0xa000
mov dword [ebp - 0x64], eax
call fcn.100438a3
mov esi, eax
add esp, 4
mov dword [ebp - 0x60], esi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 4], 1
test esi, esi
je 0x1002b9fb
lea eax, [esi + 8]
mov edi, 0x400
mov dword [ebp - 0x94], eax
mov esi, eax
mov ecx, esi
call fcn.10007220
add esi, 0x28
sub edi, 1
jne 0x1002b9e1
mov edi, dword [ebp - 0xac]
mov esi, dword [ebp - 0x60]
jmp 0x1002ba00
xor esi, esi
mov dword [ebp - 0x60], esi
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10012f20
lea eax, [esi + 0x9fd8]
mov ecx, 0x10061c88
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x78]
push eax
call fcn.100147d0
push eax
lea ecx, [ebp - 0x64]
call fcn.10012da0
test al, al
je 0x1002bc03
add esi, 0x28
lea eax, [edi + 0x14]
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xbc], eax
nop dword [eax]
lea ecx, [ebp - 0x64]
call fcn.10014810
fstp qword [ebp - 0x74]
lea ecx, [ebp - 0x68]
call fcn.10014810
fsubr qword [ebp - 0x74]
xor edi, edi
fstp qword [ebp - 0x80]
nop dword [eax + eax]
lea ecx, [ebp - 0x68]
call fcn.10014810
movd xmm0, edi
mov eax, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
sub esp, 8
mov ecx, 0x10061c88
addsd xmm0, qword [eax*8 + 0x1004a3f0]
lea eax, [ebp - 0x150]
divsd xmm0, qword [0x1004dbc8]
mulsd xmm0, qword [ebp - 0x80]
movsd qword [ebp - 0x74], xmm0
fadd qword [ebp - 0x74]
fstp qword [ebp - 0x74]
movsd xmm0, qword [ebp - 0x74]
movsd qword [esp], xmm0
push eax
call fcn.100145a0
movsd xmm0, qword [ebp - 0x74]
lea ecx, [ebp - 0x40]
movsd qword [esi - 0x28], xmm0
sub esp, 0x18
movups xmm0, xmmword [ebp - 0x148]
movups xmmword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x150]
movsd qword [esp], xmm0
call fcn.10007170
inc edi
cmp edi, 0x400
movups xmm0, xmmword [eax]
movups xmmword [esi - 0x20], xmm0
movq xmm0, qword [eax + 0x10]
sbb eax, eax
and eax, esi
movq qword [esi - 0x10], xmm0
mov dword [esi - 8], eax
add esi, 0x28
cmp edi, 0x400
jb 0x1002ba70
movsd xmm0, qword [0x10048990]
sub esp, 8
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xac]
movsd qword [esp], xmm0
push dword [ebp - 0x94]
push esi
call fcn.1002ccf0
mov edi, esi
test esi, esi
je 0x1002bbc9
mov esi, dword [ebp - 0xbc]
cmp dword [edi + 0x20], 0
lea eax, [edi + 0x20]
mov dword [ebp - 0x7c], eax
je 0x1002bbc6
cmp dword [esi + 4], 0xfffffff
mov eax, dword [esi]
mov dword [ebp - 0x70], eax
je 0x1002c355
mov dword [ebp - 0xb8], esi
push 0x10
mov dword [ebp - 4], 2
mov dword [ebp - 0xb4], 0
call fcn.10043834
movsd xmm0, qword [edi]
add esp, 4
mov edx, dword [ebp - 0x70]
mov edi, dword [ebp - 0x7c]
movsd qword [eax + 8], xmm0
inc dword [esi + 4]
mov ecx, dword [edx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [edx + 4], eax
mov dword [ecx], eax
mov edi, dword [edi]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xb4], 0
test edi, edi
jne 0x1002bb51
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x68], eax
call fcn.10012f20
lea eax, [ebp - 0x78]
mov ecx, 0x10061c88
push eax
call fcn.100147d0
push eax
lea ecx, [ebp - 0x64]
call fcn.10012da0
test al, al
je 0x1002bbfd
mov esi, dword [ebp - 0xb0]
jmp 0x1002ba50
mov edi, dword [ebp - 0xac]
lea eax, [esi + 0x9fd8]
push eax
lea ecx, [edi + 0x14]
call fcn.1002cee0
push esi
call fcn.100438ac
mov esi, dword [sym.imp.OPENGL32.dll_glLineWidth]
add esp, 4
mov byte [edi + 0x11], 0
push ecx
mov dword [esp], 0x41000000
call esi
mov esi, dword [edi + 0x14]
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x10061c88
mov esi, dword [esi]
call fcn.100147b0
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], eax
call fcn.10012f20
lea ecx, [ebp - 0x108]
call fcn.10012ab0
push 3
call dword [sym.imp.OPENGL32.dll_glBegin]
nop
movsd xmm0, qword [esi + 8]
lea eax, [ebp - 0x150]
sub esp, 8
movsd qword [ebp - 0x98], xmm0
mov ecx, 0x10061c88
movsd qword [esp], xmm0
push eax
call fcn.100145a0
movsd xmm1, qword [0x10048990]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x108], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0xf8], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0xe8], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ebp - 0xd8], xmm0
movq xmm0, qword [eax + 0x40]
movq qword [ebp - 0xc8], xmm0
movsd xmm0, qword [ebp - 0xa8]
subsd xmm0, qword [ebp - 0x98]
mov esi, dword [esi]
mov al, byte [ebp - 0xc8]
andps xmm0, xmmword [0x100489a0]
comisd xmm1, xmm0
jbe 0x1002bd45
xorps xmm1, xmm1
subsd xmm0, xmm1
cvtpd2ps xmm4, xmm0
movss xmm0, dword [0x100493c4]
movaps xmm1, xmm0
subss xmm1, xmm4
test al, al
je 0x1002bd21
movaps xmm4, xmm1
xorps xmm3, xmm3
jmp 0x1002bd24
movaps xmm3, xmm0
test al, al
je 0x1002bd2d
movaps xmm2, xmm0
jmp 0x1002bd30
xorps xmm2, xmm2
mulss xmm1, dword [0x1004d980]
addss xmm1, dword [0x1004d980]
jmp 0x1002bdd3
movsd xmm2, qword [0x10048b80]
comisd xmm2, xmm0
jbe 0x1002bd9f
movss xmm2, dword [0x100493c4]
subsd xmm0, xmm1
test al, al
je 0x1002bd68
xorps xmm4, xmm4
jmp 0x1002bd6b
movaps xmm4, xmm2
movaps xmm1, xmm2
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
test al, al
je 0x1002bd83
movaps xmm3, xmm2
subss xmm3, xmm1
jmp 0x1002bd86
movaps xmm3, xmm1
test al, al
jne 0x1002bd8d
xorps xmm2, xmm2
mulss xmm1, dword [0x1004dba8]
addss xmm1, dword [0x1004dba8]
jmp 0x1002bdd3
movss xmm0, dword [0x100493c4]
test al, al
je 0x1002bdb0
xorps xmm4, xmm4
jmp 0x1002bdb3
movaps xmm4, xmm0
test al, al
je 0x1002bdbc
movaps xmm3, xmm0
jmp 0x1002bdbf
xorps xmm3, xmm3
test al, al
je 0x1002bdc8
movaps xmm2, xmm0
jmp 0x1002bdcb
xorps xmm2, xmm2
movss xmm1, dword [0x1004dba8]
sub esp, 0x10
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm3
movss dword [esp], xmm4
call dword [sym.imp.OPENGL32.dll_glColor4f]
movsd xmm0, qword [ebp - 0xf8]
sub esp, 0xc
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x100]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x108]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call dword [sym.imp.OPENGL32.dll_glVertex3f]
cmp esi, dword [edi + 0x14]
jne 0x1002bc70
call dword [sym.imp.OPENGL32.dll_glEnd]
mov esi, dword [sym.imp.OPENGL32.dll_glLineWidth]
push ecx
mov dword [esp], 0x40800000
call esi
lea eax, [ebp - 0x60]
mov byte [ebp - 0x69], 0
push eax
mov ecx, 0x10061c88
call fcn.100147b0
lea eax, [ebp - 0x94]
mov ecx, 0x10061c88
push eax
call fcn.100147d0
push eax
lea ecx, [ebp - 0x60]
call fcn.10012da0
test al, al
je 0x1002c230
lea ecx, [ebp - 0x60]
call fcn.10014810
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x60]
fstp qword [ebp - 0xc0]
call fcn.10014840
cmp byte [ebp - 0x59], 0
movsd xmm1, qword [ebp - 0xc0]
mov al, byte [ebp - 0xc8]
movsd xmm0, qword [ebp - 0xa8]
jne 0x1002beda
cmp byte [ebp - 0x69], 0
je 0x1002bed4
test al, al
je 0x1002bed4
comisd xmm0, xmmword [ebp - 0x74]
jb 0x1002bed4
comisd xmm1, xmm0
jae 0x1002beda
mov byte [ebp - 0x59], 0
jmp 0x1002bede
mov byte [ebp - 0x59], 1
subsd xmm0, xmm1
movsd qword [ebp - 0x74], xmm1
movsd xmm1, qword [0x10048990]
mov cl, al
mov byte [ebp - 0x69], cl
andps xmm0, xmmword [0x100489a0]
comisd xmm1, xmm0
jbe 0x1002bf55
xorps xmm1, xmm1
subsd xmm0, xmm1
movss xmm1, dword [0x100493c4]
movaps xmm2, xmm1
cvtpd2ps xmm3, xmm0
subss xmm2, xmm3
movaps xmm0, xmm2
test cl, cl
je 0x1002bf27
xorps xmm3, xmm3
jmp 0x1002bf30
movaps xmm2, xmm3
movaps xmm3, xmm1
xorps xmm1, xmm1
mulss xmm0, dword [0x1004d980]
movss dword [ebp - 0x84], xmm3
movss dword [ebp - 0x88], xmm2
addss xmm0, dword [0x1004d980]
jmp 0x1002bff9
movsd xmm2, qword [0x10048b80]
comisd xmm2, xmm0
jbe 0x1002bfbd
subsd xmm0, xmm1
movss xmm1, dword [0x100493c4]
movaps xmm3, xmm1
cvtpd2ps xmm4, xmm0
test cl, cl
je 0x1002bf8a
movaps xmm0, xmm1
xorps xmm2, xmm2
subss xmm0, xmm4
subss xmm3, xmm0
jmp 0x1002bf94
subss xmm3, xmm4
movaps xmm2, xmm1
movaps xmm0, xmm3
movss dword [ebp - 0x88], xmm2
movss dword [ebp - 0x84], xmm3
test al, al
jne 0x1002bfab
xorps xmm1, xmm1
mulss xmm0, dword [0x1004dba8]
addss xmm0, dword [0x1004dba8]
jmp 0x1002bff9
movss xmm0, dword [0x100493c4]
xorps xmm1, xmm1
test cl, cl
je 0x1002bfd4
xorps xmm2, xmm2
movaps xmm3, xmm0
jmp 0x1002bfda
movaps xmm2, xmm0
xorps xmm3, xmm3
movss dword [ebp - 0x88], xmm2
movss dword [ebp - 0x84], xmm3
test al, al
je 0x1002bff1
movaps xmm1, xmm0
movss xmm0, dword [0x1004dba8]
sub esp, 0x10
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x7c], xmm0
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm3
movss dword [esp], xmm2
call dword [sym.imp.OPENGL32.dll_glColor4f]
cmp byte [edi + 8], 0
je 0x1002c1cd
push 1
call dword [sym.imp.OPENGL32.dll_glBegin]
movsd xmm0, qword [ebp - 0xf8]
sub esp, 0xc
cvtpd2ps xmm0, xmm0
mov esi, dword [sym.imp.OPENGL32.dll_glVertex3f]
movss dword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x100]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x108]
subsd xmm0, qword [0x1004dbb8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call esi
movsd xmm0, qword [ebp - 0xf8]
sub esp, 0xc
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x100]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x108]
addsd xmm0, qword [0x1004dbb8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call esi
movsd xmm0, qword [ebp - 0xf8]
sub esp, 0xc
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x100]
subsd xmm0, qword [0x1004dbb8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x108]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call esi
movsd xmm0, qword [ebp - 0xf8]
sub esp, 0xc
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x100]
addsd xmm0, qword [0x1004dbb8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x108]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call esi
movsd xmm0, qword [ebp - 0xf8]
sub esp, 0xc
subsd xmm0, qword [0x1004dbb8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x100]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x108]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call esi
movsd xmm0, qword [ebp - 0xf8]
sub esp, 0xc
addsd xmm0, qword [0x1004dbb8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x100]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x108]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call esi
call dword [sym.imp.OPENGL32.dll_glEnd]
cmp byte [edi + 9], 0
je 0x1002c200
movss xmm0, dword [ebp + 0xc]
lea eax, [ebp - 0x88]
sub esp, 8
mov ecx, edi
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp + 8]
movss dword [esp], xmm0
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.1002c360
lea ecx, [ebp - 0x60]
call fcn.10012f20
lea eax, [ebp - 0x94]
mov ecx, 0x10061c88
push eax
call fcn.100147d0
push eax
lea ecx, [ebp - 0x60]
call fcn.10012da0
test al, al
jne 0x1002be84
mov esi, dword [sym.imp.OPENGL32.dll_glLineWidth]
cmp byte [ebp - 0x6a], 0
je 0x1002c308
cmp byte [ebp - 0x6b], 0
je 0x1002c308
cmp byte [ebp - 0x59], 0
je 0x1002c282
cmp byte [ebp - 0x6c], 0
movss xmm0, dword [0x100493c4]
mov dword [ebp - 0xa0], 0
je 0x1002c267
xorps xmm1, xmm1
jmp 0x1002c26a
movaps xmm1, xmm0
subss xmm0, xmm1
mov dword [ebp - 0x98], 0
movss dword [ebp - 0x9c], xmm0
jmp 0x1002c2b0
cmp byte [ebp - 0x6c], 0
mov dword [ebp - 0xa0], 0x3f800000
mov dword [ebp - 0x9c], 0
jne 0x1002c2a6
mov dword [ebp - 0x9c], 0x3f800000
mov dword [ebp - 0x98], 0x3f800000
movsd xmm0, qword [ebp - 0xa8]
lea eax, [ebp - 0x198]
sub esp, 8
mov dword [ebp - 0x94], 0x3f000000
mov ecx, 0x10061c88
movsd qword [esp], xmm0
push eax
call fcn.100145a0
movss xmm0, dword [ebp + 0xc]
lea eax, [ebp - 0xa0]
sub esp, 8
mov ecx, edi
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp + 8]
movss dword [esp], xmm0
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.1002c360
push 0xb44
call dword [sym.imp.OPENGL32.dll_glEnable]
push ecx
mov dword [esp], 0x3f800000
call esi
push 0xbe2
call dword [sym.imp.OPENGL32.dll_glDisable]
push 0x1b02
push 0x408
call dword [sym.imp.OPENGL32.dll_glPolygonMode]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10043872
mov esp, ebp
pop ebp
ret 0x10
push str.list_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
int3