Function at 0x180034c90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r13
push r14
lea rbp, [rsp - 0x320]
sub rsp, 0x420
xor r13d, r13d
mov dword [rsp + 0x33], 0x9684a793
xorps xmm0, xmm0
mov qword [rsp + 0x68], r13
movdqu xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x37], 0x968881b7
mov r14, rdx
mov dword [rsp + 0x3b], 0x829d89b7
mov word [rsp + 0x3f], 0xaa
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
sub cl, 0x20
xor cl, byte [rsp + rax + 0x34]
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x34], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0xc
jb 0x180034cf0
mov byte [rsp + 0x40], r13b
call fcn.1800015d0
mov rcx, qword gs:[0x58]
mov rdi, rax
mov edx, dword [0x18039b468]
mov eax, 4
mov rbx, qword [rcx + rdx*8]
add rbx, rax
mov ecx, dword [rbx]
cmp dword [0x18039d510], ecx
jle 0x180034d83
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180034d83
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 0x180034dbc
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180034dbc
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 + 0x34]
call qword [0x1803a1560]
mov rdi, rax
test rax, rax
jne 0x180034df5
lea rcx, [rsp + 0x58]
mov qword [r14], r13
mov qword [r14 + 8], r13
mov qword [r14 + 0x10], r13
call fcn.1803535d0
jmp 0x180035522
lea rax, [rbp + 0x200]
mov qword [rsp + 0x458], rsi
mov qword [rbp - 0x60], rax
lea rdx, [rbp + 0x200]
mov qword [rsp + 0x50], 0x59
mov qword [rsp + 0x20], 0xab
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x50]
add rcx, rax
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0x50]
call rdi
lea rax, [rbp - 0x50]
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x20], 0xbb
mov qword [rsp + 0x50], 0x49
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x20]
add rcx, rax
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0x50]
call rdi
xor eax, eax
mov word [rbp + 0x360], 0x4972
mov byte [rbp + 0x362], al
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
nop dword [rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
add cl, 0x63
xor cl, byte [rbp + rax + 0x361]
mov rax, qword [rsp + 0x20]
mov byte [rbp + rax + 0x361], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 1
jb 0x180034e90
mov ecx, r13d
mov byte [rbp + 0x362], r13b
cmp byte [rbp - 0x50], r13b
je 0x180034ee9
nop dword [rax + rax]
inc ecx
cmp byte [rbp + rcx - 0x50], r13b
jne 0x180034ee0
mov eax, ecx
lea rdx, [rbp + 0x361]
lea rcx, [rbp - 0x50]
add rcx, rax
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx + rdx]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180034f00
movdqa xmm0, xmmword [0x18038f4d0]
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
nop word [rax + rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
add cl, 0x7c
xor cl, byte [rsp + rax + 0x71]
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x71], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0xe
jb 0x180034f30
mov byte [rsp + 0x7f], r13b
call fcn.1800015d0
mov ecx, dword [rbx]
mov rdi, rax
cmp dword [0x18039d510], ecx
jle 0x180034fa8
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180034fa8
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x180034fe1
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180034fe1
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 + 0x71]
call qword [0x1803a1560]
mov rsi, rax
test rax, rax
jne 0x18003501a
lea rcx, [rsp + 0x58]
mov qword [r14], r13
mov qword [r14 + 8], r13
mov qword [r14 + 0x10], r13
call fcn.1803535d0
jmp 0x18003551a
xor eax, eax
mov dword [rsp + 0x41], 0xfcf8d656
mov byte [rsp + 0x4f], al
mov dword [rsp + 0x45], 0xeef0daf7
mov dword [rsp + 0x49], 0xf6f0dee3
mov word [rsp + 0x4d], 0xddfe
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x410], r15
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
sub cl, 0x70
xor cl, byte [rsp + rax + 0x42]
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x42], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0xd
jb 0x180035051
mov byte [rsp + 0x4f], r13b
call fcn.1800015d0
mov ecx, dword [rbx]
mov rdi, rax
cmp dword [0x18039d510], ecx
jle 0x1800350c9
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1800350c9
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x180035102
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180035102
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 + 0x42]
call qword [0x1803a1560]
mov r15, rax
test rax, rax
jne 0x18003513b
lea rcx, [rsp + 0x58]
mov qword [r14], r13
mov qword [r14 + 8], r13
mov qword [r14 + 0x10], r13
call fcn.1803535d0
jmp 0x180035512
xor eax, eax
mov dword [rsp + 0x28], 0xd8dcf20b
mov byte [rsp + 0x32], al
mov dword [rsp + 0x2c], 0xd5d5fbd3
mov word [rsp + 0x30], 0xd9c8
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x418], r12
nop word [rax + rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
sub cl, 0x4c
xor cl, byte [rsp + rax + 0x29]
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x29], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 9
jb 0x180035170
mov byte [rsp + 0x32], r13b
call fcn.1800015d0
mov edx, dword [rbx]
mov rdi, rax
cmp dword [0x18039d510], edx
jle 0x1800351e8
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1800351e8
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rdx
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x180035221
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180035221
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 + 0x29]
call qword [0x1803a1560]
mov r12, rax
test rax, rax
jne 0x180035250
mov qword [r14], r13
mov qword [r14 + 8], r13
mov qword [r14 + 0x10], r13
jmp 0x180035500
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x50]
call rsi
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180035240
mov rbx, qword [rsp + 0x60]
nop dword [rax + rax]
test byte [rbp + 0xc0], 0x10
jne 0x1800354c2
xor eax, eax
mov word [rbp + 0x350], 0x62da
mov byte [rbp + 0x352], al
mov byte [rbp + 0x36a], al
mov word [rbp + 0x368], 0x5aa2
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
nop word [rax + rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
add cl, 5
xor cl, byte [rbp + rax + 0x351]
mov rax, qword [rsp + 0x20]
mov byte [rbp + rax + 0x351], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 1
jb 0x1800352b0
mov edx, r13d
mov byte [rbp + 0x352], r13b
cmp byte [rbp + 0x351], r13b
je 0x18003530c
nop dword [rax + rax]
inc edx
cmp byte [rbp + rdx + 0x351], r13b
jne 0x180035300
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
nop word [rax + rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
add cl, 0x3d
xor cl, byte [rbp + rax + 0x369]
mov rax, qword [rsp + 0x20]
mov byte [rbp + rax + 0x369], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 1
jb 0x180035320
mov r9d, edx
lea rcx, [rbp + 0x369]
xor dl, dl
mov byte [rbp + 0x36a], r13b
xor r8b, r8b
lea rax, [rbp + 0xec]
cmp r9, 4
jb 0x1800353da
mov r10d, r9d
shr r10, 2
movzx edx, byte [rax]
movzx r8d, byte [rcx]
test dl, dl
je 0x1800353fe
cmp dl, r8b
jne 0x1800353fe
movzx edx, byte [rax + 1]
movzx r8d, byte [rcx + 1]
test dl, dl
je 0x1800353fe
cmp dl, r8b
jne 0x1800353fe
movzx edx, byte [rax + 2]
movzx r8d, byte [rcx + 2]
test dl, dl
je 0x1800353fe
cmp dl, r8b
jne 0x1800353fe
movzx edx, byte [rax + 3]
add rax, 4
movzx r8d, byte [rcx + 3]
add rcx, 4
test dl, dl
je 0x1800353fe
cmp dl, r8b
jne 0x1800353fe
sub r10, 1
jne 0x180035382
and r9d, 3
test r9, r9
je 0x1800353fe
nop
movzx edx, byte [rax]
lea rax, [rax + 1]
movzx r8d, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
je 0x1800353fe
cmp dl, r8b
jne 0x1800353fe
sub r9, 1
jne 0x1800353e0
movzx eax, r8b
movzx ecx, dl
sub ecx, eax
test ecx, ecx
jne 0x1800354bd
mov qword [rbp - 0x70], r13
lea rax, [rbp + 0x200]
mov qword [rbp - 0x68], 0xf
mov r8, 0xffffffffffffffff
mov byte [rbp - 0x80], r13b
nop dword [rax]
inc r8
cmp byte [rax + r8], r13b
jne 0x180035430
lea rdx, [rbp + 0x200]
lea rcx, [rbp - 0x80]
call fcn.180353890
lea rax, [rbp + 0xec]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x180035457
lea rdx, [rbp + 0xec]
lea rcx, [rbp - 0x80]
call fcn.1803539e0
mov rbx, qword [rsp + 0x60]
cmp qword [rsp + 0x68], rbx
je 0x18003549c
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1803520c0
add rbx, 0x20
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x60], rbx
call fcn.180353810
jmp 0x1800354c2
lea r8, [rbp - 0x80]
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.1803564e0
mov rbx, qword [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.180353810
jmp 0x1800354c2
mov rbx, qword [rsp + 0x60]
lea rdx, [rbp + 0xc0]
mov rcx, rdi
call r15
test eax, eax
jne 0x180035270
mov rcx, rdi
call r12
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
mov qword [r14], rax
mov rax, qword [rsp + 0x68]
mov qword [r14 + 0x10], rax
mov qword [r14 + 8], rbx
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r13
lea rcx, [rsp + 0x58]
call fcn.1803535d0
mov r12, qword [rsp + 0x418]
mov r15, qword [rsp + 0x410]
mov rsi, qword [rsp + 0x458]
mov rax, r14
add rsp, 0x420
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret