Function at 0x100c81b0
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 0x100d4f47
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc8
mov eax, dword [0x100e400c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, 0xf
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], edx
mov byte [ebp - 0x48], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], edx
mov byte [ebp - 0x30], 0
mov byte [ebp - 4], 1
mov eax, dword [0x100fdf00]
mov esi, eax
mov ecx, dword [0x100fdf04]
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd8], eax
cmp esi, ecx
je 0x100c824c
nop word [eax + eax]
cmp dword [esi], 0
je 0x100c824c
add esi, 4
cmp esi, ecx
jne 0x100c8240
cmp eax, ecx
je 0x100c8262
cmp dword [eax], 1
je 0x100c825c
add eax, 4
cmp eax, ecx
jne 0x100c8250
mov dword [ebp - 0xd8], eax
cmp esi, ecx
jne 0x100c826e
cmp eax, ecx
je 0x100c8c9c
cmp byte [0x1010e7b4], 0
je 0x100c8c9c
mov ecx, dword [0x100f6ab8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
movss xmm0, dword [0x1010e7c0]
movss xmm1, dword [0x1010e7c4]
movss xmm2, dword [0x1010e7c8]
subss xmm0, dword [eax]
subss xmm1, dword [eax + 4]
subss xmm2, dword [eax + 8]
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1001a780
movss xmm1, dword [0x1010e7d4]
mulss xmm1, dword [0x100d951c]
mulss xmm0, xmm0
mulss xmm1, dword [0x1010e7d4]
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_expf
mov ecx, dword [0x10109a5c]
movaps xmm4, xmm0
mov eax, dword [0x100f6ab8]
add ecx, 0xffffffb4
mulss xmm4, dword [0x1010e7cc]
xor ecx, 0xcc2d949e
movss xmm2, dword [0x100d9310]
mov eax, dword [ecx + eax]
test eax, eax
jle 0x100c8349
movaps xmm1, xmm4
movaps xmm0, xmm4
mulss xmm1, xmm2
subss xmm0, xmm1
mulss xmm0, xmm2
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm0, xmm2
jbe 0x100c8346
addss xmm2, xmm2
movaps xmm1, xmm4
subss xmm1, xmm2
movaps xmm4, xmm1
movss xmm3, dword [0x100d9500]
lea edx, [ebp - 0xb4]
movss xmm2, dword [0x100d94f8]
andps xmm3, xmm4
movaps xmm0, xmm4
movss xmm5, dword [0x100d9348]
xorps xmm0, xmm3
mov dword [ebp - 0xb4], 0x66322e25
cmpltss xmm0, xmm2
mov byte [ebp - 0xb0], 0
movaps xmm1, xmm4
xor eax, eax
andps xmm2, xmm0
orps xmm2, xmm3
addss xmm1, xmm2
subss xmm1, xmm2
movaps xmm0, xmm1
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm5
subss xmm1, xmm0
movss xmm0, dword [0x1010e7bc]
cvttss2si ecx, xmm1
test ecx, ecx
cmovg eax, ecx
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x94], eax
mov eax, dword [0x10109854]
subss xmm0, dword [eax + 0x10]
lea eax, [ebp - 0x18]
push eax
movss dword [ebp - 0x18], xmm0
call fcn.100c9ec0
mov edi, eax
add esp, 4
lea eax, [ebp - 0x48]
cmp eax, edi
je 0x100c844e
mov edx, dword [ebp - 0x34]
cmp edx, 0x10
jb 0x100c841a
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8410
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8474
push edx
push ecx
call fcn.100cb8a7
add esp, 8
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x48], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x38], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov edx, dword [ebp - 0x4c]
cmp edx, 0x10
jb 0x100c8484
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c847a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c847a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100cb8a7
add esp, 8
lea eax, [ebp - 0x94]
mov word [ebp - 0xac], 0x6925
push eax
lea edx, [ebp - 0xac]
mov byte [ebp - 0xaa], 0
lea ecx, [ebp - 0x60]
call fcn.100a2c70
mov edi, eax
add esp, 4
lea eax, [ebp - 0x30]
cmp eax, edi
je 0x100c8519
mov edx, dword [ebp - 0x1c]
cmp edx, 0x10
jb 0x100c84e5
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c84db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c853f
push edx
push ecx
call fcn.100cb8a7
add esp, 8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x30], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x20], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov edx, dword [ebp - 0x4c]
cmp edx, 0x10
jb 0x100c854f
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8545
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8545
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100cb8a7
add esp, 8
mov edx, dword [0x10109a08]
mov eax, dword [0x100f6ab8]
add edx, 0xffffffc9
mov ecx, dword [ebp - 0x94]
xor edx, 0xcc2d9489
mov edi, dword [0x10108fd4]
cmp ecx, dword [edx + eax]
mov ecx, dword [0x101097f8]
cmovl edi, dword [0x1010811c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
call eax
movss xmm2, dword [0x1010e7c4]
movss xmm4, dword [0x1010e7c0]
movaps xmm1, xmm2
movss xmm3, dword [0x1010e7c8]
movaps xmm0, xmm4
mulss xmm0, dword [eax + 0x30]
mov dword [ebp - 0xb8], eax
mulss xmm1, dword [eax + 0x34]
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [eax + 0x38]
addss xmm0, dword [eax + 0x3c]
addss xmm1, xmm0
movss xmm0, dword [0x100d9278]
comiss xmm0, xmm1
jbe 0x100c85e5
mov byte [ebp - 0xa5], 0
jmp 0x100c86a9
movss xmm6, dword [0x100d9348]
movaps xmm0, xmm4
mulss xmm0, dword [eax]
mov ecx, dword [0x100f6e8c]
divss xmm6, xmm1
mov byte [ebp - 0xa5], 1
movaps xmm1, xmm2
mulss xmm1, dword [eax + 4]
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [eax + 8]
addss xmm0, dword [eax + 0xc]
mov eax, dword [0x100f6e88]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cdq
sub eax, edx
sar eax, 1
mulss xmm1, dword [0x100d9310]
mulss xmm0, xmm6
mulss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movss dword [ebp - 0xb4], xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [ebp - 0xb8]
mulss xmm2, dword [eax + 0x14]
mulss xmm4, dword [eax + 0x10]
mulss xmm3, dword [eax + 0x18]
addss xmm2, xmm4
mulss xmm0, xmm6
addss xmm3, dword [eax + 0x1c]
addss xmm2, xmm3
mulss xmm2, dword [0x100d9310]
mulss xmm2, xmm0
subss xmm1, xmm2
movss dword [ebp - 0xb8], xmm1
cmp dword [0x1010e7f8], 0x10
mov edx, 0x1010e7e4
mov dword [ebp - 0x68], 0
cmovae edx, dword [0x1010e7e4]
mov ecx, edx
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x98], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c86e0
sub ecx, dword [ebp - 0x98]
push ecx
push edx
lea ecx, [ebp - 0x78]
call fcn.10020d70
xorps xmm1, xmm1
mov byte [ebp - 4], 2
cmp esi, dword [ebp - 0xd4]
je 0x100c8bb4
mov ecx, 1
mov dword [ebp - 0xc0], 0
cmp dword [ebp - 0x68], ecx
lea eax, [ebp - 0x78]
mov dword [ebp - 0xbc], 0xf
cmovb ecx, dword [ebp - 0x68]
cmp dword [ebp - 0x64], 0x10
push ecx
cmovae eax, dword [ebp - 0x78]
lea ecx, [ebp - 0xd0]
push eax
mov byte [ebp - 0xd0], 0
call fcn.10020d70
mov byte [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0xa4], 0x9f92c197
mov dword [ebp - 0xa0], 0x839c9792
mov word [ebp - 0x9c], 0xc1d4
mov byte [ebp - 0x9a], 0xb2
xor byte [ebp + eax - 0xa4], 0xb2
inc eax
cmp eax, 0xb
jb 0x100c8773
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xd0]
push eax
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0x60]
call fcn.100ca350
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x100c87dd
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c87d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c87d3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100cb8a7
add esp, 8
lea eax, [ebp - 0x94]
mov dword [ebp - 0xc0], 0
push eax
lea edx, [ebp - 0xac]
mov dword [ebp - 0xbc], 0xf
lea ecx, [ebp - 0x90]
mov byte [ebp - 0xd0], 0
mov word [ebp - 0xac], 0x6925
mov byte [ebp - 0xaa], 0
call fcn.100a2c70
add esp, 4
mov byte [ebp - 4], 6
movss xmm0, dword [0x100d93f0]
comiss xmm0, dword [ebp - 0x18]
mov dword [ebp - 0x98], 0xff0aac87
jbe 0x100c8849
mov dword [ebp - 0x98], 0xff6ec8c8
movss xmm0, dword [0x100d93d8]
comiss xmm0, dword [ebp - 0x18]
mov esi, dword [ebp - 0x98]
jbe 0x100c886d
mov dword [ebp - 0x98], 0xff1120c0
mov esi, dword [ebp - 0x98]
cmp byte [0x1010e7b4], 0
je 0x100c8b2b
cmp byte [0x1010e791], 0
jne 0x100c8b2b
cmp byte [0x1010e792], 0
jne 0x100c8b2b
movss xmm0, dword [ebp - 0x18]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100c88d3
push 0
lea eax, [ebp - 0x60]
push eax
push ecx
mov eax, esp
mov ecx, 0x1010bf08
push 0xb
push 6
mov dword [eax], 0x7d000000
call fcn.100bd070
push 0
lea eax, [ebp - 0x60]
mov ecx, 0x1010bf08
push eax
push esi
push 0xa
push 5
call fcn.100bd070
mov ecx, dword [0x10109a08]
mov eax, dword [0x100f6ab8]
add ecx, 0xffffffc9
mov edx, dword [ebp - 0x94]
xor ecx, 0xcc2d9489
cmp dword [ecx + eax], edx
jg 0x100c89fc
lea edx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x41544146
lea ecx, [ebp - 0xd0]
mov word [ebp - 0x9c], 0x4c
call fcn.10022e30
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 7
push 0x1f
push 6
mov ecx, 0x1010bf08
mov dword [eax], 0x7d000000
call fcn.100bd070
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x100c8978
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c896e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c896e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100cb8a7
add esp, 8
lea edx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x41544146
lea ecx, [ebp - 0xd0]
mov word [ebp - 0x9c], 0x4c
call fcn.10022e30
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 8
push 0x1e
push 5
mov ecx, 0x1010bf08
mov dword [eax], 0xff1120c0
call fcn.100bd070
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x100c8b2b
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8b21
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8b21
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp edx, 1
jle 0x100c8b2b
lea eax, [ebp - 0x90]
mov dword [ebp - 0xa0], 0x6925202d
push eax
lea edx, [ebp - 0xa0]
mov word [ebp - 0x9c], 0x5048
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0x9a], 0
call fcn.10041260
add esp, 4
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 9
push 0x1f
push 5
mov ecx, 0x1010bf08
mov dword [eax], 0x7d000000
call fcn.100bd070
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x100c8a98
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8a8e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8a8e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100cb8a7
add esp, 8
lea eax, [ebp - 0x90]
mov dword [ebp - 0xa0], 0x6925202d
push eax
lea edx, [ebp - 0xa0]
mov word [ebp - 0x9c], 0x5048
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0x9a], 0
call fcn.10041260
add esp, 4
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 0xa
push 0x1e
push 6
mov ecx, 0x1010bf08
mov dword [eax], 0xff98ffff
call fcn.100bd070
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x100c8b2b
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8b21
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8b21
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100cb8a7
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x7c]
cmp edx, 0x10
jb 0x100c8b62
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8b58
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8ba1
push edx
push ecx
call fcn.100cb8a7
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
cmp edx, 0x10
jb 0x100c8bb1
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8ba7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8ba7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100cb8a7
add esp, 8
xorps xmm1, xmm1
mov esi, dword [ebp - 0xd4]
cmp dword [ebp - 0xd8], esi
je 0x100c8c39
cmp byte [ebp - 0xa5], 0
je 0x100c8c39
movss xmm0, dword [ebp - 0x18]
comiss xmm0, xmm1
cvttss2si esi, dword [ebp - 0xb8]
jbe 0x100c8bfd
push 2
lea eax, [ebp - 0x48]
mov ecx, 0x10109b5c
push eax
cvttss2si eax, dword [ebp - 0xb4]
push dword [0x1010811c]
push esi
push eax
call fcn.100bd070
mov ecx, dword [0x101099fc]
mov eax, dword [0x100f6ab8]
add ecx, 0xffffffcc
xor ecx, 0xcc2d9486
cmp dword [ecx + eax], 0
jne 0x100c8c39
push 2
lea eax, [ebp - 0x30]
mov ecx, 0x10109b5c
push eax
mov eax, dword [0x10109b64]
push edi
add eax, esi
push eax
cvttss2si eax, dword [ebp - 0xb4]
push eax
call fcn.100bd070
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x100c8c69
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8c5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8cd1
push edx
push ecx
call fcn.100cb8a7
add esp, 8
mov edx, dword [ebp - 0x1c]
cmp edx, 0x10
jb 0x100c8c99
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8c8f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8cd1
push edx
push ecx
call fcn.100cb8a7
add esp, 8
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
cmp edx, 0x10
jb 0x100c8ce1
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8cd7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8cd7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100cb8a7
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100cb429
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret