Function at 0x10017f10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10060175
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x1006d040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x10127c50]
test eax, eax
jne 0x10018113
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x18], 0xd9ccaba4
mov word [ebp - 0x14], 0xdb
mov byte [ebp - 0x12], 1
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 5
jb 0x10017f66
sub esp, 8
mov byte [ebp - 0x12], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x18]
call fcn.10022620
add esp, 8
call fcn.10015840
call fcn.100226a0
movss xmm1, dword [0x10067e8c]
xorps xmm0, xmm0
call fcn.1002b310
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x1c], 0xddc8afa8
mov dword [ebp - 0x18], 0xfefed3df
mov dword [ebp - 0x14], 0x100e6fc
lea eax, [ecx - 0x75]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0xa
jb 0x10017fc7
sub esp, 8
mov byte [ebp - 0x11], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
call fcn.10022620
add esp, 8
mov ecx, 0x9e
xor edx, edx
mov al, byte [edx + 0x10061e8c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x1001800d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x10017ff0
mov byte [ebp - 0x2f], 0
push 0x62
mov edx, 0x100744f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.100514b0
add esp, 4
mov ecx, 0x41
xor edx, edx
mov al, byte [edx + 0x10061ea0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x3c], al
and ecx, 0x800000ff
jns 0x10018054
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10018037
mov byte [ebp - 0x2f], 0
push 0x62
mov edx, 0x100744e0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call fcn.100514b0
add esp, 4
mov ecx, 0xe9
xor edx, edx
nop
mov al, byte [edx + 0x10061eb0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x1001809d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x10018080
mov byte [ebp - 0x30], 0
push 0x62
mov edx, 0x100744d0
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.100514b0
add esp, 4
mov ecx, 0x42
xor edx, edx
mov al, byte [edx + 0x10061ec4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x2c], al
and ecx, 0x800000ff
jns 0x100180e4
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x100180c7
mov byte [ebp - 0x20], 0
push 0x62
mov edx, 0x10074504
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c]
call fcn.100514b0
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x10018274
cmp eax, 1
jne 0x100181cc
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x1c], 0xe4ccaba4
mov dword [ebp - 0x18], 0xebe3e5ec
mov word [ebp - 0x14], 0xfc
mov byte [ebp - 0x12], al
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 9
jb 0x10018143
sub esp, 8
mov byte [ebp - 0x12], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
call fcn.10022620
add esp, 8
call fcn.100151f0
call fcn.100226a0
movss xmm1, dword [0x10067e8c]
xorps xmm0, xmm0
call fcn.1002b310
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x18], 0xb9cdaba4
mov word [ebp - 0x14], 0xcf
mov byte [ebp - 0x12], 1
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 5
jb 0x100181a0
sub esp, 8
mov byte [ebp - 0x12], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x18]
call fcn.10022620
add esp, 8
call fcn.100154f0
jmp 0x10018274
cmp eax, 2
jne 0x10018279
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x1c], 0xfec6aba4
mov dword [ebp - 0x18], 0xffe9e3
mov byte [ebp - 0x14], 1
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 7
jb 0x100181f7
sub esp, 8
mov byte [ebp - 0x14], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
call fcn.10022620
add esp, 8
call fcn.100226a0
movss xmm1, dword [0x10067e8c]
xorps xmm0, xmm0
call fcn.1002b310
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x38], 0xfec6aba4
mov dword [ebp - 0x34], 0xfdffe9e3
mov word [ebp - 0x30], 0x100
lea eax, [ecx - 0x79]
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 8
jb 0x10018252
sub esp, 8
mov byte [ebp - 0x2f], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x38]
call fcn.10022620
add esp, 8
call fcn.100226a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005d7a4
mov esp, ebp
pop ebp
ret