Function at 0x10014c30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100579f5
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x10064040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x1011eba4]
test eax, eax
jne 0x10014d68
mov dword [ebp - 0x30], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x2c], 0x43c30000
mov dword [ebp - 0x18], 0x9087e2e3
mov word [ebp - 0x14], 0x94
mov byte [ebp - 0x12], 1
mov al, cl
sub al, 0x40
xor byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 5
jb 0x10014c86
sub esp, 8
mov byte [ebp - 0x12], 0
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x18]
call fcn.10020120
add esp, 8
call fcn.10012230
call fcn.100201a0
mov eax, dword [0x1011eb84]
mov edx, dword [eax + 0x3e48]
cmp byte [edx + 0xaf], 0
jne 0x10014d1a
movss xmm1, dword [edx + 0xf8]
addss xmm1, dword [0x1005f96c]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x130]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x12c], eax
mov byte [edx + 0x134], 1
mov dword [ebp - 0x18], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x14], 0x43c30000
mov dword [ebp - 0x24], 0x9483e6e7
mov dword [ebp - 0x20], 0xa7a58a98
mov dword [ebp - 0x1c], 0x100bfa3
nop
mov al, cl
sub al, 0x3c
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0xa
jb 0x10014d40
sub esp, 8
mov byte [ebp - 0x19], 0
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x24]
call fcn.10020120
add esp, 8
jmp 0x10015047
cmp eax, 1
jne 0x10014e7d
mov dword [ebp - 0x18], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x14], 0x43c30000
mov dword [ebp - 0x24], 0xaa86e1e2
mov dword [ebp - 0x20], 0xada9afa2
mov word [ebp - 0x1c], 0xba
mov byte [ebp - 0x1a], al
mov al, cl
sub al, 0x3f
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 9
jb 0x10014d98
sub esp, 8
mov byte [ebp - 0x1a], 0
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x24]
call fcn.10020120
add esp, 8
call fcn.10011be0
call fcn.100201a0
mov eax, dword [0x1011eb84]
mov edx, dword [eax + 0x3e48]
cmp byte [edx + 0xaf], 0
jne 0x10014e2c
movss xmm1, dword [edx + 0xf8]
addss xmm1, dword [0x1005f96c]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x130]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x12c], eax
mov byte [edx + 0x134], 1
mov dword [ebp - 0x30], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x2c], 0x43c30000
mov dword [ebp - 0x18], 0xf086e2e3
mov word [ebp - 0x14], 0x80
mov byte [ebp - 0x12], 1
nop dword [eax]
mov al, cl
sub al, 0x40
xor byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 5
jb 0x10014e50
sub esp, 8
mov byte [ebp - 0x12], 0
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x18]
call fcn.10020120
add esp, 8
call fcn.10011ee0
jmp 0x10015047
cmp eax, 2
jne 0x1001504c
mov dword [ebp - 0x18], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x14], 0x43c30000
mov dword [ebp - 0x30], 0xb08ce1e2
mov dword [ebp - 0x2c], 0xb5a3ad
mov byte [ebp - 0x28], 1
mov al, cl
sub al, 0x3f
xor byte [ebp + ecx - 0x30], al
inc ecx
cmp ecx, 7
jb 0x10014ea8
sub esp, 8
mov byte [ebp - 0x28], 0
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x30]
call fcn.10020120
add esp, 8
call fcn.100201a0
mov eax, dword [0x1011eb84]
mov edx, dword [eax + 0x3e48]
cmp byte [edx + 0xaf], 0
jne 0x10014f37
movss xmm1, dword [edx + 0xf8]
addss xmm1, dword [0x1005f96c]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x130]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x12c], eax
mov byte [edx + 0x134], 1
mov dword [ebp - 0x18], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x14], 0x43c30000
mov dword [ebp - 0x24], 0xb08ce1e2
mov dword [ebp - 0x20], 0xbbb5a3ad
mov word [ebp - 0x1c], 0x100
nop dword [eax + eax]
mov al, cl
sub al, 0x3f
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 8
jb 0x10014f60
sub esp, 8
mov byte [ebp - 0x1b], 0
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x24]
call fcn.10020120
mov dword [ebp - 0x24], 0x64616548
mov dword [ebp - 0x20], 0x736f5020
mov byte [ebp - 0x1c], 0
add esp, 4
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xc3480000
mov edx, 8
mov dword [ebp - 0x2c], 0x43480000
lea ecx, [ebp - 0x24]
push str._.3f
push eax
lea eax, [ebp - 0x14]
push eax
push 0x100a96d4
call fcn.10048200
add esp, 0x14
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov ecx, 0xb3
xor edx, edx
mov al, byte [edx + 0x10059efc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x10014ffe
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x10014fe1
mov byte [ebp - 0x34], 0
push 0
lea edx, [ebp - 0x18]
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10045350
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov dword [ebp - 0x38], 0
xorps xmm0, xmm0
movq qword [ebp - 0x40], xmm0
mov byte [ebp - 0x34], 0
test al, al
je 0x10015047
mov dword [0x100a96d4], 0
call fcn.100201a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100555b4
mov esp, ebp
pop ebp
ret