Function at 0x100d91f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e5c42
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x100f500c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0xf
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], ecx
mov byte [ebp - 0x74], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x44], 0
mov byte [ebp - 4], 1
mov ebx, dword [0x10178c84]
mov esi, ebx
mov eax, dword [0x10178c88]
mov dword [ebp - 0x14c], eax
cmp esi, eax
je 0x100d927c
nop
cmp dword [esi], 0
je 0x100d927c
add esi, 4
cmp esi, eax
jne 0x100d9270
cmp ebx, eax
je 0x100d928c
cmp dword [ebx], 1
je 0x100d928c
add ebx, 4
cmp ebx, eax
jne 0x100d9280
cmp esi, eax
jne 0x100d9298
cmp ebx, eax
je 0x100d9c23
cmp byte [0x1018c074], 0
je 0x100d9c23
mov ecx, dword [0x1016e340]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
movss xmm0, dword [0x1018c080]
movss xmm1, dword [0x1018c084]
movss xmm2, dword [0x1018c088]
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.10021d80
movss xmm1, dword [0x1018c094]
mulss xmm1, dword [0x100e9ea0]
mulss xmm0, xmm0
mulss xmm1, dword [0x1018c094]
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_expf
mov ecx, dword [0x10186fd4]
movaps xmm5, xmm0
mov eax, dword [0x1016e340]
add ecx, 0xffffffb4
mulss xmm5, dword [0x1018c08c]
xor ecx, 0x6e623417
mov eax, dword [ecx + eax]
test eax, eax
jle 0x100d9373
movaps xmm2, xmm5
movd xmm0, eax
mulss xmm2, dword [0x100e9c70]
movaps xmm1, xmm5
cvtdq2ps xmm0, xmm0
subss xmm1, xmm2
mulss xmm1, dword [0x100e9c70]
comiss xmm1, xmm0
jbe 0x100d9370
addss xmm0, xmm0
movaps xmm2, xmm5
subss xmm2, xmm0
movaps xmm5, xmm2
movss xmm3, dword [0x100e9e84]
lea edx, [ebp - 0x134]
movss xmm2, dword [0x100e9e7c]
andps xmm3, xmm5
movaps xmm0, xmm5
movss xmm4, dword [0x100e9cac]
xorps xmm0, xmm3
mov dword [ebp - 0x134], 0x66322e25
cmpltss xmm0, xmm2
mov byte [ebp - 0x130], 0
movaps xmm1, xmm5
xor eax, eax
andps xmm2, xmm0
orps xmm2, xmm3
addss xmm1, xmm2
subss xmm1, xmm2
movaps xmm0, xmm1
subss xmm0, xmm5
cmpnless xmm0, xmm3
andps xmm0, xmm4
subss xmm1, xmm0
movss xmm0, dword [0x1018c07c]
cvttss2si ecx, xmm1
test ecx, ecx
cmovg eax, ecx
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x12c], eax
mov eax, dword [0x10186dbc]
subss xmm0, dword [eax + 0x10]
lea eax, [ebp - 0x14]
push eax
movss dword [ebp - 0x14], xmm0
call fcn.100daed0
add esp, 4
lea ecx, [ebp - 0x74]
push eax
call fcn.1003c030
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x100d944a
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9440
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d9440
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dc450
add esp, 8
lea eax, [ebp - 0x12c]
mov word [ebp - 0x144], 0x6925
push eax
lea edx, [ebp - 0x144]
mov byte [ebp - 0x142], 0
lea ecx, [ebp - 0x5c]
call fcn.100b3d50
add esp, 4
lea ecx, [ebp - 0x44]
push eax
call fcn.1003c030
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x100d94b1
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d94a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d94a7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dc450
add esp, 8
mov edx, dword [0x10186f80]
mov eax, dword [0x1016e340]
add edx, 0xffffffc9
mov ecx, dword [ebp - 0x12c]
xor edx, 0x6e623402
mov edi, dword [0x101862f4]
cmp ecx, dword [edx + eax]
lea edx, [ebp - 0x16c]
mov ecx, 0x1018c080
cmovl edi, dword [0x10186204]
mov dword [ebp - 0x144], edi
call fcn.100cdb10
cmp dword [0x1018c0b8], 0x10
mov edx, 0x1018c0a4
mov byte [ebp - 0x145], al
cmovae edx, dword [0x1018c0a4]
mov ecx, edx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x134], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d9530
sub ecx, dword [ebp - 0x134]
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.10028790
xorps xmm1, xmm1
mov byte [ebp - 4], 2
cmp esi, dword [ebp - 0x14c]
je 0x100d9b22
mov ecx, 1
mov dword [ebp - 0x164], 0
cmp dword [ebp - 0x1c], ecx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x154], 0
cmovb ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x10
push ecx
cmovae eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x164]
push eax
mov dword [ebp - 0x150], 0xf
mov byte [ebp - 0x164], 0
call fcn.10028790
mov byte [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0x140], 0x161b481e
mov dword [ebp - 0x13c], 0xa151e1b
mov word [ebp - 0x138], 0x485d
mov byte [ebp - 0x136], 0x3b
nop dword [eax]
xor byte [ebp + eax - 0x140], 0x3b
inc eax
cmp eax, 0xb
jb 0x100d95d0
push 0x98
lea eax, [ebp - 0x128]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0x128]
call fcn.1002c150
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 4
mov dword [ebp - 0x198], eax
mov esi, eax
mov dword [ebp - 0x194], 2
mov edi, 2
mov ecx, esi
call fcn.100223e0
add esi, 0xc
sub edi, 1
jne 0x100d9620
push dword [ebp - 0x194]
lea eax, [ebp - 0x164]
mov dword [ebp - 0x174], 0x10036f40
push dword [ebp - 0x198]
mov dword [ebp - 0x178], eax
lea edx, [ebp - 0x140]
movq xmm0, qword [ebp - 0x178]
lea eax, [ebp - 0x14]
movq qword [ebp - 0x190], xmm0
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], 0x10049980
movq xmm0, qword [ebp - 0x178]
mov dword [ebp - 0x188], fcn.1002c7e0
movq qword [ebp - 0x184], xmm0
mov dword [ebp - 0x17c], 0x10049b10
call fcn.1002a270
add esp, 8
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x124]
push eax
call fcn.1002c3b0
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x128], 0x100e85f4
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x12c], eax
lea ecx, [ebp - 0x124]
call fcn.10028340
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xd8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x150]
mov edi, dword [ebp - 0x144]
cmp ecx, 0x10
jb 0x100d974b
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9741
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d9741
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dc450
add esp, 8
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x154], 0
push eax
lea edx, [ebp - 0x144]
mov dword [ebp - 0x150], 0xf
lea ecx, [ebp - 0x8c]
mov byte [ebp - 0x164], 0
mov word [ebp - 0x144], 0x6925
mov byte [ebp - 0x142], 0
call fcn.100b3d50
add esp, 4
mov byte [ebp - 4], 7
movss xmm0, dword [0x100e9d6c]
comiss xmm0, dword [ebp - 0x14]
mov dword [ebp - 0x134], 0xff0aac87
jbe 0x100d97b7
mov dword [ebp - 0x134], 0xff6ec8c8
movss xmm0, dword [0x100e9d54]
comiss xmm0, dword [ebp - 0x14]
mov esi, dword [ebp - 0x134]
jbe 0x100d97db
mov dword [ebp - 0x134], 0xff1120c0
mov esi, dword [ebp - 0x134]
cmp byte [0x1018c074], 0
je 0x100d9a99
cmp byte [0x1018c051], 0
jne 0x100d9a99
cmp byte [0x1018c052], 0
jne 0x100d9a99
movss xmm0, dword [ebp - 0x14]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100d9841
push 0
lea eax, [ebp - 0x5c]
push eax
push ecx
mov eax, esp
mov ecx, 0x1018948c
push 0xb
push 6
mov dword [eax], 0x7d000000
call fcn.100ce130
push 0
lea eax, [ebp - 0x5c]
mov ecx, 0x1018948c
push eax
push esi
push 0xa
push 5
call fcn.100ce130
mov ecx, dword [0x10186f80]
mov eax, dword [0x1016e340]
add ecx, 0xffffffc9
mov edx, dword [ebp - 0x12c]
xor ecx, 0x6e623402
cmp dword [ecx + eax], edx
jg 0x100d996a
lea edx, [ebp - 0x13c]
mov dword [ebp - 0x13c], 0x41544146
lea ecx, [ebp - 0x164]
mov word [ebp - 0x138], 0x4c
call fcn.1002a630
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 8
push 0x1f
push 6
mov ecx, 0x1018948c
mov dword [eax], 0x7d000000
call fcn.100ce130
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x100d98e6
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d98dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d98dc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dc450
add esp, 8
lea edx, [ebp - 0x13c]
mov dword [ebp - 0x13c], 0x41544146
lea ecx, [ebp - 0x164]
mov word [ebp - 0x138], 0x4c
call fcn.1002a630
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 9
push 0x1e
push 5
mov ecx, 0x1018948c
mov dword [eax], 0xff1120c0
call fcn.100ce130
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x100d9a99
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9a8f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d9a8f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp edx, 1
jle 0x100d9a99
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x13c], 0x6925202d
push eax
lea edx, [ebp - 0x13c]
mov word [ebp - 0x138], 0x5048
lea ecx, [ebp - 0x164]
mov byte [ebp - 0x136], 0
call fcn.10036560
add esp, 4
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 0xa
push 0x1f
push 5
mov ecx, 0x1018948c
mov dword [eax], 0x7d000000
call fcn.100ce130
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x100d9a06
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d99fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d99fc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dc450
add esp, 8
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x13c], 0x6925202d
push eax
lea edx, [ebp - 0x13c]
mov word [ebp - 0x138], 0x5048
lea ecx, [ebp - 0x164]
mov byte [ebp - 0x136], 0
call fcn.10036560
add esp, 4
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 0xb
push 0x1e
push 6
mov ecx, 0x1018948c
mov dword [eax], 0xff98ffff
call fcn.100ce130
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x100d9a99
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9a8f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d9a8f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dc450
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x78]
cmp ecx, 0x10
jb 0x100d9ad0
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9ac6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d9b0f
push ecx
push edx
call fcn.100dc450
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
cmp ecx, 0x10
jb 0x100d9b1f
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9b15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d9b15
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dc450
add esp, 8
xorps xmm1, xmm1
cmp ebx, dword [ebp - 0x14c]
je 0x100d9bc0
cmp byte [ebp - 0x145], 0
je 0x100d9bc0
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
movss xmm0, dword [ebp - 0x168]
movss xmm1, dword [ebp - 0x16c]
jbe 0x100d9b85
push 2
lea eax, [ebp - 0x74]
mov ecx, 0x10187784
push eax
push dword [0x10186204]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.100ce130
movss xmm0, dword [ebp - 0x168]
movss xmm1, dword [ebp - 0x16c]
mov ecx, dword [0x10186f74]
mov eax, dword [0x1016e340]
add ecx, 0xffffffcc
xor ecx, 0x6e6233ff
cmp dword [ecx + eax], 0
jne 0x100d9bc0
push 2
lea eax, [ebp - 0x44]
mov ecx, 0x10187784
push eax
cvttss2si eax, xmm0
push edi
add eax, dword [0x1018778c]
push eax
cvttss2si eax, xmm1
push eax
call fcn.100ce130
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x100d9bf0
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9be6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d9c58
push ecx
push edx
call fcn.100dc450
add esp, 8
mov ecx, dword [ebp - 0x30]
cmp ecx, 0x10
jb 0x100d9c20
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9c16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d9c58
push ecx
push edx
call fcn.100dc450
add esp, 8
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp ecx, 0x10
jb 0x100d9c68
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9c5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d9c5e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dc450
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100dbfd5
mov esp, ebp
pop ebp
ret