Function at 0x100fc090
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc4
mov eax, dword [0x1011c0c0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x10127724], 0
push ebx
push esi
push edi
je 0x100fc4e6
mov edi, dword [0x101f3ba4]
mov esi, dword [0x101f3ba8]
mov dword [ebp - 0xa4], edi
cmp edi, esi
je 0x100fc4e6
mov ecx, esi
mov dword [ebp - 0xa0], 0
sub ecx, edi
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100fc1c6
movss xmm1, dword [0x1010f850]
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
cmp edi, esi
je 0x100fc3f6
mov eax, dword [0x101c3a0c]
lea ebx, [ecx + edi]
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [ebx]
comiss xmm0, xmm1
ja 0x100fc12a
call fcn.10027a70
comiss xmm0, xmm1
jbe 0x100fc18d
lea edi, [ebx + 0x14]
cmp edi, esi
je 0x100fc17e
lea ecx, [ebx + 0xc]
lea edx, [edi + 0xc]
mov eax, dword [edi]
lea ebx, [ebx + 0x14]
mov dword [ebx - 0x14], eax
lea ecx, [ecx + 0x14]
mov eax, dword [edx - 8]
lea edx, [edx + 0x14]
mov dword [ecx - 0x1c], eax
add edi, 0x14
mov eax, dword [edx - 0x18]
mov dword [ecx - 0x18], eax
mov eax, dword [edx - 0x14]
mov dword [ecx - 0x14], eax
mov eax, dword [edx - 0x10]
mov dword [ecx - 0x10], eax
cmp edi, esi
jne 0x100fc137
mov edi, dword [0x101f3ba4]
mov esi, dword [0x101f3ba8]
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0xa4], edi
jmp 0x100fc184
mov edi, dword [ebp - 0xa4]
sub esi, 0x14
mov dword [0x101f3ba8], esi
mov ebx, dword [ebp - 0xa0]
add ecx, 0x14
mov dword [ebp - 0x9c], ecx
mov eax, 0x66666667
mov ecx, esi
inc ebx
sub ecx, edi
mov dword [ebp - 0xa0], ebx
imul ecx
mov ecx, dword [ebp - 0x9c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x100fc102
cmp edi, esi
je 0x100fc3f6
lea ebx, [edi + 0xc]
mov ecx, dword [0x101c39b4]
push dword [ebx + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100fc3d6
mov ecx, dword [eax]
mov edx, dword [ecx + 0x260]
mov ecx, eax
call edx
test al, al
je 0x100fc3d6
xorps xmm0, xmm0
mov dword [ebp - 0x74], 0
movups xmmword [ebp - 0x84], xmm0
mov eax, 0x10
mov dword [ebp - 0x70], 0
movaps xmm0, xmmword [0x10110010]
xorps xmm0, xmmword [0x10110ae0]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x6c], 0xffffffff
mov dword [ebp - 0x64], 0xffffffff
mov byte [ebp - 0x28], 1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x98], 7
mov dword [ebp - 0xb0], 0x5f1c0b1d
mov dword [ebp - 0xac], 0x1a031840
mov byte [ebp - 0xa8], 0x6e
movups xmmword [ebp - 0xc0], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0xc0], 0x6e
inc eax
cmp eax, 0x19
jb 0x100fc2a0
mov ecx, dword [0x101c39e8]
lea edx, [ebp - 0xc0]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
movaps xmm0, xmmword [0x10110010]
xorps xmm0, xmmword [0x10110ae0]
mov dword [ebp - 0x6c], eax
mov eax, 0x10
mov dword [ebp - 0xb0], 0x5f1c0b1d
mov dword [ebp - 0xac], 0x1a031840
mov byte [ebp - 0xa8], 0x6e
movups xmmword [ebp - 0xc0], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0xc0], 0x6e
inc eax
cmp eax, 0x19
jb 0x100fc300
movaps xmm0, xmmword [0x101103c0]
lea eax, [ebp - 0xc0]
movups xmmword [ebp - 0x5c], xmm0
lea edx, [ebp - 0x98]
mov dword [ebp - 0x68], eax
movaps xmm0, xmmword [0x101103d0]
mov eax, dword [0x10127564]
movups xmmword [ebp - 0x4c], xmm0
movzx ecx, al
shr eax, 8
movzx eax, al
mov dword [ebp - 0x3c], 0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov ecx, dword [0x101c3a40]
mov dword [ebp - 0x38], 0x42700000
mov dword [ebp - 0x24], 1
mov byte [ebp - 0x28], 1
mov dword [ebp - 0x20], 0
movss dword [ebp - 0x34], xmm0
movd xmm0, eax
movzx eax, byte [0x10127566]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x43e10000
push edx
movss dword [ebp - 0x30], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebx - 8]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebx - 4]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebx]
movss dword [ebp - 0x14], xmm0
mov eax, dword [ecx]
call dword [eax]
mov edx, eax
test edx, edx
je 0x100fc3d6
mov ecx, dword [0x101c3a40]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
add edi, 0x14
add ebx, 0x14
cmp edi, esi
jne 0x100fc1d1
mov edi, dword [0x101f3ba4]
mov esi, dword [0x101f3ba8]
mov dword [ebp - 0xa4], edi
xor ecx, ecx
mov eax, 0x66666667
mov dword [ebp - 0x9c], ecx
mov ecx, esi
sub ecx, edi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100fc4e6
mov eax, esi
xor ecx, ecx
mov ebx, esi
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xa0], ecx
nop dword [eax + eax]
cmp edi, ebx
je 0x100fc4e6
lea ebx, [ecx + edi]
lea edi, [ebx + 0x14]
cmp edi, eax
je 0x100fc497
mov esi, dword [ebp - 0xc4]
lea ecx, [ebx + 0xc]
lea edx, [edi + 0xc]
nop
mov eax, dword [edi]
lea ebx, [ebx + 0x14]
mov dword [ebx - 0x14], eax
lea ecx, [ecx + 0x14]
mov eax, dword [edx - 8]
lea edx, [edx + 0x14]
mov dword [ecx - 0x1c], eax
add edi, 0x14
mov eax, dword [edx - 0x18]
mov dword [ecx - 0x18], eax
mov eax, dword [edx - 0x14]
mov dword [ecx - 0x14], eax
mov eax, dword [edx - 0x10]
mov dword [ecx - 0x10], eax
cmp edi, esi
jne 0x100fc450
mov edi, dword [0x101f3ba4]
mov esi, dword [0x101f3ba8]
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], edi
jmp 0x100fc49d
mov edi, dword [ebp - 0xa4]
inc dword [ebp - 0x9c]
add esi, 0xffffffec
add ecx, 0x14
mov dword [0x101f3ba8], esi
mov ebx, esi
mov dword [ebp - 0xa0], ecx
mov ecx, ebx
mov dword [ebp - 0xc4], ebx
sub ecx, edi
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0xa0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x9c], eax
mov eax, esi
jb 0x100fc430
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100fdc5c
mov esp, ebp
pop ebp
ret