Function at 0x439270
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
mov eax, dword [0x5eae84]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0
call fcn.0042d450
push 0x60cd40
call fcn.0042d180
mov eax, dword [0x5fc980]
mov dword [ebp - 0x94], eax
mov eax, dword [0x5fc984]
mov dword [ebp - 0x90], eax
mov eax, dword [0x5fc988]
mov dword [ebp - 0x88], eax
mov eax, dword [0x5fc98c]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x94]
push eax
push eax
push 0x60cd84
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0x1000
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
call fcn.0042e930
push 1
call fcn.0042d450
lea eax, [ebp - 0x94]
push eax
call fcn.0042d110
add esp, 0x1c
push 0x1700
call dword [sym.imp.OPENGL32.dll_glMatrixMode]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.0042efe0
add esp, 8
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.OPENGL32.dll_glLoadMatrixf]
movss xmm1, dword [0x58d220]
mov edx, 0x60cdb8
mov edi, 0x4000
mov esi, 0x60cfcc
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], 4
mov ecx, dword [edx + 0x28]
mov eax, ecx
and eax, 0x1f
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
push esi
addsd xmm0, qword [eax*8 + 0x5c6a60]
mov eax, ecx
shr eax, 5
and eax, 0x1f
shr ecx, 0xa
cvtpd2ps xmm0, xmm0
and ecx, 0x1f
mulss xmm0, xmm1
mov dword [ebp - 8], 0x3f800000
movss dword [ebp - 0x14], xmm0
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5c6a60]
mov ax, word [edx]
shl ax, 6
cwde
cvtpd2ps xmm0, xmm0
sar eax, 3
mulss xmm0, xmm1
mov dword [ebp - 0xa0], eax
movss dword [ebp - 0x10], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x5c6a60]
mov ecx, dword [edx]
mov eax, ecx
shr eax, 0xa
shl eax, 6
cwde
sar eax, 3
mov dword [ebp - 0x9c], eax
mov eax, ecx
shr eax, 0x14
shl eax, 6
cwde
sar eax, 3
cvtpd2ps xmm0, xmm0
test ecx, ecx
mov ecx, 0xfffff000
cmove eax, ecx
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x94]
mulss xmm0, xmm1
push eax
lea eax, [ebp - 0xa0]
push eax
movss dword [ebp - 0xc], xmm0
call fcn.0042f850
movd xmm0, dword [esi]
movss xmm2, dword [0x58cf54]
movss xmm1, dword [0x5c6a90]
cvtdq2ps xmm0, xmm0
add esp, 0xc
mulss xmm0, xmm2
lea eax, [ebp - 0x14]
push eax
xorps xmm0, xmm1
movss dword [ebp - 0x24], xmm0
movd xmm0, dword [esi + 4]
cvtdq2ps xmm0, xmm0
push 0x1200
mulss xmm0, xmm2
push edi
mov dword [ebp - 0x18], 0
xorps xmm0, xmm1
movss dword [ebp - 0x20], xmm0
movd xmm0, dword [esi + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
xorps xmm0, xmm1
movss dword [ebp - 0x1c], xmm0
call dword [sym.imp.OPENGL32.dll_glLightfv]
lea eax, [ebp - 0x14]
push eax
push 0x1201
push edi
call dword [sym.imp.OPENGL32.dll_glLightfv]
lea eax, [ebp - 0x24]
push eax
push 0x1203
push edi
call dword [sym.imp.OPENGL32.dll_glLightfv]
mov edx, dword [ebp - 0xd8]
movss xmm1, dword [0x58d220]
add edx, 4
add esi, 0xc
inc edi
dec dword [ebp - 0xd4]
mov dword [ebp - 0xd8], edx
jne 0x439374
call dword [sym.imp.OPENGL32.dll_glLoadIdentity]
push 0xb71
call dword [sym.imp.OPENGL32.dll_glEnable]
lea eax, [ebp - 0xd0]
push eax
call fcn.0042f260
push dword [0x60ce20]
lea eax, [ebp - 0xd0]
push dword [0x60ce1c]
push dword [0x60ce18]
push eax
push eax
call fcn.0042feb0
lea eax, [ebp - 0xd0]
push eax
push 0x60cdf4
call fcn.0042ef60
push dword [0x60ce2c]
lea eax, [ebp - 0xd0]
push dword [0x60ce28]
push dword [0x60ce24]
push eax
push eax
call fcn.0042fd40
lea eax, [ebp - 0xd0]
push eax
call fcn.0042d460
mov ecx, dword [ebp - 4]
add esp, 0x38
xor ecx, ebp
pop edi
pop esi
call fcn.0057d22e
mov esp, ebp
pop ebp
ret