Function at 0x6c27a3a8
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
mov eax, 0xa52c
call fcn.6c2d9950
sub esp, eax
mov ebp, dword [esp + 0xa540]
mov dword [esp], 0
call sub.msvcrt.dll_time
mov dword [esp + 4], eax
lea ebx, [esp + 0xa37c]
mov dword [esp], ebx
call fcn.6c21f76c
mov dword [esp + 8], 0x6c453680
mov dword [esp + 4], ebx
mov dword [esp], str._n__s__Starting_LightUp_with_modelpath__s__n
call fcn.6c263a70
mov dword [esp + 0xa4fc], 0
lea edx, [esp + 0xa4fc]
mov dword [esp + 0x40], edx
mov dword [esp + 4], edx
mov dword [esp], 0xd52
call sub.OPENGL32.DLL_glGetIntegerv
sub esp, 8
mov dword [esp + 0xa500], 0
lea eax, [esp + 0xa500]
mov dword [esp + 4], eax
mov dword [esp], 0xd53
call sub.OPENGL32.DLL_glGetIntegerv
sub esp, 8
mov dword [esp + 0xa504], 0
lea eax, [esp + 0xa504]
mov dword [esp + 4], eax
mov dword [esp], 0xd54
call sub.OPENGL32.DLL_glGetIntegerv
sub esp, 8
mov dword [esp + 0xa508], 0
lea eax, [esp + 0xa508]
mov dword [esp + 4], eax
mov dword [esp], 0xd55
call sub.OPENGL32.DLL_glGetIntegerv
sub esp, 8
mov dword [esp + 0xa50c], 0
lea eax, [esp + 0xa50c]
mov dword [esp + 4], eax
mov dword [esp], 0xd56
call sub.OPENGL32.DLL_glGetIntegerv
sub esp, 8
mov dword [esp + 0xa510], 0
lea eax, [esp + 0xa510]
mov dword [esp + 4], eax
mov dword [esp], 0xd57
call sub.OPENGL32.DLL_glGetIntegerv
sub esp, 8
mov eax, dword [esp + 0xa510]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa50c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa508]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa504]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa500]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4fc]
mov dword [esp + 4], eax
mov dword [esp], str.framebuffer__d__d__d__d_:__d:_d__n
call fcn.6c263a70
mov eax, dword [esp + 0xa50c]
test eax, eax
je 0x6c27c5a0
mov eax, dword [0x6c2e3088]
test eax, eax
jne 0x6c27bc9c
mov dword [ebp + 0x19d8], 1
mov edx, dword [esp + 0xa508]
mov eax, 0x8058
test edx, edx
mov ecx, 0x8051
cmovle eax, ecx
mov dword [0x6c490a1c], eax
test byte [0x6c2e3084], 2
jne 0x6c27bb1c
mov dword [0x6c490a10], 0x3f800000
mov dword [esp + 4], 0x6c490a10
mov dword [esp], 0x84ff
call sub.OPENGL32.DLL_glGetFloatv
sub esp, 8
fld dword [0x6c490a10]
fld dword [0x6c374410]
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fstp dword [0x6c490a10]
mov dword [esp], 0x84c3
call dword [0x6c45438c]
push eax
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2100
mov dword [esp + 4], 0x2200
mov dword [esp], 0x2300
call sub.OPENGL32.DLL_glTexEnvi
sub esp, 0xc
mov dword [esp], 0x84c2
call dword [0x6c45438c]
push eax
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2100
mov dword [esp + 4], 0x2200
mov dword [esp], 0x2300
call sub.OPENGL32.DLL_glTexEnvi
sub esp, 0xc
mov dword [esp], 0x84c1
call dword [0x6c45438c]
push eax
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2100
mov dword [esp + 4], 0x2200
mov dword [esp], 0x2300
call sub.OPENGL32.DLL_glTexEnvi
sub esp, 0xc
mov dword [esp], 0x84c0
call dword [0x6c45438c]
push edx
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2100
mov dword [esp + 4], 0x2200
mov dword [esp], 0x2300
call sub.OPENGL32.DLL_glTexEnvi
sub esp, 0xc
lea ebx, [ebp + 0x200c]
mov al, byte [ebp + 0x200c]
test al, al
je 0x6c27c5c7
mov ecx, ebx
mov edx, 0x811c9dc5
mov esi, edx
shl esi, 0x10
add esi, edx
lea esi, [edx + esi*2]
lea esi, [edx + esi*8]
lea esi, [edx + esi*8]
lea esi, [edx + esi*2]
movsx edx, al
xor edx, esi
inc ecx
mov al, byte [ecx]
test al, al
jne 0x6c27a6d8
cmp dword [ebp + 0x2004], edx
je 0x6c27a7eb
xor eax, eax
mov ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jbe 0x6c27a7eb
mov dword [ebp + 0x2004], edx
mov eax, dword [ebp + 0x240c]
test eax, eax
jne 0x6c27c5b7
call fcn.6c263b10
mov dword [ebp + 0x240c], eax
mov dword [esp + 4], eax
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x812f
mov dword [esp + 4], 0x2802
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x812f
mov dword [esp + 4], 0x2803
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 4], ebx
mov dword [esp], ebp
call fcn.6c27a064
mov dword [esp + 4], 0
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov eax, dword [ebp + 0x1f44]
imul eax, dword [ebp + 0x19cc]
add eax, dword [ebp + 0x1f50]
mov dword [esp + 4], eax
mov dword [esp], 1
call sub.OPENGL32.DLL_glGenTextures
sub esp, 8
lea esi, [esp + 0xa47c]
mov eax, esi
lea ebx, [esp + 0xa4bc]
lea esi, [esi]
mov byte [eax], 0xff
mov byte [eax + 1], 0xff
mov byte [eax + 2], 0xff
mov byte [eax + 3], 0xff
add eax, 4
cmp eax, ebx
jne 0x6c27a824
mov eax, dword [ebp + 0x1f44]
imul eax, dword [ebp + 0x19cc]
mov edx, dword [ebp + 0x1f50]
mov eax, dword [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2600
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2600
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], 0x8367
mov dword [esp + 0x18], 0x1908
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], 4
mov eax, dword [0x6c490a1c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov eax, dword [ebp + 0x1f44]
imul eax, dword [ebp + 0x19d0]
add eax, dword [ebp + 0x1f50]
mov dword [esp + 4], eax
mov dword [esp], 1
call sub.OPENGL32.DLL_glGenTextures
sub esp, 8
mov eax, ebx
mov byte [eax], pe_nt_image_headers32
mov byte [eax + 1], pe_nt_image_headers32
mov byte [eax + 2], 0
mov byte [eax + 3], 0
add eax, 4
cmp eax, dword [esp + 0x40]
jne 0x6c27a92c
mov eax, dword [ebp + 0x1f44]
imul eax, dword [ebp + 0x19d0]
mov edx, dword [ebp + 0x1f50]
mov eax, dword [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2600
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2600
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], 0x8367
mov dword [esp + 0x18], 0x1908
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], 4
mov eax, dword [0x6c490a1c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov eax, dword [ebp + 0x1f44]
imul eax, dword [ebp + 0x19d4]
add eax, dword [ebp + 0x1f50]
mov dword [esp + 4], eax
mov dword [esp], 1
call sub.OPENGL32.DLL_glGenTextures
sub esp, 8
mov eax, dword [ebp + 0x1f44]
imul eax, dword [ebp + 0x19d4]
mov edx, dword [ebp + 0x1f50]
mov eax, dword [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x8367
mov dword [esp + 0x18], 0x1908
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x100
mov dword [esp + 0xc], 0x100
mov eax, dword [0x6c490a1c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp], 0xde1
call dword [0x6c454318]
push eax
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov eax, dword [ebp + 0x24c0]
mov ebx, dword [eax + 0xc]
lea esi, [ebx + 0xf0]
mov ecx, 0x39
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x24c0]
mov eax, dword [eax + 4]
test eax, eax
je 0x6c27b18d
mov dword [esp + 0x40], 0
lea edx, [esp + 0xa514]
mov dword [esp + 0x48], edx
lea edx, [esp + 0xa518]
mov dword [esp + 0x44], edx
lea edx, [esp + 0xa51c]
mov dword [esp + 0x4c], edx
jmp 0x6c27abac
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x6c27af2c
inc dword [esp + 0x40]
add ebx, 0xf0
mov eax, dword [ebp + 0x24c0]
mov edx, dword [esp + 0x40]
cmp dword [eax + 4], edx
jbe 0x6c27b1b0
mov edi, dword [ebx + 0x14]
test edi, edi
jne 0x6c27ab84
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x1f48]
mov ecx, dword [esp + 0x38]
add ecx, edx
mov eax, dword [ebp + 0x1f4c]
cmp ecx, eax
jbe 0x6c27b170
mov ecx, eax
shr ecx, 2
cmp dword [esp + 0x38], ecx
cmovae ecx, dword [esp + 0x38]
add ecx, eax
mov dword [esp + 0x3c], ecx
mov esi, dword [ebp + 0x1f44]
mov eax, ecx
imul eax, esi
add eax, 0x13
mov dword [esp], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_malloc
mov ecx, eax
lea eax, [eax + 0x13]
and eax, 0xfffffff0
mov dword [eax - 4], ecx
mov edx, dword [esp + 0x30]
mov ecx, edx
imul ecx, esi
mov esi, dword [ebp + 0x1f50]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x1f50]
mov ecx, dword [ecx - 4]
mov dword [esp], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x1f50], eax
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x1f4c], ecx
mov esi, dword [ebp + 0x1f48]
mov ecx, dword [esp + 0x38]
add ecx, esi
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x1f48], ecx
imul esi, dword [ebp + 0x1f44]
add esi, eax
mov dword [esp + 4], esi
mov esi, dword [esp + 0x38]
mov dword [esp], esi
mov dword [esp + 0x30], edx
call sub.OPENGL32.DLL_glGenTextures
sub esp, 8
add dword [ebp + 0x1f54], esi
mov edx, dword [esp + 0x30]
mov dword [ebx + 0x14], edx
test edx, edx
je 0x6c27ab84
mov esi, dword [ebx + 0x24]
test esi, esi
jle 0x6c27ab84
xor esi, esi
mov dword [esp + 0x38], ebp
jmp 0x6c27ae14
test eax, eax
jne 0x6c27c649
mov edx, dword [0x6c490a1c]
mov edi, dword [ebx + 0x18]
mov ebp, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x3c], eax
cmp edi, 0x400
jg 0x6c27acdf
cmp ebp, 0x400
jle 0x6c27ad61
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x8367
mov dword [esp + 0x18], 0x1908
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], 0x8064
mov dword [esp + 0x30], edx
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0x1000
mov dword [esp + 4], 0
mov dword [esp], 0x8064
call sub.OPENGL32.DLL_glGetTexLevelParameteriv
sub esp, 0x10
mov eax, dword [esp + 0xa514]
cmp dword [ebx + 0x18], eax
mov edx, dword [esp + 0x30]
jne 0x6c27af1c
mov eax, dword [ebx + 4]
and eax, 0xc
cmp eax, 4
je 0x6c27b144
imul edi, ebp
imul edi, dword [esp + 0x3c]
imul edi, esi
add edi, dword [ebx + 0x2c]
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], 0x8367
mov dword [esp + 0x18], 0x1908
mov dword [esp + 0x14], 0
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp], 0xde1
call dword [0x6c454318]
push eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x86a1
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glGetTexLevelParameteriv
sub esp, 0x10
mov edx, dword [esp + 0xa518]
test edx, edx
jne 0x6c27aee8
inc esi
cmp dword [ebx + 0x24], esi
jle 0x6c27af1c
mov edx, dword [ebx + 0x14]
add edx, esi
mov eax, dword [esp + 0x38]
imul edx, dword [eax + 0x1f44]
mov eax, dword [eax + 0x1f50]
mov eax, dword [eax + edx]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov ecx, dword [0x6c2e3088]
test ecx, ecx
je 0x6c27aec4
mov eax, dword [0x6c490a10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x84fe
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameterf
sub esp, 0xc
mov eax, dword [0x6c2e3084]
test al, 2
je 0x6c27acb0
mov edx, 0x8c4c
test byte [ebx + 4], 0x4c
je 0x6c27acbe
jmp 0x6c27acb8
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x86a0
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glGetTexLevelParameteriv
sub esp, 0x10
inc esi
cmp dword [ebx + 0x24], esi
jg 0x6c27ae11
lea esi, [esi]
mov ebp, dword [esp + 0x38]
mov eax, dword [ebx + 0x38]
test eax, eax
jne 0x6c27ab8f
nop
mov edx, dword [ebx + 0x48]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x1f48]
mov ecx, dword [esp + 0x38]
add ecx, edx
mov eax, dword [ebp + 0x1f4c]
cmp ecx, eax
jbe 0x6c27b180
mov ecx, eax
shr ecx, 2
cmp dword [esp + 0x38], ecx
cmovae ecx, dword [esp + 0x38]
add ecx, eax
mov dword [esp + 0x3c], ecx
mov esi, dword [ebp + 0x1f44]
mov eax, ecx
imul eax, esi
add eax, 0x13
mov dword [esp], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_malloc
mov ecx, eax
lea eax, [eax + 0x13]
and eax, 0xfffffff0
mov dword [eax - 4], ecx
mov edx, dword [esp + 0x30]
mov ecx, edx
imul ecx, esi
mov esi, dword [ebp + 0x1f50]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x1f50]
mov ecx, dword [ecx - 4]
mov dword [esp], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x1f50], eax
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x1f4c], ecx
mov esi, dword [ebp + 0x1f48]
mov ecx, dword [esp + 0x38]
add ecx, esi
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x1f48], ecx
imul esi, dword [ebp + 0x1f44]
add esi, eax
mov dword [esp + 4], esi
mov esi, dword [esp + 0x38]
mov dword [esp], esi
mov dword [esp + 0x30], edx
call sub.OPENGL32.DLL_glGenTextures
sub esp, 8
add dword [ebp + 0x1f54], esi
mov edx, dword [esp + 0x30]
mov dword [ebx + 0x38], edx
test edx, edx
je 0x6c27ab8f
mov eax, dword [ebx + 0x48]
test eax, eax
jle 0x6c27ab8f
xor esi, esi
jmp 0x6c27b023
mov edx, dword [ebx + 0x38]
add edx, esi
imul edx, dword [ebp + 0x1f44]
mov eax, dword [ebp + 0x1f50]
mov eax, dword [eax + edx]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov eax, dword [0x6c2e3088]
test eax, eax
je 0x6c27b0ce
mov eax, dword [0x6c490a10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x84fe
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameterf
sub esp, 0xc
mov edx, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x40]
mov eax, edx
imul eax, ecx
imul eax, dword [ebx + 0x44]
imul eax, esi
add eax, dword [ebx + 0x50]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x8367
mov dword [esp + 0x18], 0x1908
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov eax, dword [0x6c490a1c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp], 0xde1
call dword [0x6c454318]
push eax
inc esi
cmp dword [ebx + 0x48], esi
jg 0x6c27b020
jmp 0x6c27ab8f
mov dword [esp + 8], 2
mov dword [esp + 4], 0x813d
mov dword [esp], 0xde1
mov dword [esp + 0x30], edx
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov edx, dword [esp + 0x30]
jmp 0x6c27ad70
mov eax, dword [ebp + 0x1f50]
mov esi, edx
jmp 0x6c27ac5d
mov eax, dword [ebp + 0x1f50]
mov esi, edx
jmp 0x6c27afd6
lea edx, [esp + 0xa514]
mov dword [esp + 0x48], edx
lea edx, [esp + 0xa518]
mov dword [esp + 0x44], edx
lea edx, [esp + 0xa51c]
mov dword [esp + 0x4c], edx
nop
mov eax, dword [ebp + 0x24b4]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 4]
test eax, eax
je 0x6c27b6f4
mov dword [esp + 0x38], 0
jmp 0x6c27b31d
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x6c27b1e6
mov eax, dword [ebx + 0x40]
test eax, eax
jne 0x6c27b514
mov edx, dword [ebp + 0x24b0]
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [edx + 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x3c]
lea esi, [eax + eax*2]
mov eax, dword [ebx + 0x120]
test eax, eax
je 0x6c27b281
lea eax, [ebx + 0x124]
mov dword [esp + 4], eax
mov dword [esp], 1
call dword [0x6c4542e8]
sub esp, 8
mov eax, dword [ebx + 0x124]
mov dword [esp + 4], eax
mov dword [esp], 0x8892
call dword [0x6c4542e4]
sub esp, 8
mov dword [esp + 0xc], 0x88e4
mov eax, dword [ebx + 0x120]
mov dword [esp + 8], eax
lea eax, [esi*4]
mov dword [esp + 4], eax
mov dword [esp], 0x8892
call dword [0x6c4542e0]
sub esp, 0x10
mov dword [esp + 4], 0
mov dword [esp], 0x8892
call dword [0x6c4542e4]
sub esp, 8
mov eax, dword [ebx + 0x128]
test eax, eax
je 0x6c27b300
lea eax, [ebx + 0x12c]
mov dword [esp + 4], eax
mov dword [esp], 1
call dword [0x6c4542e8]
sub esp, 8
mov eax, dword [ebx + 0x12c]
mov dword [esp + 4], eax
mov dword [esp], 0x8892
call dword [0x6c4542e4]
sub esp, 8
mov dword [esp + 0xc], 0x88e4
mov eax, dword [ebx + 0x128]
mov dword [esp + 8], eax
shl esi, 2
mov dword [esp + 4], esi
mov dword [esp], 0x8892
call dword [0x6c4542e0]
sub esp, 0x10
mov dword [esp + 4], 0
mov dword [esp], 0x8892
call dword [0x6c4542e4]
sub esp, 8
inc dword [esp + 0x38]
add ebx, 0x130
mov eax, dword [ebp + 0x24b4]
mov edx, dword [esp + 0x38]
cmp dword [eax + 4], edx
jbe 0x6c27b6f4
mov edi, dword [ebx + 0x10]
test edi, edi
jne 0x6c27b1d4
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x6c27b1d4
mov edx, dword [ebp + 0x1f48]
lea ecx, [edx + 1]
mov eax, dword [ebp + 0x1f4c]
cmp ecx, eax
jbe 0x6c27bb44
mov ecx, eax
shr ecx, 2
mov esi, 1
cmove ecx, esi
add ecx, eax
mov dword [esp + 0x3c], ecx
mov esi, dword [ebp + 0x1f44]
mov eax, ecx
imul eax, esi
add eax, 0x13
mov dword [esp], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_malloc
mov ecx, eax
lea eax, [eax + 0x13]
and eax, 0xfffffff0
mov dword [eax - 4], ecx
mov edx, dword [esp + 0x30]
mov ecx, edx
imul ecx, esi
mov esi, dword [ebp + 0x1f50]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x1f50]
mov ecx, dword [ecx - 4]
mov dword [esp], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x1f50], eax
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x1f4c], ecx
mov esi, dword [ebp + 0x1f48]
lea ecx, [esi + 1]
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x1f48], ecx
imul esi, dword [ebp + 0x1f44]
add esi, eax
mov dword [esp + 4], esi
mov dword [esp], 1
mov dword [esp + 0x30], edx
call sub.OPENGL32.DLL_glGenTextures
sub esp, 8
inc dword [ebp + 0x1f54]
mov edx, dword [esp + 0x30]
mov dword [ebx + 0x10], edx
test edx, edx
je 0x6c27b1d4
imul edx, dword [ebp + 0x1f44]
mov eax, dword [ebp + 0x1f50]
mov eax, dword [eax + edx]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov ecx, dword [0x6c2e3088]
test ecx, ecx
je 0x6c27b4b4
mov eax, dword [0x6c490a10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x84fe
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameterf
sub esp, 0xc
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x1401
mov dword [esp + 0x18], 0x1907
mov dword [esp + 0x14], 0
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x8051
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp], 0xde1
call dword [0x6c454318]
push edx
jmp 0x6c27b1d4
mov edx, dword [ebp + 0x1f48]
lea ecx, [edx + 1]
mov eax, dword [ebp + 0x1f4c]
cmp ecx, eax
jbe 0x6c27bb34
mov ecx, eax
shr ecx, 2
mov esi, 1
cmove ecx, esi
add ecx, eax
mov dword [esp + 0x3c], ecx
mov esi, dword [ebp + 0x1f44]
mov eax, ecx
imul eax, esi
add eax, 0x13
mov dword [esp], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_malloc
mov ecx, eax
lea eax, [eax + 0x13]
and eax, 0xfffffff0
mov dword [eax - 4], ecx
mov edx, dword [esp + 0x30]
mov ecx, edx
imul ecx, esi
mov esi, dword [ebp + 0x1f50]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x1f50]
mov ecx, dword [ecx - 4]
mov dword [esp], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x1f50], eax
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x1f4c], ecx
mov esi, dword [ebp + 0x1f48]
lea ecx, [esi + 1]
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x1f48], ecx
imul esi, dword [ebp + 0x1f44]
add esi, eax
mov dword [esp + 4], esi
mov dword [esp], 1
mov dword [esp + 0x30], edx
call sub.OPENGL32.DLL_glGenTextures
sub esp, 8
inc dword [ebp + 0x1f54]
mov edx, dword [esp + 0x30]
mov dword [ebx + 0x34], edx
test edx, edx
je 0x6c27b1e6
imul edx, dword [ebp + 0x1f44]
mov eax, dword [ebp + 0x1f50]
mov eax, dword [eax + edx]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov eax, dword [0x6c2e3088]
test eax, eax
je 0x6c27b694
mov eax, dword [0x6c490a10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x84fe
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameterf
sub esp, 0xc
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x1401
mov dword [esp + 0x18], 0x1907
mov dword [esp + 0x14], 0
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x8051
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp], 0xde1
call dword [0x6c454318]
push eax
jmp 0x6c27b1e6
call fcn.6c263b10
mov dword [ebp + 0x19c0], eax
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x812f
mov dword [esp + 4], 0x2802
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x812f
mov dword [esp + 4], 0x2803
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 0x14], 4
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x683
mov dword [esp], 0x6c331120
call fcn.6c288cd8
test eax, eax
je 0x6c27b835
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x8367
mov dword [esp + 0x18], 0x1908
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0xa518]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xa51c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x8058
mov dword [esp + 4], 0
mov dword [esp], 0xde1
mov dword [esp + 0x34], eax
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp], 0xde1
call dword [0x6c454318]
push edi
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sub.msvcrt.dll_free
call fcn.6c263b10
mov dword [ebp + 0x19c4], eax
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x812f
mov dword [esp + 4], 0x2802
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x812f
mov dword [esp + 4], 0x2803
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 0x14], 4
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x13677
mov dword [esp], 0x6c3317c0
call fcn.6c288cd8
mov ebx, eax
test eax, eax
je 0x6c27b99f
mov eax, dword [esp + 0xa514]
mov ecx, dword [esp + 0xa518]
mov edx, eax
imul edx, ecx
test edx, edx
jle 0x6c27b946
xor edx, edx
nop
mov al, byte [ebx + edx*4]
mov byte [ebx + edx], al
inc edx
mov eax, dword [esp + 0xa514]
mov ecx, dword [esp + 0xa518]
mov esi, eax
imul esi, ecx
cmp esi, edx
jg 0x6c27b928
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], 0x1401
mov dword [esp + 0x18], 0x1909
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1909
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp], 0xde1
call dword [0x6c454318]
push esi
mov dword [esp], ebx
call sub.msvcrt.dll_free
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov ebx, dword [0x6c2e3088]
test ebx, ebx
je 0x6c27bb0e
mov eax, dword [ebp + 0x24b0]
mov ebx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x6c27ba10
xor esi, esi
jmp 0x6c27b9e7
inc esi
add ebx, 0x10
mov eax, dword [ebp + 0x24b0]
cmp dword [eax + 4], esi
jbe 0x6c27ba10
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.6c25401c
test eax, eax
je 0x6c27b9d8
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.6c253a80
inc esi
add ebx, 0x10
mov eax, dword [ebp + 0x24b0]
cmp dword [eax + 4], esi
ja 0x6c27b9e7
mov eax, dword [ebp + 0x24b8]
mov ebx, dword [eax + 0xc]
mov edx, dword [ebp + 0x240c]
mov dword [ebx], edx
cmp dword [eax + 4], 1
jbe 0x6c27ba5f
mov esi, 1
jmp 0x6c27ba39
inc esi
add ebx, 0x20
cmp dword [eax + 4], esi
jbe 0x6c27ba5f
mov edx, dword [ebx + 0x20]
test edx, edx
jne 0x6c27ba30
call fcn.6c263b10
mov dword [ebx + 0x20], eax
test eax, eax
jne 0x6c27bb54
mov eax, dword [ebp + 0x24b8]
inc esi
add ebx, 0x20
cmp dword [eax + 4], esi
ja 0x6c27ba39
or dword [ebp + 0x2434], 0xff
mov dword [esp + 0xa51c], 0
mov eax, 0x2000
mov ebx, dword [esp + 0x4c]
jmp 0x6c27ba8d
cmp eax, dword [esp + 0xa51c]
je 0x6c27bb0e
sar eax, 1
mov dword [0x6c491300], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x1401
mov dword [esp + 0x18], 0x1902
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x81a6
mov dword [esp + 4], 0
mov dword [esp], 0x8064
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x1000
mov dword [esp + 4], 0
mov dword [esp], 0x8064
call sub.OPENGL32.DLL_glGetTexLevelParameteriv
sub esp, 0x10
mov eax, dword [0x6c491300]
cmp eax, 0x100
jg 0x6c27ba80
add esp, 0xa52c
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
test edx, edx
setg al
lea eax, [eax + eax + 0x8c41]
mov dword [0x6c490a1c], eax
jmp 0x6c27a574
mov eax, dword [ebp + 0x1f50]
mov esi, edx
jmp 0x6c27b5b0
mov eax, dword [ebp + 0x1f50]
mov esi, edx
jmp 0x6c27b3cf
mov dword [esp + 4], eax
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x812f
mov dword [esp + 4], 0x2802
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x812f
mov dword [esp + 4], 0x2803
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov eax, dword [0x6c490a10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x84fe
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameterf
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov edi, 0x8515
nop
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x8367
mov dword [esp + 0x18], 0x1908
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x100
mov dword [esp + 0xc], 0x100
mov eax, dword [0x6c490a1c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edi
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
inc edi
cmp edi, 0x851b
jne 0x6c27bc28
mov dword [esp + 4], 0
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
jmp 0x6c27ba50
mov dword [esp + 4], str.uniform_samplerCube_albedo__nvarying_vec3_lu_TexCoord0__nvoid_main___gl_FragColor__textureCube_albedo__lu_TexCoord0___n
mov dword [esp], str.uniform_mat4_uvMatrix__nattribute_vec4_lu_Vertex__nattribute_vec4_lu_MultiTexCoord0__nvarying_vec3_lu_TexCoord0__nvoid_main___gl_Position__lu_Vertex__ngl_Position.z__gl_Position.w___0.00001__nlu_TexCoord0___uvMatrix__lu_MultiTexCoord0_.xyz__n
call fcn.6c265158
mov dword [ebp + 0x1ef0], eax
mov dword [esp], eax
call dword [0x6c4542f0]
push edi
mov ebx, dword [0x6c454370]
mov dword [esp + 4], str.albedo
mov eax, dword [ebp + 0x1ef0]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp + 0x1f88], 0xffffffff
mov dword [esp + 4], str.uvMatrix
mov eax, dword [ebp + 0x1ef0]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [ebp + 0x1ef4], eax
mov dword [esp + 4], str.uniform_sampler2D_style__nuniform_vec4_clip__nuniform_vec4_lu_Fog__nuniform_vec4_lu_FogColor__nuniform_vec4_lu_LitColor__nvarying_vec3_surfacePos__nvarying_vec4_lu_TexCoord0__nvarying_float_lu_FogFragCoord__nvoid_main___if__dot_clip.xyz___surfacePos______clip.w__ndiscard_vec4_color__texture2D_style__lu_TexCoord0.xy___lu_LitColor__nfloat_fog___lu_FogFragCoord___lu_Fog.x___lu_Fog.z__ngl_FragColor__mix_color__lu_FogColor__clamp_fog_0.0_1.0_____ngl_FragColor.a__color.a__n
mov dword [esp], str.attribute_vec4_lu_Vertex__nattribute_vec3_lu_Normal__nuniform_mat4_mvpMatrix__nuniform_mat4_mvMatrix__nuniform_mat4_mMatrix__nuniform_float_width__nuniform_vec4_lu_Fog__nuniform_vec4_lu_FogColor__nvarying_vec3_surfacePos__nvarying_vec4_lu_TexCoord0__nvarying_float_lu_FogFragCoord__nvoid_main___float_sswidth__width__nsurfacePos___mMatrix___lu_Vertexvec4_lu_Normalsswidth_0___.xyz__ngl_Position___mvpMatrix___lu_Vertexvec4_lu_Normalsswidth_0____nlu_FogFragCoord__length_mvMatrix__lu_Vertex___lu_Fog.w__nlu_TexCoord0.xy__vec2_length_lu_Vertex___length_lu_Normal____n
call fcn.6c265158
mov dword [ebp + 0x1f04], eax
mov dword [esp], eax
call dword [0x6c4542f0]
push eax
mov ebx, dword [0x6c454370]
mov dword [esp + 4], str.style
mov eax, dword [ebp + 0x1f04]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp + 0x1f88], 0xffffffff
mov dword [ebp + 0x1f34], 0
mov dword [esp + 4], str.clip
mov eax, dword [ebp + 0x1f04]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [ebp + 0x1f18], eax
mov dword [esp + 4], str.width
mov eax, dword [ebp + 0x1f04]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [ebp + 0x1f14], eax
mov dword [esp + 4], str.mMatrix
mov eax, dword [ebp + 0x1f04]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [ebp + 0x1f08], eax
mov dword [esp + 4], str.mvMatrix
mov eax, dword [ebp + 0x1f04]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [ebp + 0x1f0c], eax
mov dword [esp + 4], str.mvpMatrix
mov eax, dword [ebp + 0x1f04]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [ebp + 0x1f10], eax
mov dword [esp + 4], str.lu_LitColor
mov eax, dword [ebp + 0x1f04]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [ebp + 0x1f30], eax
mov dword [esp + 4], str.lu_Fog
mov eax, dword [ebp + 0x1f04]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [ebp + 0x1f38], eax
mov dword [esp + 4], str.lu_FogColor
mov eax, dword [ebp + 0x1f04]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [ebp + 0x1f3c], eax
xor ebx, ebx
lea eax, [ebx + ebx*2]
shl eax, 3
sub eax, ebx
lea eax, [ebp + eax*4 + 0x19d8]
mov dword [esp], eax
call fcn.6c263b54
inc ebx
cmp ebx, 0xc
jne 0x6c27be84
lea edi, [esp + 0x9470]
mov esi, 0x6c36d900
mov ecx, 0x337
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x64b3]
mov esi, 0x6c36dc38
mov cx, 0xc21
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x70d4]
mov dword [esp + 0x3c], ecx
mov esi, 0x6c36e85c
mov ecx, 0x9dd
mov edi, dword [esp + 0x3c]
rep movsb byte es:[edi], byte [esi]
lea esi, [esp + 0x59]
mov dword [esp + 0x38], esi
xor esi, esi
mov cx, 0x2000
mov edi, dword [esp + 0x38]
mov eax, esi
rep stosb byte es:[edi], al
lea eax, [esp + 0x9470]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
lea ebx, [esp + 0x2059]
mov ecx, 0x2000
mov edi, ebx
mov eax, esi
rep stosb byte es:[edi], al
lea eax, [esp + 0x64b3]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp + 0x24bc]
cmp dword [eax + 4], 1
je 0x6c27c5f9
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x19d8], eax
lea eax, [ebp + 0x19d8]
mov dword [esp], eax
call fcn.6c263bec
lea edi, [esp + 0x97a7]
mov esi, 0x6c36f23c
mov ecx, 0x336
rep movsb byte es:[edi], byte [esi]
mov cx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x97a7]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x64b3]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1a34], eax
lea eax, [ebp + 0x1a34]
mov dword [esp], eax
call fcn.6c263bec
lea edi, [esp + 0x9dcd]
mov esi, 0x6c36f574
mov ecx, 0x2ef
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x8411]
mov esi, 0x6c36f864
mov cx, 0x532
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xa0bc]
mov dword [esp + 0x3c], ecx
mov esi, 0x6c36fd98
mov ecx, 0xb0
mov edi, dword [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov cx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x9dcd]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x8411]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp + 0x24bc]
cmp dword [eax + 4], 1
je 0x6c27c621
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1a90], eax
lea eax, [ebp + 0x1a90]
mov dword [esp], eax
call fcn.6c263bec
lea edi, [esp + 0x9add]
mov esi, 0x6c370058
mov ecx, 0xbc
rep movsd dword es:[edi], dword [esi]
xor esi, esi
mov cx, 0x2000
mov edi, dword [esp + 0x38]
mov eax, esi
rep stosb byte es:[edi], al
lea eax, [esp + 0x9add]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
mov eax, esi
rep stosb byte es:[edi], al
lea eax, [esp + 0x8411]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp + 0x24bc]
cmp dword [eax + 4], 1
je 0x6c27c5d1
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1aec], eax
lea eax, [ebp + 0x1aec]
mov dword [esp], eax
call fcn.6c263bec
lea edi, [esp + 0x8d03]
mov esi, 0x6c370348
mov ecx, 0x3be
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x4059]
mov esi, 0x6c370708
mov cx, 0x1352
rep movsb byte es:[edi], byte [esi]
mov cx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x8d03]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x4059]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1b48], eax
lea eax, [ebp + 0x1b48]
mov dword [esp], eax
call fcn.6c263bec
lea edi, [esp + 0x8943]
mov esi, 0x6c371a5c
mov ecx, 0xf0
rep movsd dword es:[edi], dword [esi]
mov cx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x8943]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x4059]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1ba4], eax
lea eax, [ebp + 0x1ba4]
mov dword [esp], eax
call fcn.6c263bec
lea edi, [esp + 0x53ab]
mov esi, 0x6c371e1c
mov ecx, 0x442
rep movsd dword es:[edi], dword [esi]
mov cx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x8d03]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x53ab]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1c00], eax
lea eax, [ebp + 0x1c00]
mov dword [esp], eax
call fcn.6c263bec
mov ecx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x8943]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x53ab]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1c5c], eax
lea eax, [ebp + 0x1c5c]
mov dword [esp], eax
call fcn.6c263bec
lea edi, [esp + 0x7ab1]
mov esi, 0x6c372f24
mov ecx, 0x258
rep movsd dword es:[edi], dword [esi]
mov cx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x9470]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x7ab1]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1cb8], eax
lea eax, [ebp + 0x1cb8]
mov dword [esp], eax
call fcn.6c263bec
mov ecx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x97a7]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x7ab1]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1d14], eax
lea eax, [ebp + 0x1d14]
mov dword [esp], eax
call fcn.6c263bec
lea edi, [esp + 0x90c1]
mov esi, 0x6c373884
mov ecx, 0x3af
rep movsb byte es:[edi], byte [esi]
mov cx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x9470]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x90c1]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1d70], eax
lea eax, [ebp + 0x1d70]
mov dword [esp], eax
call fcn.6c263bec
mov ecx, 0x2000
mov edi, dword [esp + 0x38]
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x97a7]
call fcn.6c263204
mov dword [esp + 4], eax
lea edx, [esp + 0x59]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0x90c1]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [esp + 0x59]
mov dword [esp], edx
call fcn.6c265158
mov dword [ebp + 0x1dcc], eax
lea eax, [ebp + 0x1dcc]
mov dword [esp], eax
call fcn.6c263bec
xor ebx, ebx
mov eax, dword [ebp + ebx + 0x1cb8]
mov dword [esp], eax
call dword [0x6c4542f0]
push esi
mov esi, dword [0x6c454354]
mov edi, dword [0x6c453048]
mov dword [esp + 4], str.ramp
mov eax, dword [ebp + ebx + 0x1cb8]
mov dword [esp], eax
call dword [0x6c454374]
sub esp, 8
mov dword [esp + 8], edi
mov dword [esp + 4], 9
mov dword [esp], eax
call esi
sub esp, 0xc
add ebx, 0x5c
cmp ebx, 0x170
jne 0x6c27c534
mov dword [esp], 0
call dword [0x6c4542f0]
push ecx
jmp 0x6c27a54c
mov dword [esp], str.no_OGL_context
call fcn.6c263a70
add esp, 0xa52c
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp + 0x240c]
call fcn.6c263268
jmp 0x6c27a72e
mov edx, 0x811c9dc5
jmp 0x6c27a6f7
mov ecx, 0x2000
mov edi, ebx
mov eax, esi
rep stosb byte es:[edi], al
lea eax, [esp + 0xa0bc]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
jmp 0x6c27c122
mov ecx, 0x2000
mov edi, ebx
mov eax, esi
rep stosb byte es:[edi], al
lea eax, [esp + 0x70d4]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
jmp 0x6c27bf4d
mov ecx, 0x2000
mov edi, ebx
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [esp + 0xa0bc]
call fcn.6c263204
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
jmp 0x6c27c08e
mov edx, 0x83f0
jmp 0x6c27aed6