Function at 0x100d9e40
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 0x10146f15
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x38
mov eax, dword [0x101edf04]
mov dword [ebp - 0x24], edx
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x18], xmm1
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x30], edi
test eax, eax
jne 0x100d9ebd
mov edx, 0xe80c2f78
mov ecx, 0x10171329
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov dword [0x101edf04], eax
mov al, byte [eax + edi]
mov ecx, dword [0x101e66ac]
mov byte [ebp - 0x11], al
mov eax, dword fs:[0x2c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x101eefa0]
cmp eax, dword [esi + 4]
jg 0x100da162
mov eax, dword [0x101eefb0]
cmp eax, dword [esi + 4]
jg 0x100da1e4
mov eax, dword [0x101eefa4]
cmp eax, dword [esi + 4]
jg 0x100da26f
mov eax, dword [0x101eefb8]
cmp eax, dword [esi + 4]
jg 0x100da2f1
mov eax, dword [0x101e66dc]
test eax, eax
jne 0x100d9f4b
mov edx, 0xe80c2f78
mov ecx, 0x101708cd
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov dword [0x101e66dc], eax
cmp dword [eax + edi], 2
jne 0x100d9f64
mov ecx, dword [0x101eefbc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x20], eax
call dword [ebp - 0x20]
jmp 0x100d9f75
mov ecx, dword [0x101eefa8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x20], eax
call dword [ebp - 0x20]
mov eax, dword [0x101e66dc]
fstp dword [ebp - 0x20]
test eax, eax
jne 0x100d9fad
mov edx, 0xe80c2f78
mov ecx, 0x101708cd
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov dword [0x101e66dc], eax
cmp dword [eax + edi], 2
jne 0x100d9fc6
mov ecx, dword [0x101eefac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1c], eax
call dword [ebp - 0x1c]
jmp 0x100d9fd7
mov ecx, dword [0x101eefb4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1c], eax
call dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
fstp dword [ebp - 0x1c]
lea eax, [ecx - 1]
cmp eax, 6
ja case.default.0x100d9fe5
jmp dword [eax*4 + 0x100da378]
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [ebp - 0x2c]
jmp 0x100da01b
movss xmm0, dword [ebp - 0x1c]
jmp 0x100da01b
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x1017f0e8]
jmp 0x100da01b
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x1017f0b8]
mulss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x18], xmm0
mov eax, dword [0x101ede44]
test eax, eax
jne 0x100da05d
mov edx, 0xe80c2f78
mov ecx, 0x10171091
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov ecx, dword [ebp - 0x24]
mov dword [0x101ede44], eax
mov edi, dword [eax + edi]
test edi, edi
jle 0x100da130
cmp ecx, 1
jne 0x100da0b1
mov eax, dword [0x101edefc]
test eax, eax
jne 0x100da0a2
mov edx, 0xe80c2f78
mov ecx, 0x10171319
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov dword [0x101edefc], eax
mov ecx, dword [ebp - 0x30]
cmp byte [eax + ecx], 0
je 0x100da130
jmp 0x100da0b9
lea eax, [ecx - 2]
cmp eax, 3
ja 0x100da130
cmp byte [ebp - 0x11], 0
movss xmm0, dword [0x1017f0d8]
movss xmm5, dword [0x1017f094]
movss xmm2, dword [ebp - 0x28]
movss xmm3, dword [ebp - 0x18]
je 0x100da0fa
mulss xmm2, dword [0x1017f068]
movss xmm0, dword [0x1017f070]
movaps xmm5, xmm0
mulss xmm2, xmm3
mulss xmm2, dword [0x1017f0c4]
jmp 0x100da102
mulss xmm2, xmm5
mulss xmm2, xmm3
movaps xmm1, xmm5
movd xmm4, edi
mulss xmm1, xmm0
movaps xmm0, xmm3
subss xmm0, xmm2
cvtdq2ps xmm4, xmm4
mulss xmm1, xmm0
comiss xmm1, xmm4
jbe 0x100da12b
divss xmm4, xmm5
movaps xmm2, xmm3
subss xmm2, xmm4
movss dword [ebp - 0x18], xmm2
fld dword [ebp - 0x18]
sub esp, 8
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov ecx, dword [ebp - 0xc]
add esp, 8
fstp dword [ebp - 0x30]
fld dword [ebp - 0x30]
fstp dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x30]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x101eefa0
call fcn.1006d07f
add esp, 4
cmp dword [0x101eefa0], 0xffffffff
jne 0x100d9ee3
mov dword [ebp - 4], 0
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017f9b0]
xorps xmm0, xmmword [0x1017fe50]
mov dword [ebp - 0x38], 0xecdbf0e7
mov eax, dword [ecx]
mov dword [ebp - 0x34], 0x84e0e5e1
movups xmmword [ebp - 0x48], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100da1b5
xor byte [ebp + eax - 0x48], 0x84
inc eax
cmp eax, 0x18
jb 0x100da1b5
lea eax, [ebp - 0x48]
push eax
call edx
push 0x101eefa0
mov dword [0x101eefbc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d02e
add esp, 4
jmp 0x100d9ee3
push 0x101eefb0
call fcn.1006d07f
add esp, 4
cmp dword [0x101eefb0], 0xffffffff
jne 0x100d9ef4
mov dword [ebp - 4], 1
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017f9b0]
xorps xmm0, xmmword [0x1017fe50]
mov dword [ebp - 0x37], 0xe1ecdbf0
mov eax, dword [ecx]
mov word [ebp - 0x33], 0xe0e5
mov byte [ebp - 0x31], 0x84
movups xmmword [ebp - 0x47], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100da240
xor byte [ebp + eax - 0x47], 0x84
inc eax
cmp eax, 0x17
jb 0x100da240
lea eax, [ebp - 0x47]
push eax
call edx
push 0x101eefb0
mov dword [0x101eefa8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d02e
add esp, 4
jmp 0x100d9ef4
push 0x101eefa4
call fcn.1006d07f
add esp, 4
cmp dword [0x101eefa4], 0xffffffff
jne 0x100d9f05
mov dword [ebp - 4], 2
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017f9b0]
xorps xmm0, xmmword [0x1017fe50]
mov dword [ebp - 0x38], 0xe6dbf0e7
mov eax, dword [ecx]
mov dword [ebp - 0x34], 0x84fde0eb
movups xmmword [ebp - 0x48], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100da2c2
xor byte [ebp + eax - 0x48], 0x84
inc eax
cmp eax, 0x18
jb 0x100da2c2
lea eax, [ebp - 0x48]
push eax
call edx
push 0x101eefa4
mov dword [0x101eefac], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d02e
add esp, 4
jmp 0x100d9f05
push 0x101eefb8
call fcn.1006d07f
add esp, 4
cmp dword [0x101eefb8], 0xffffffff
jne 0x100d9f16
mov dword [ebp - 4], 3
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017f9b0]
xorps xmm0, xmmword [0x1017fe50]
mov dword [ebp - 0x37], 0xebe6dbf0
mov eax, dword [ecx]
mov word [ebp - 0x33], 0xfde0
mov byte [ebp - 0x31], 0x84
movups xmmword [ebp - 0x47], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100da347
xor byte [ebp + eax - 0x47], 0x84
inc eax
cmp eax, 0x17
jb 0x100da347
lea eax, [ebp - 0x47]
push eax
call edx
push 0x101eefb8
mov dword [0x101eefb4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d02e
add esp, 4
jmp 0x100d9f16