Function at 0x100fa9e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10109002
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x1011900c]
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 [0x10427454]
mov esi, ebx
mov eax, dword [0x10427458]
mov dword [ebp - 0x14c], eax
cmp esi, eax
je 0x100faa6c
nop
cmp dword [esi], 0
je 0x100faa6c
add esi, 4
cmp esi, eax
jne 0x100faa60
cmp ebx, eax
je 0x100faa7c
cmp dword [ebx], 1
je 0x100faa7c
add ebx, 4
cmp ebx, eax
jne 0x100faa70
cmp esi, eax
jne 0x100faa88
cmp ebx, eax
je 0x100fb413
cmp byte [0x10464b1c], 0
je 0x100fb413
mov ecx, dword [0x1041cfb8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
movss xmm0, dword [0x10464b28]
movss xmm1, dword [0x10464b2c]
movss xmm2, dword [0x10464b30]
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.1001f080
movss xmm1, dword [0x10464b3c]
mulss xmm1, dword [0x1010da9c]
mulss xmm0, xmm0
mulss xmm1, dword [0x10464b3c]
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_expf
mov ecx, dword [0x1045fb94]
movaps xmm5, xmm0
mov eax, dword [0x1041cfb8]
add ecx, 0xffffffb4
mulss xmm5, dword [0x10464b34]
xor ecx, 0xae997d1a
mov eax, dword [ecx + eax]
test eax, eax
jle 0x100fab63
movaps xmm2, xmm5
movd xmm0, eax
mulss xmm2, dword [0x1010d860]
movaps xmm1, xmm5
cvtdq2ps xmm0, xmm0
subss xmm1, xmm2
mulss xmm1, dword [0x1010d860]
comiss xmm1, xmm0
jbe 0x100fab60
addss xmm0, xmm0
movaps xmm2, xmm5
subss xmm2, xmm0
movaps xmm5, xmm2
movss xmm3, dword [0x1010da80]
lea edx, [ebp - 0x134]
movss xmm2, dword [0x1010da74]
andps xmm3, xmm5
movaps xmm0, xmm5
movss xmm4, dword [0x1010d898]
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 [0x10464b24]
cvttss2si ecx, xmm1
test ecx, ecx
cmovg eax, ecx
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x12c], eax
mov eax, dword [0x1045f9a4]
subss xmm0, dword [eax + 0x10]
lea eax, [ebp - 0x14]
push eax
movss dword [ebp - 0x14], xmm0
call fcn.100fc4f0
add esp, 4
lea ecx, [ebp - 0x74]
push eax
call fcn.1003eda0
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x100fac3a
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fac30
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fac30
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100fda60
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.100d1a20
add esp, 4
lea ecx, [ebp - 0x44]
push eax
call fcn.1003eda0
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x100faca1
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fac97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fac97
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100fda60
add esp, 8
mov edx, dword [0x1045fb40]
mov eax, dword [0x1041cfb8]
add edx, 0xffffffc9
mov ecx, dword [ebp - 0x12c]
xor edx, 0xae997d05
mov edi, dword [0x10432f0c]
cmp ecx, dword [edx + eax]
lea edx, [ebp - 0x16c]
mov ecx, 0x10464b28
cmovl edi, dword [0x1043206c]
mov dword [ebp - 0x144], edi
call fcn.100eede0
cmp dword [0x10464b60], 0x10
mov edx, 0x10464b4c
mov byte [ebp - 0x145], al
cmovae edx, dword [0x10464b4c]
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 0x100fad20
sub ecx, dword [ebp - 0x134]
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.1002f190
xorps xmm1, xmm1
mov byte [ebp - 4], 2
cmp esi, dword [ebp - 0x14c]
je 0x100fb312
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.1002f190
mov byte [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0x140], 0xcdc093c5
mov dword [ebp - 0x13c], 0xd1cec5c0
mov word [ebp - 0x138], 0x9386
mov byte [ebp - 0x136], 0xe0
nop dword [eax]
xor byte [ebp + eax - 0x140], 0xe0
inc eax
cmp eax, 0xb
jb 0x100fadc0
push 0x98
lea eax, [ebp - 0x128]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0x128]
call fcn.10033290
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.1001f710
add esi, 0xc
sub edi, 1
jne 0x100fae10
push dword [ebp - 0x194]
lea eax, [ebp - 0x164]
mov dword [ebp - 0x174], 0x10040410
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], 0x10052370
movq xmm0, qword [ebp - 0x178]
mov dword [ebp - 0x188], fcn.10033920
movq qword [ebp - 0x184], xmm0
mov dword [ebp - 0x17c], 0x10052500
call fcn.10030f40
add esp, 8
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x124]
push eax
call fcn.100334f0
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x128], 0x1010b618
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.1002ec40
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 0x100faf3b
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100faf31
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100faf31
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100fda60
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.100d1a20
add esp, 4
mov byte [ebp - 4], 7
movss xmm0, dword [0x1010d948]
comiss xmm0, dword [ebp - 0x14]
mov dword [ebp - 0x134], 0xff0aac87
jbe 0x100fafa7
mov dword [ebp - 0x134], 0xff6ec8c8
movss xmm0, dword [0x1010d930]
comiss xmm0, dword [ebp - 0x14]
mov esi, dword [ebp - 0x134]
jbe 0x100fafcb
mov dword [ebp - 0x134], 0xff1120c0
mov esi, dword [ebp - 0x134]
cmp byte [0x10464b1c], 0
je 0x100fb289
cmp byte [0x10464af9], 0
jne 0x100fb289
cmp byte [0x10464afa], 0
jne 0x100fb289
movss xmm0, dword [ebp - 0x14]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100fb031
push 0
lea eax, [ebp - 0x5c]
push eax
push ecx
mov eax, esp
mov ecx, 0x10462044
push 0xb
push 6
mov dword [eax], 0x7d000000
call fcn.100ef200
push 0
lea eax, [ebp - 0x5c]
mov ecx, 0x10462044
push eax
push esi
push 0xa
push 5
call fcn.100ef200
mov ecx, dword [0x1045fb40]
mov eax, dword [0x1041cfb8]
add ecx, 0xffffffc9
mov edx, dword [ebp - 0x12c]
xor ecx, 0xae997d05
cmp dword [ecx + eax], edx
jg 0x100fb15a
lea edx, [ebp - 0x13c]
mov dword [ebp - 0x13c], 0x41544146
lea ecx, [ebp - 0x164]
mov word [ebp - 0x138], 0x4c
call fcn.10031300
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 8
push 0x1f
push 6
mov ecx, 0x10462044
mov dword [eax], 0x7d000000
call fcn.100ef200
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x100fb0d6
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fb0cc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fb0cc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100fda60
add esp, 8
lea edx, [ebp - 0x13c]
mov dword [ebp - 0x13c], 0x41544146
lea ecx, [ebp - 0x164]
mov word [ebp - 0x138], 0x4c
call fcn.10031300
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 9
push 0x1e
push 5
mov ecx, 0x10462044
mov dword [eax], 0xff1120c0
call fcn.100ef200
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x100fb289
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fb27f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fb27f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp edx, 1
jle 0x100fb289
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.1003f890
add esp, 4
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 0xa
push 0x1f
push 5
mov ecx, 0x10462044
mov dword [eax], 0x7d000000
call fcn.100ef200
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x100fb1f6
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fb1ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fb1ec
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100fda60
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.1003f890
add esp, 4
push 0
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 0xb
push 0x1e
push 6
mov ecx, 0x10462044
mov dword [eax], 0xff98ffff
call fcn.100ef200
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x100fb289
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fb27f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fb27f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100fda60
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x78]
cmp ecx, 0x10
jb 0x100fb2c0
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fb2b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100fb2ff
push ecx
push edx
call fcn.100fda60
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 0x100fb30f
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fb305
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fb305
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100fda60
add esp, 8
xorps xmm1, xmm1
cmp ebx, dword [ebp - 0x14c]
je 0x100fb3b0
cmp byte [ebp - 0x145], 0
je 0x100fb3b0
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
movss xmm0, dword [ebp - 0x168]
movss xmm1, dword [ebp - 0x16c]
jbe 0x100fb375
push 2
lea eax, [ebp - 0x74]
mov ecx, 0x10461ff0
push eax
push dword [0x1043206c]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.100ef200
movss xmm0, dword [ebp - 0x168]
movss xmm1, dword [ebp - 0x16c]
mov ecx, dword [0x1045fb34]
mov eax, dword [0x1041cfb8]
add ecx, 0xffffffcc
xor ecx, 0xae997d02
cmp dword [ecx + eax], 0
jne 0x100fb3b0
push 2
lea eax, [ebp - 0x44]
mov ecx, 0x10461ff0
push eax
cvttss2si eax, xmm0
push edi
add eax, dword [0x10461ff8]
push eax
cvttss2si eax, xmm1
push eax
call fcn.100ef200
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x100fb3e0
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fb3d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100fb448
push ecx
push edx
call fcn.100fda60
add esp, 8
mov ecx, dword [ebp - 0x30]
cmp ecx, 0x10
jb 0x100fb410
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fb406
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100fb448
push ecx
push edx
call fcn.100fda60
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 0x100fb458
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fb44e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fb44e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100fda60
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.100fd5e5
mov esp, ebp
pop ebp
ret