Function at 0x180013af4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov r8d, dword [rsp + 0x118]
lea r12d, [rcx - 0x37b1]
mov r10d, dword [rsp + 0x120]
lea ecx, [rdx - 0x3c12]
mov r11d, dword [rsp + 0x110]
lea edi, [r9 + 0x197]
mov ebx, dword [rsp + 0x100]
add dword [rsp + 0x128], 0x488
lea esi, [r8 + 0x299]
mov r13, qword [rsp + 0x130]
lea r14d, [r8 + 0x3c2]
add ebx, 0x3a1
mov dword [rsp + 0x80], r14d
lea eax, [r11 - 0x299]
mov dword [rsp + 0x84], r12d
mov dword [rsp + 0x94], eax
lea ebp, [r8 + 0x9b2]
lea eax, [r10 - 0x49c]
mov dword [rsp + 0xf8], ebp
mov dword [rsp + 0x9c], eax
lea r15d, [r11 - 0x338c]
lea eax, [rdx - 0xa86]
mov dword [rsp + 0x118], ecx
mov dword [rsp + 0x8c], eax
lea edx, [r10 + 0x656]
lea eax, [rbx + 0x6ef]
mov dword [rsp + 0x88], esi
mov dword [rsp + 0xe8], ebx
mov dword [rsp + 0x98], r15d
mov dword [rsp + 0x120], edi
mov dword [rsp + 0x90], edx
cmp esi, eax
jg 0x180013c70
mov ecx, dword [rsp + 0x100]
lea eax, [rbp - 0xa8c]
mov dword [rsp + 0x50], eax
lea r11d, [r15 + 0x38e3]
mov eax, dword [rsp + 0x110]
lea r9d, [rdx - 0x2e1]
add r10d, 0xfffffd77
lea ebx, [rbp - 0x879]
mov dword [rsp + 0x48], r10d
lea r8d, [r15 + 0x338c]
mov dword [rsp + 0x40], eax
lea edx, [r12 + 0x3182]
mov eax, dword [rsp + 0xe0]
sub edi, 0x2d8
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x120], edi
call fcn.18001419c
mov ebx, eax
jmp 0x180013e0a
lea eax, [rsi + r14]
cmp r14d, eax
jle 0x180013e11
mov rcx, qword [r13 + 0x1d8]
add rcx, 0x3a05
movsxd rax, r14d
mov dword [rsp + 0x110], r14d
cmp rax, rcx
je 0x180013e0a
mov eax, dword [r13 + 0x4f0]
mov esi, dword [r13 + 0x230]
mov edx, dword [r13]
mov r9d, dword [r13 + 0xb8]
xor edx, r12d
mov r15d, dword [r13 + 0x280]
sub r9d, eax
mov r12d, dword [r13 + 0x170]
and r15d, eax
mov eax, dword [r13 + 0x2c0]
or r12d, r14d
mov r10d, dword [r13 + 0x118]
or eax, 0x324b
xor r10d, dword [r13 + 0x28]
mov r14d, ebp
mov ebx, dword [r13 + 0xe8]
xor r12d, 0x338c
xor r10d, dword [r13 + 0x70]
imul r14d, dword [r13 + 0x108]
mov r11d, dword [rsp + 0x120]
or r11d, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0x128]
xor r11d, 0x37b1
mov ecx, dword [r13 + 0x250]
sub r8d, dword [r13 + 0x340]
xor ecx, 0x3c12
or ebx, dword [rsp + 0x90]
xor r8d, 0x3182
and r15d, dword [rsp + 0x94]
imul ebp, eax, 0x3a05
mov eax, dword [rsp + 0x8c]
lea edi, [rsi + rax]
or esi, eax
imul eax, dword [r13 + 0x290], 0x3053
xor esi, dword [rsp + 0x88]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], r10d
mov dword [rsp + 0x60], ebx
mov qword [rsp + 0x58], r13
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r12d
call fcn.180002590
mov rcx, qword [r13 + 0x1d8]
mov ebx, eax
mov ebp, dword [rsp + 0xf8]
add rcx, 0x3a05
mov r14d, dword [rsp + 0x80]
mov r12d, dword [rsp + 0x84]
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0x110]
add eax, 3
mov dword [rsp + 0x110], eax
cdqe
cmp rax, rcx
jne 0x180013c9f
mov r15d, dword [rsp + 0x98]
mov edi, dword [rsp + 0x120]
mov esi, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x118]
lea eax, [r12 + 0x3655]
cmp esi, eax
jg 0x180014002
lea eax, [rbp - 0x879]
cmp r14d, eax
jle 0x180013e97
lea r8d, [r15 + 0x2f79]
mov dword [r13 + 0x4d4], 0x8a1a4
lea edx, [rcx + 0x362a]
mov ecx, dword [rsp + 0x8c]
lea eax, [rbp - 0x912]
add ecx, 0xbf
mov dword [rsp + 0x38], eax
lea r10d, [r12 + 0x30f3]
mov dword [rsp + 0x30], r8d
lea r9d, [r12 + 0x3a05]
mov r8d, dword [rsp + 0xe0]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r10d
call fcn.180015d48
mov dword [r13 + 0x50c], 0xbead
jmp 0x180014002
mov rax, qword [r13 + 0x510]
movsxd rdx, ebx
xor rax, rdx
and eax, 0x3c32
cmp qword [r13 + 0x2e8], rax
je 0x180013ee8
mov rcx, qword [r13 + 0x2c0]
movsxd rax, r15d
xor rcx, rax
xor qword [r13 + 0x280], rcx
mov ecx, dword [r13 + 0xf8]
mov eax, dword [r13 + 0x280]
or ecx, ebx
add eax, dword [rsp + 0x9c]
or ecx, 0x3182
xor ebp, ecx
imul ebp, eax
movsxd rcx, dword [rsp + 0x128]
mov eax, 0x318c
mov r10, qword [r13 + 0x128]
movzx r9d, r15w
mov r11, qword [r13 + 0x290]
xor r9w, ax
xor r11, qword [r13 + 0x250]
mov r8d, dword [r13 + 0x90]
xor r11, rdx
imul r10, rcx
imul r8d, ecx
mov edx, edi
movsxd rax, r12d
and r10, qword [r13 + 0x498]
imul edx, esi
mov qword [rsp + 0x28], r11
movsxd rcx, edi
add r8d, 0x378a
mov qword [rsp + 0x20], r10
xor rcx, rax
sub edx, dword [r13 + 0x548]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [rsp + 0x128]
add eax, 0x3182
cmp r14d, eax
jne 0x180014002
mov r11d, dword [r13 + 0x70]
lea r9d, [rbp - 0x338c]
mov r10d, dword [r13 + 0x58]
xor r11d, r14d
add r10d, dword [rsp + 0x120]
or r11d, 0x3655
mov r8d, dword [r13 + 0x270]
and r10d, r14d
mov eax, dword [r13 + 0x210]
mov edi, r15d
xor edi, dword [rsp + 0x118]
add eax, 0x378a
and r8d, dword [r13 + 0x170]
xor edi, ebp
mov ecx, dword [r13 + 0x340]
sub r8d, r15d
mov esi, dword [rsp + 0x90]
sub ecx, r12d
add esi, ebx
mov rdx, r13
or esi, dword [r13 + 0x4a0]
mov ebx, dword [r13 + 0x280]
mov dword [rsp + 0x48], esi
sub ebx, 0x3a05
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], eax
call fcn.180014334
mov eax, dword [rsp + 0x118]
mov rbx, qword [rsp + 0xf0]
add eax, 0x38e3
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret