Function at 0x10015f0e
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005ea50
call fcn.1005ddd8
sub esp, 0xa4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov esi, edx
mov edi, ecx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], edi
cmp byte [ebp + 0x14], bl
je 0x100162b3
mov dword [ebp - 0x14], 0x4a8c6a53
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x40], 0xb7be2d3d
mov dword [ebp - 0x1c], 0xfffc
mov dword [ebp - 0x14], ebx
jmp 0x10015f72
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x94], 0x31bb000e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10015f61
mov dword [ebp - 0x14], 0xa
jmp 0x10016065
push ecx
push 0x49a
push 1
mov dword [ebp - 0x20], ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 1
push 0x6821
call fcn.10015e99
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
add esp, 0x10
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setle cl
cmp ecx, 0xfffffff8
jl 0x1001603c
mov dword [ebp - 0x18], 0x67b47e0f
mov dword [ebp - 0x28], 0xf1bd53d2
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x40]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x18], eax
jne 0x10016014
mov eax, dword [ebp - 0x30]
push 0xfffffffffffffffa
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
je 0x10016014
mov edx, ebx
jmp 0x10016017
xor edx, edx
inc edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
setg cl
add ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x20]
jg 0x10016031
cmp dword [ebp - 0x18], ebx
je 0x10016031
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x10016062
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x10016062
push ecx
push 0x1b1e
push 1
push 0x100e
call fcn.1001597d
add esp, 0x10
dec dword [ebp - 0x18]
jns 0x10016048
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 8
je 0x10015f84
xor eax, eax
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], ebx
mov word [ebp - 0x74], ax
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x78]
push dword [ebp - 0x38]
movdqa xmm0, xmmword [0x1006c400]
lea ecx, [ebp - 0x50]
push eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0x50], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
call fcn.10013b89
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 1
push eax
push 0x4ab3
push 1
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x942a1e94
push eax
push 0x168d
mov dl, 1
mov ecx, 0x2a2d
call fcn.10014cc0
add esp, 0x14
mov dword [ebp - 0x2c], 0xfffffff6
jmp 0x1001612a
push 1
push 0x51ab
push 0x7d3b
mov edx, 0x36ba
mov cl, 1
call fcn.100159e1
add esp, 0xc
mov byte [ebp - 0x21], bl
mov dl, 1
lea ecx, [ebp - 0x21]
push 1
push 0x6c39
push 0x387d
push 0x4bab
push 1
call fcn.10015d9f
add esp, 0x14
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x1a
jl 0x100160e9
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], bl
call fcn.1000e817
lea eax, [ebp + 0xc]
mov edx, 0x6694
push eax
push 0x5e8f
push ecx
lea eax, [ebp - 0x74]
push eax
push ecx
push ecx
push 1
push 0x1f69
mov ecx, 0x30ba
call fcn.10014e93
mov eax, dword [0x1039cd68]
add esp, 0x20
test al, 1
jne 0x1001618d
or eax, 1
mov dword [0x1039cd68], eax
push 0xa1fc
mov byte [ebp - 4], 2
call fcn.1000e0d5
pop ecx
mov word [0x1039cd50], ax
mov byte [ebp - 4], bl
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x100161bf
push 1
push 0x5d66
push 0x51c4
push 1
push 0x1097
push 0x1039cd50
mov edx, 0x5a6f
lea ecx, [ebp - 0x74]
call fcn.10014ec9
add esp, 0x18
dec esi
jne 0x10016194
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x1c], 0x1c3f
cmp dword [ebp - 0x1c], 0x1d0b
jle 0x10016220
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0xac]
xor eax, esi
cdq
push edx
push eax
call fcn.10001a94
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100161f6
mov eax, dword [eax]
push eax
call fcn.10045eb3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xac]
call fcn.1000efb0
inc edi
cmp edi, 0xf86
jl 0x100161da
inc esi
cmp esi, 0x6a27
jl 0x100161d8
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x38], 0x8cf1d65f
cmp dword [ebp - 0x1c], 0x1a0d
jge 0x1001623b
push str.gfvyhksf_wzm_rrr_xhhhbbko_mtbubvuhc_zgs_jfqfexx_fkssjd_ubqr_kxtrqa_vffkaev_kycwsxm_fenuam
call fcn.10045eb3
pop ecx
push 2
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], ebx
call fcn.1000e794
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x78]
push eax
push ecx
push 1
push 0x5551
call fcn.10016373
add esp, 0x14
lea eax, [ebp - 0x44]
lea edx, [ebp - 0x38]
mov cl, 1
push eax
push 0x3764
push 0x2194
sub esp, 0xc
lea eax, [ebp - 0x5c]
push eax
call fcn.10015826
add esp, 0x1c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x5c]
call fcn.1000e817
lea eax, [ebp - 0x74]
cmp edi, eax
je 0x100162a3
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.1000f1a6
push ebx
push 1
lea ecx, [ebp - 0x74]
call fcn.1000f2e8
jmp 0x10016362
mov dword [ebp - 0x28], 0x2021
cmp dword [ebp - 0x28], 0x229b
jle 0x1001630a
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov esi, edi
mov dword [ebp - 0x34], ebx
mov ecx, eax
sar esi, cl
mov eax, esi
mov ecx, 0x10079158
xor eax, ebx
cdq
push edx
push eax
call fcn.1000e4b2
inc ebx
cmp ebx, 0x1edd
jl 0x100162d3
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
push 0
pop ebx
cmp eax, 0x5eb9
jl 0x100162ca
inc edi
cmp edi, 0x36ed
jl 0x100162c5
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x28], 0x1ec7
jge 0x1001634a
mov edx, str.xxm_ishe_xkpvtei_gswhfxx_edoas_kerprjsbl_drldsbye_bxo_wcq_pfs
mov ecx, 0x10079158
call fcn.10012e6f
jmp 0x1001634a
mov dword [esi], ebx
cmp dword [esi], 2
jge 0x10016362
mov edx, dword [ebp + 0x10]
mov ecx, dword [esi]
mov eax, dword [edx]
mov dword [eax + ecx*4], ebx
inc dword [esi]
cmp dword [esi], 2
jl 0x10016354
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret