Function at 0x100d9ce0
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 0x10146d45
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 0x100d9d5d
mov edx, 0xe80c2f78
mov ecx, 0x1017130d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
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 0x100da002
mov eax, dword [0x101eefb0]
cmp eax, dword [esi + 4]
jg 0x100da084
mov eax, dword [0x101eefa4]
cmp eax, dword [esi + 4]
jg 0x100da10f
mov eax, dword [0x101eefb8]
cmp eax, dword [esi + 4]
jg 0x100da191
mov eax, dword [0x101e66dc]
test eax, eax
jne 0x100d9deb
mov edx, 0xe80c2f78
mov ecx, 0x1017088d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101e66dc], eax
cmp dword [eax + edi], 2
jne 0x100d9e04
mov ecx, dword [0x101eefbc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x20], eax
call dword [ebp - 0x20]
jmp 0x100d9e15
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 0x100d9e4d
mov edx, 0xe80c2f78
mov ecx, 0x1017088d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101e66dc], eax
cmp dword [eax + edi], 2
jne 0x100d9e66
mov ecx, dword [0x101eefac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1c], eax
call dword [ebp - 0x1c]
jmp 0x100d9e77
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.0x100d9e85
jmp dword [eax*4 + 0x100da218]
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [ebp - 0x2c]
jmp 0x100d9ebb
movss xmm0, dword [ebp - 0x1c]
jmp 0x100d9ebb
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x1017f168]
jmp 0x100d9ebb
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x1017f138]
mulss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x18], xmm0
mov eax, dword [0x101ede44]
test eax, eax
jne 0x100d9efd
mov edx, 0xe80c2f78
mov ecx, 0x10171075
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, dword [ebp - 0x24]
mov dword [0x101ede44], eax
mov edi, dword [eax + edi]
test edi, edi
jle 0x100d9fd0
cmp ecx, 1
jne 0x100d9f51
mov eax, dword [0x101edefc]
test eax, eax
jne 0x100d9f42
mov edx, 0xe80c2f78
mov ecx, 0x101712fd
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101edefc], eax
mov ecx, dword [ebp - 0x30]
cmp byte [eax + ecx], 0
je 0x100d9fd0
jmp 0x100d9f59
lea eax, [ecx - 2]
cmp eax, 3
ja 0x100d9fd0
cmp byte [ebp - 0x11], 0
movss xmm0, dword [0x1017f158]
movss xmm5, dword [0x1017f114]
movss xmm2, dword [ebp - 0x28]
movss xmm3, dword [ebp - 0x18]
je 0x100d9f9a
mulss xmm2, dword [0x1017f0e8]
movss xmm0, dword [0x1017f0f0]
movaps xmm5, xmm0
mulss xmm2, xmm3
mulss xmm2, dword [0x1017f144]
jmp 0x100d9fa2
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 0x100d9fcb
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.1006d20f
add esp, 4
cmp dword [0x101eefa0], 0xffffffff
jne 0x100d9d83
mov dword [ebp - 4], 0
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017fe80]
xorps xmm0, xmmword [0x1017fa60]
mov dword [ebp - 0x38], 0xbc8ba0b7
mov eax, dword [ecx]
mov dword [ebp - 0x34], 0xd4b0b5b1
movups xmmword [ebp - 0x48], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100da055
xor byte [ebp + eax - 0x48], 0xd4
inc eax
cmp eax, 0x18
jb 0x100da055
lea eax, [ebp - 0x48]
push eax
call edx
push 0x101eefa0
mov dword [0x101eefbc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d1be
add esp, 4
jmp 0x100d9d83
push 0x101eefb0
call fcn.1006d20f
add esp, 4
cmp dword [0x101eefb0], 0xffffffff
jne 0x100d9d94
mov dword [ebp - 4], 1
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017fe80]
xorps xmm0, xmmword [0x1017fa60]
mov dword [ebp - 0x37], 0xb1bc8ba0
mov eax, dword [ecx]
mov word [ebp - 0x33], 0xb0b5
mov byte [ebp - 0x31], 0xd4
movups xmmword [ebp - 0x47], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100da0e0
xor byte [ebp + eax - 0x47], 0xd4
inc eax
cmp eax, 0x17
jb 0x100da0e0
lea eax, [ebp - 0x47]
push eax
call edx
push 0x101eefb0
mov dword [0x101eefa8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d1be
add esp, 4
jmp 0x100d9d94
push 0x101eefa4
call fcn.1006d20f
add esp, 4
cmp dword [0x101eefa4], 0xffffffff
jne 0x100d9da5
mov dword [ebp - 4], 2
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017fe80]
xorps xmm0, xmmword [0x1017fa60]
mov dword [ebp - 0x38], 0xb68ba0b7
mov eax, dword [ecx]
mov dword [ebp - 0x34], 0xd4adb0bb
movups xmmword [ebp - 0x48], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100da162
xor byte [ebp + eax - 0x48], 0xd4
inc eax
cmp eax, 0x18
jb 0x100da162
lea eax, [ebp - 0x48]
push eax
call edx
push 0x101eefa4
mov dword [0x101eefac], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d1be
add esp, 4
jmp 0x100d9da5
push 0x101eefb8
call fcn.1006d20f
add esp, 4
cmp dword [0x101eefb8], 0xffffffff
jne 0x100d9db6
mov dword [ebp - 4], 3
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017fe80]
xorps xmm0, xmmword [0x1017fa60]
mov dword [ebp - 0x37], 0xbbb68ba0
mov eax, dword [ecx]
mov word [ebp - 0x33], 0xadb0
mov byte [ebp - 0x31], 0xd4
movups xmmword [ebp - 0x47], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100da1e7
xor byte [ebp + eax - 0x47], 0xd4
inc eax
cmp eax, 0x17
jb 0x100da1e7
lea eax, [ebp - 0x47]
push eax
call edx
push 0x101eefb8
mov dword [0x101eefb4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d1be
add esp, 4
jmp 0x100d9db6