Function at 0x100e3880
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 0x101477d7
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 0x100e3c21
mov eax, dword [0x101ef0f8]
cmp eax, dword [esi + 4]
jg 0x100e3c57
jmp 0x100e392d
mov al, byte [ecx]
inc ecx
test al, al
je 0x100e3ce6
jmp 0x100e38f0
mov al, byte [ecx]
inc ecx
test al, al
je 0x100e3d46
jmp 0x100e3900
mov al, byte [ecx]
inc ecx
test al, al
je 0x100e3d99
jmp 0x100e3910
mov al, byte [ecx]
inc ecx
test al, al
je 0x100e3de0
jmp 0x100e3920
mov eax, dword [0x101ef0c0]
cmp eax, dword [esi + 4]
jg 0x100e3e19
mov eax, dword [0x101ef0c4]
cmp eax, dword [esi + 4]
jg 0x100e3e62
cmp dword [0x101e9a84], 0
jne 0x100e3962
mov ecx, dword [0x101ee064]
mov edx, ecx
jmp 0x100e3984
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 0x100e3c0c
mov eax, dword [ecx]
mov eax, dword [eax + 0xa8]
call eax
test al, al
jne 0x100e3c0c
mov ecx, dword [0x101ef098]
test ecx, ecx
je 0x100e3c0c
mov eax, dword [ecx]
mov eax, dword [eax + 0xa8]
call eax
test al, al
jne 0x100e3c0c
mov ecx, dword [0x101ef0f0]
test ecx, ecx
je 0x100e3c0c
mov eax, dword [ecx]
mov eax, dword [eax + 0xa8]
call eax
test al, al
jne 0x100e3c0c
mov ecx, dword [0x101ef0c8]
test ecx, ecx
je 0x100e3c0c
mov eax, dword [ecx]
mov eax, dword [eax + 0xa8]
call eax
test al, al
jne 0x100e3c0c
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 [0x1017f2b8]
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 0x100e3bb8
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 [0x1017f2b8]
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 [0x1017f2b8]
mov eax, dword [eax + 0x70]
movss dword [esp], xmm0
call eax
sub esp, 8
push dword [0x101ef0d8]
call fcn.10016510
cmp dword [0x101e9a88], 0
je 0x100e3bb8
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.10016510
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.100e4c70
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.1006d07f
add esp, 4
cmp dword [0x101ef0e8], 0xffffffff
jne 0x100e38d7
mov eax, dword [0x101e53a4]
push 0x101ef0e8
mov dword [0x101ef0b4], eax
call fcn.1006d02e
add esp, 4
jmp 0x100e38d7
push 0x101ef0f8
call fcn.1006d07f
add esp, 4
cmp dword [0x101ef0f8], 0xffffffff
jne 0x100e392d
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], 0xdbf2eae1
mov dword [ebp - 0x37], 0xe1e6f1e7
mov dword [ebp - 0x33], 0x84f4e5e9
jmp 0x100e3cb4
xor byte [ebp + eax - 0x3b], 0x84
inc eax
cmp eax, 0xc
jb 0x100e3cb4
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 0x100e38f0
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], 0xedf1e3f2
mov dword [ebp - 0x36], 0xedecf3ab
mov word [ebp - 0x32], 0xe1f0
mov byte [ebp - 0x30], 0x84
jmp 0x100e3d14
xor byte [ebp + eax - 0x3a], 0x84
inc eax
cmp eax, 0xb
jb 0x100e3d14
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 0x100e3900
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 [0x1017f9b0]
lea edi, [ecx + 1]
xorps xmm0, xmmword [0x1017ff50]
sub esp, 0x18
mov edx, esp
mov byte [ebp - 0x30], 0x84
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 0x100e3910
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 0x100e3920
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.100e31f0
push 0x101ef0f8
mov dword [0x101ee064], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d02e
add esp, 0x7c
jmp 0x100e392d
push 0x101ef0c0
call fcn.1006d07f
add esp, 4
cmp dword [0x101ef0c0], 0xffffffff
jne 0x100e393e
mov ecx, 1
mov dword [ebp - 4], 5
call fcn.100e34c0
push 0x101ef0c0
mov dword [0x101ef0f0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d02e
add esp, 4
jmp 0x100e393e
push 0x101ef0c4
call fcn.1006d07f
add esp, 4
cmp dword [0x101ef0c4], 0xffffffff
jne 0x100e394f
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.1006d02e
add esp, 4
jmp 0x100e394f