Function at 0x10015d70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10060a45
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x1006e040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x10128c40]
test eax, eax
jne 0x10015f73
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x18], 0xb2a5fcfd
mov word [ebp - 0x14], 0xb2
mov byte [ebp - 0x12], 1
lea eax, [ecx - 0x22]
xor byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 5
jb 0x10015dc6
sub esp, 8
mov byte [ebp - 0x12], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x18]
call fcn.10020660
add esp, 8
call fcn.100137f0
call fcn.100206e0
movss xmm1, dword [0x10068e4c]
xorps xmm0, xmm0
call fcn.10029360
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x1c], 0xb9accbc4
mov dword [ebp - 0x18], 0x8282afbb
mov dword [ebp - 0x14], 0x1008280
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0xa
jb 0x10015e27
sub esp, 8
mov byte [ebp - 0x11], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
call fcn.10020660
add esp, 8
mov ecx, 0x9e
xor edx, edx
mov al, byte [edx + 0x10062e78]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x10015e6d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x10015e50
mov byte [ebp - 0x2f], 0
push 0x62
mov edx, 0x100754f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.1004f5c0
add esp, 4
mov ecx, 0x41
xor edx, edx
mov al, byte [edx + 0x10062e8c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x3c], al
and ecx, 0x800000ff
jns 0x10015eb4
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10015e97
mov byte [ebp - 0x2f], 0
push 0x62
mov edx, 0x100754e0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call fcn.1004f5c0
add esp, 4
mov ecx, 0xe9
xor edx, edx
nop
mov al, byte [edx + 0x10062e9c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x40], al
and ecx, 0x800000ff
jns 0x10015efd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x10015ee0
mov byte [ebp - 0x30], 0
push 0x62
mov edx, 0x100754d0
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.1004f5c0
add esp, 4
mov ecx, 0x42
xor edx, edx
mov al, byte [edx + 0x10062eb0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x2c], al
and ecx, 0x800000ff
jns 0x10015f44
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x10015f27
mov byte [ebp - 0x20], 0
push 0x62
mov edx, 0x10075504
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c]
call fcn.1004f5c0
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x100160d4
cmp eax, 1
jne 0x1001602c
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x1c], 0x8ca4c3fc
mov dword [ebp - 0x18], 0x838b8d84
mov word [ebp - 0x14], 0x94
mov byte [ebp - 0x12], al
lea eax, [ecx - 0x21]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 9
jb 0x10015fa3
sub esp, 8
mov byte [ebp - 0x12], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
call fcn.10020660
add esp, 8
call fcn.100131a0
call fcn.100206e0
movss xmm1, dword [0x10068e4c]
xorps xmm0, xmm0
call fcn.10029360
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x18], 0xd2a4fcfd
mov word [ebp - 0x14], 0xa6
mov byte [ebp - 0x12], 1
lea eax, [ecx - 0x22]
xor byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 5
jb 0x10016000
sub esp, 8
mov byte [ebp - 0x12], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x18]
call fcn.10020660
add esp, 8
call fcn.100134a0
jmp 0x100160d4
cmp eax, 2
jne 0x100160d9
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x1c], 0x96aec3fc
mov dword [ebp - 0x18], 0x97818b
mov byte [ebp - 0x14], 1
lea eax, [ecx - 0x21]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 7
jb 0x10016057
sub esp, 8
mov byte [ebp - 0x14], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
call fcn.10020660
add esp, 8
call fcn.100206e0
movss xmm1, dword [0x10068e4c]
xorps xmm0, xmm0
call fcn.10029360
mov dword [ebp - 0x28], 0x438c0000
xor ecx, ecx
mov dword [ebp - 0x24], 0x43c30000
mov dword [ebp - 0x38], 0x96aec3fc
mov dword [ebp - 0x34], 0x9597818b
mov word [ebp - 0x30], 0x100
lea eax, [ecx - 0x21]
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 8
jb 0x100160b2
sub esp, 8
mov byte [ebp - 0x2f], 0
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x38]
call fcn.10020660
add esp, 8
call fcn.100206e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005e254
mov esp, ebp
pop ebp
ret