Function at 0x100e3730
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10147607
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x30
mov eax, dword fs:[0x2c]
push esi
mov esi, dword [0x101e66ac]
push edi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax + esi*4]
mov eax, dword [0x101ef0e8]
cmp eax, dword [esi + 4]
jg 0x100e3ad1
mov eax, dword [0x101ef0f8]
cmp eax, dword [esi + 4]
jg 0x100e3b07
jmp 0x100e37dd
mov al, byte [ecx]
inc ecx
test al, al
je 0x100e3b96
jmp 0x100e37a0
mov al, byte [ecx]
inc ecx
test al, al
je 0x100e3bf6
jmp 0x100e37b0
mov al, byte [ecx]
inc ecx
test al, al
je 0x100e3c49
jmp 0x100e37c0
mov al, byte [ecx]
inc ecx
test al, al
je 0x100e3c90
jmp 0x100e37d0
mov eax, dword [0x101ef0c0]
cmp eax, dword [esi + 4]
jg 0x100e3cc9
mov eax, dword [0x101ef0c4]
cmp eax, dword [esi + 4]
jg 0x100e3d12
cmp dword [0x101e9a84], 0
jne 0x100e3812
mov ecx, dword [0x101ee064]
mov edx, ecx
jmp 0x100e3834
mov ecx, dword [0x101ee058]
push 0
push 1
push str.Model_textures
mov eax, dword [ecx]
push str.debug_debugdrawflat
mov eax, dword [eax + 0x150]
call eax
mov ecx, eax
mov edx, eax
cmp dword [0x101e9a88], 1
mov eax, dword [0x101ef0c8]
cmove eax, dword [0x101ef0f0]
mov dword [0x101ef0d8], ecx
mov dword [0x101ef098], eax
test edx, edx
je 0x100e3abc
mov eax, dword [ecx]
mov eax, dword [eax + 0xa8]
call eax
test al, al
jne 0x100e3abc
mov ecx, dword [0x101ef098]
test ecx, ecx
je 0x100e3abc
mov eax, dword [ecx]
mov eax, dword [eax + 0xa8]
call eax
test al, al
jne 0x100e3abc
mov ecx, dword [0x101ef0f0]
test ecx, ecx
je 0x100e3abc
mov eax, dword [ecx]
mov eax, dword [eax + 0xa8]
call eax
test al, al
jne 0x100e3abc
mov ecx, dword [0x101ef0c8]
test ecx, ecx
je 0x100e3abc
mov eax, dword [ecx]
mov eax, dword [eax + 0xa8]
call eax
test al, al
jne 0x100e3abc
mov ecx, dword [0x101ef0d8]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x101ef0f0]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x101ef0c8]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x101ef098]
mov eax, dword [ecx]
call dword [eax + 0x30]
cmp byte [0x101e9a80], 0
movss xmm1, dword [0x1017f338]
movss xmm0, dword [0x101e9a90]
mulss xmm0, xmm1
cvttss2si esi, xmm0
movss xmm0, dword [0x101e9a94]
mulss xmm0, xmm1
cvttss2si edi, xmm0
movss xmm0, dword [0x101e9a98]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x101e9a9c]
mulss xmm0, xmm1
mov dword [ebp - 0x14], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x18], eax
je 0x100e3a68
mov ecx, dword [0x101ef0d8]
push 0
push 0x8000
mov eax, dword [ecx]
call dword [eax + 0x74]
cmp byte [0x101e9a83], 0
mov ecx, dword [0x101ef0d8]
setne al
movzx eax, al
push eax
mov edx, dword [ecx]
push 0x10000000
call dword [edx + 0x74]
movss xmm1, dword [0x1017f338]
lea edx, [ebp - 0x3c]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov ecx, dword [0x101ee054]
push edx
mov eax, dword [ecx]
divss xmm0, xmm1
movss dword [ebp - 0x3c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x38], xmm0
movd xmm0, dword [ebp - 0x14]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x34], xmm0
mov eax, dword [eax + 0x6c]
call eax
movd xmm0, dword [ebp - 0x18]
mov ecx, dword [0x101ee054]
cvtdq2ps xmm0, xmm0
push ecx
mov eax, dword [ecx]
divss xmm0, dword [0x1017f338]
mov eax, dword [eax + 0x70]
movss dword [esp], xmm0
call eax
sub esp, 8
push dword [0x101ef0d8]
call fcn.100164f0
cmp dword [0x101e9a88], 0
je 0x100e3a68
push dword [ebx + 0x18]
mov ecx, dword [0x101ee054]
xor edx, edx
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call dword [0x101ef0b4]
mov ecx, dword [0x101ef098]
push 0
push 0x8000
mov eax, dword [ecx]
call dword [eax + 0x74]
cmp byte [0x101e9a8c], 0
mov ecx, dword [0x101ef098]
setne al
movzx eax, al
push eax
mov edx, dword [ecx]
push 0x10000000
call dword [edx + 0x74]
sub esp, 8
push dword [0x101ef098]
call fcn.100164f0
movzx eax, byte [0x101e9a82]
mov edx, dword [0x101ef0d8]
mov ecx, dword [0x101e9a84]
push 0x101e9ac0
push dword [0x101ef098]
push 0x101e9aa0
push 0x101e9ab0
push eax
movzx eax, byte [0x101e9a81]
push eax
push dword [0x101e9ad0]
call fcn.100e4b20
add esp, 0x1c
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0xc]
xor al, al
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x101ef0e8
call fcn.1006d20f
add esp, 4
cmp dword [0x101ef0e8], 0xffffffff
jne 0x100e3787
mov eax, dword [0x101e53a4]
push 0x101ef0e8
mov dword [0x101ef0b4], eax
call fcn.1006d1be
add esp, 4
jmp 0x100e3787
push 0x101ef0f8
call fcn.1006d20f
add esp, 4
cmp dword [0x101ef0f8], 0xffffffff
jne 0x100e37dd
sub esp, 0x18
mov dword [ebp - 4], 0
mov eax, esp
mov dword [ebp - 0x18], esp
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 1
xor eax, eax
mov dword [ebp - 0x3b], 0x8ba2bab1
mov dword [ebp - 0x37], 0xb1b6a1b7
mov dword [ebp - 0x33], 0xd4a4b5b9
jmp 0x100e3b64
xor byte [ebp + eax - 0x3b], 0xd4
inc eax
cmp eax, 0xc
jb 0x100e3b64
sub esp, 0x18
lea ecx, [ebp - 0x3b]
mov edx, esp
mov dword [ebp - 0x14], esp
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
jmp 0x100e37a0
sub ecx, edi
lea eax, [ebp - 0x3b]
push ecx
push eax
mov ecx, edx
call fcn.10003450
mov byte [ebp - 4], 2
xor eax, eax
mov dword [ebp - 0x3a], 0xbda1b3a2
mov dword [ebp - 0x36], 0xbdbca3fb
mov word [ebp - 0x32], 0xb1a0
mov byte [ebp - 0x30], 0xd4
jmp 0x100e3bc4
xor byte [ebp + eax - 0x3a], 0xd4
inc eax
cmp eax, 0xb
jb 0x100e3bc4
sub esp, 0x18
lea ecx, [ebp - 0x3a]
mov edx, esp
mov dword [ebp - 0x24], esp
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
jmp 0x100e37b0
sub ecx, edi
lea eax, [ebp - 0x3a]
push ecx
push eax
mov ecx, edx
call fcn.10003450
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
movaps xmm0, xmmword [0x1017fe80]
lea edi, [ecx + 1]
xorps xmm0, xmmword [0x1017fd00]
sub esp, 0x18
mov edx, esp
mov byte [ebp - 0x30], 0xd4
movups xmmword [ebp - 0x40], xmm0
mov byte [ebp - 0x30], 0
xorps xmm0, xmm0
mov dword [ebp - 0x28], esp
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
jmp 0x100e37c0
sub ecx, edi
lea eax, [ebp - 0x40]
push ecx
push eax
mov ecx, edx
call fcn.10003450
sub esp, 0x18
mov byte [ebp - 4], 4
mov edx, esp
mov dword [ebp - 0x36], 0x74737563
xorps xmm0, xmm0
mov word [ebp - 0x32], 0x6d6f
lea ecx, [ebp - 0x36]
mov byte [ebp - 0x30], 0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
jmp 0x100e37d0
sub ecx, edi
lea eax, [ebp - 0x36]
push ecx
push eax
mov ecx, edx
call fcn.10003450
xor dl, dl
mov byte [ebp - 4], 0
xor cl, cl
call fcn.100e30a0
push 0x101ef0f8
mov dword [0x101ee064], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d1be
add esp, 0x7c
jmp 0x100e37dd
push 0x101ef0c0
call fcn.1006d20f
add esp, 4
cmp dword [0x101ef0c0], 0xffffffff
jne 0x100e37ee
mov ecx, 1
mov dword [ebp - 4], 5
call fcn.100e3370
push 0x101ef0c0
mov dword [0x101ef0f0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d1be
add esp, 4
jmp 0x100e37ee
push 0x101ef0c4
call fcn.1006d20f
add esp, 4
cmp dword [0x101ef0c4], 0xffffffff
jne 0x100e37ff
mov dword [ebp - 4], 6
mov ecx, dword [0x101ee058]
push 0
push 1
push 0
mov eax, dword [ecx]
push str.dev_glow_armsrace
mov eax, dword [eax + 0x150]
call eax
push 0x101ef0c4
mov dword [0x101ef0c8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d1be
add esp, 4
jmp 0x100e37ff