Function at 0x10065c30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018c0cd
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x102a67c0]
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 edi, ecx
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
cmp dword [eax + 0x150], 0
je 0x10065fdd
cmp byte [eax + 7], 0
je 0x10065fdd
mov eax, dword [0x10bfd774]
test al, 1
jne 0x10065c9e
or eax, 1
mov dword [0x10bfd774], eax
mov eax, dword [0x102a7b70]
mov dword [0x10bfd770], eax
mov esi, dword [0x102a7a30]
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x102937d0
call fcn.100305b0
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x28]
mov eax, dword [0x102a7b64]
cmova ecx, dword [ebp - 0x28]
push ecx
mov dword [ebp - 4], 0
mov ecx, dword [eax]
call esi
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10065cef
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
test esi, esi
je 0x10065fdd
cmp byte [edi], 0
jne 0x10065fc2
cmp byte [0x10c0294a], 0
je 0x10065fc2
movss xmm0, dword [edi + 4]
mov byte [edi + 1], 1
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov eax, dword [eax + 0x10c]
movss xmm1, dword [eax]
comiss xmm0, xmm1
ja 0x10065fdd
addss xmm1, dword [0x101a0f08]
mov dword [ebp - 0x48], 0x30
movss dword [edi + 4], xmm1
mov eax, dword [esi + 0x44]
mov esi, dword [eax + 4]
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x58], esi
push esi
push eax
call fcn.100ee230
add esp, 0xc
mov ecx, esi
mov eax, dword [eax]
call eax
xor ebx, ebx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ebx
test eax, eax
jle 0x10065fdd
nop
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0x31
push eax
lea eax, [ebp - 0x64]
push esi
push eax
call fcn.100ee230
add esp, 0xc
mov ecx, esi
mov eax, dword [eax]
push ebx
call eax
mov edi, eax
mov dword [ebp - 0x48], edi
test edi, edi
je 0x10065fb3
cmp byte [0x102937f0], 0
je 0x10065e3d
cmp byte [0x102937f1], 0
jne 0x10065ea3
xor esi, esi
mov byte [0x102937f1], 1
mov dword [ebp - 0x4c], esi
nop
xor esi, dword [0x10293808]
xor edi, edi
xor edi, dword [0x1029380c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x4c]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102937f2]
xor cl, bl
mov byte [esi + 0x102937f2], cl
inc esi
mov dword [ebp - 0x4c], esi
cmp esi, 0x13
jb 0x10065de0
jmp 0x10065e9d
xor esi, esi
mov dword [ebp - 0x4c], esi
xor esi, dword [0x10293808]
xor edi, edi
xor edi, dword [0x1029380c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x4c]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102937f2]
xor cl, bl
mov byte [esi + 0x102937f2], cl
inc esi
mov dword [ebp - 0x4c], esi
cmp esi, 0x13
jb 0x10065e42
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x50]
lea eax, [ebp - 0x41]
push eax
push 0x10293804
push 0x102937f2
lea ecx, [ebp - 0x28]
call fcn.10027a10
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 1
push edi
lea esi, [ebp - 0x28]
mov dword [ebp - 0x48], 0x8b
cmova esi, dword [ebp - 0x28]
push eax
call fcn.100ee230
add esp, 0xc
mov ecx, edi
mov eax, dword [eax]
push esi
call eax
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 0x41], al
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x10065f0f
push ecx
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
mov al, byte [ebp - 0x41]
add esp, 0xc
test al, al
je 0x10065fb0
mov eax, dword [0x102a7958]
mov ecx, 0x10293810
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov eax, dword [eax + 0x10c]
movss xmm0, dword [eax + 0x10]
lea eax, [ebp - 0x40]
push eax
movss dword [ebp - 0x48], xmm0
call fcn.1002f1a0
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 2
push edi
lea esi, [ebp - 0x40]
mov dword [ebp - 0x60], 0x120
cmova esi, dword [ebp - 0x40]
push eax
call fcn.100ee230
movss xmm0, dword [ebp - 0x48]
add esp, 8
mov ecx, edi
mov eax, dword [eax]
movss dword [esp], xmm0
push esi
call eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x10065f9e
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.100163b0
add esp, 0xc
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov esi, dword [ebp - 0x58]
inc ebx
mov dword [ebp - 0x50], ebx
cmp ebx, dword [ebp - 0x54]
jl 0x10065d90
jmp 0x10065fdd
cmp byte [edi + 1], 0
je 0x10065fd5
lea ecx, [esi - 0x14]
call dword [0x10bfd770]
mov byte [edi + 1], 0
cmp byte [edi], 0
je 0x10065fdd
mov byte [edi], 0
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.10184b39
mov esp, ebp
pop ebp
ret