Function at 0x180032290
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
lea rbp, [rsp - 0x198]
sub rsp, 0x298
movdqa xmm0, xmmword [0x18038fa40]
xor eax, eax
mov byte [rsp + 0x7b], al
xor r14d, r14d
movdqu xmmword [rbp - 0x6f], xmm0
mov word [rbp - 0x5f], 0x8a
mov rdi, rdx
mov dword [rsp + 0x6f], 0xefe1db31
mov dword [rsp + 0x73], 0xbcbee0e7
mov dword [rsp + 0x77], 0xfefdf4a1
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x50]
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x44
xor cl, byte [rbp + rax - 0x6e]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x6e], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x10
jb 0x1800322f0
mov byte [rbp - 0x5e], r14b
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x78
xor cl, byte [rsp + rax + 0x70]
mov rax, qword [rsp + 0x50]
mov byte [rsp + rax + 0x70], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xb
jb 0x180032330
mov rax, qword gs:[0x58]
mov ecx, dword [0x18039b468]
mov edx, 4
mov byte [rsp + 0x7b], r14b
mov rsi, qword [rax + rcx*8]
add rsi, rdx
mov eax, dword [rsi]
cmp dword [0x18039d510], eax
jle 0x1800323bb
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1800323bb
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rsi]
cmp dword [0x1803a1558], eax
jle 0x1800323f4
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x1800323f4
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
lea rcx, [rsp + 0x70]
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0x6e]
call qword [0x1803a1560]
test rax, rax
je 0x1800329a1
xor r9d, r9d
lea rcx, [rbp + 0x80]
mov qword [rsp + 0x20], rcx
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x25]
call rax
test eax, eax
js 0x1800329a1
mov qword [rsp + 0x58], 7
xor edx, edx
mov qword [rsp + 0x50], 0x11
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
add rcx, rax
mov qword [rsp + 0x290], rbx
mov qword [rsp + 0x58], rcx
lea rcx, [rbp - 8]
mov r8, qword [rsp + 0x58]
call fcn.180362700
mov qword [rsp + 0x50], 0x3d
xor edx, edx
mov qword [rsp + 0x58], 0x2b
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
add rcx, rax
mov qword [rsp + 0x58], rcx
lea rcx, [rbp + 0x10]
mov r8, qword [rsp + 0x58]
call fcn.180362700
movdqa xmm0, xmmword [0x18038f440]
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x50], 0x5f
mov r8, rbx
mov qword [rsp + 0x58], 9
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
add rcx, rax
mov qword [rsp + 0x58], rcx
mov rax, qword [rsp + 0x58]
mov dword [rbp + 0x10], eax
lea rax, [rbp + 0x80]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], r14b
inc r8
cmp byte [rax + r8], r14b
jne 0x1800324f5
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x28]
call fcn.180353890
xor eax, eax
mov dword [rsp + 0x60], 0xd0d6ffe7
mov byte [rsp + 0x6e], al
mov dword [rsp + 0x64], 0xc5c4c3c8
mov dword [rsp + 0x68], 0xc8829999
mov word [rsp + 0x6c], 0xcad6
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x50]
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x5d
xor cl, byte [rsp + rax + 0x61]
mov rax, qword [rsp + 0x50]
mov byte [rsp + rax + 0x61], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xd
jb 0x180032540
mov byte [rsp + 0x6e], r14b
lea rax, [rsp + 0x61]
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], r14b
jne 0x180032580
lea rdx, [rsp + 0x61]
lea rcx, [rbp - 0x28]
call fcn.1803539e0
xor eax, eax
mov word [rbp + 0x1c0], 0xe438
mov byte [rbp + 0x1c2], al
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x3a
xor cl, byte [rbp + rax + 0x1c1]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x1c1], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 1
jb 0x1800325b2
movdqa xmm0, xmmword [0x18038f440]
lea rax, [rbp + 0x1c1]
movdqu xmmword [rbp - 0x38], xmm0
mov byte [rbp + 0x1c2], r14b
mov r8, rbx
mov byte [rbp - 0x48], r14b
nop dword [rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x180032610
lea rdx, [rbp + 0x1c1]
lea rcx, [rbp - 0x48]
call fcn.180353890
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rdi + r8], r14b
jne 0x180032630
mov rdx, rdi
lea rcx, [rbp - 0x48]
call fcn.1803539e0
xor eax, eax
mov word [rbp + 0x1d0], 0x35a9
mov byte [rbp + 0x1d2], al
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x17
xor cl, byte [rbp + rax + 0x1d1]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x1d1], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 1
jb 0x180032660
mov byte [rbp + 0x1d2], r14b
lea rax, [rbp + 0x1d1]
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x1800326b0
lea rdx, [rbp + 0x1d1]
lea rcx, [rbp - 0x48]
call fcn.1803539e0
mov dword [rbp + 0x1d8], 0xd5bdd
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x50]
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x77
xor cl, byte [rbp + rax + 0x1d9]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x1d9], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 2
jb 0x1800326e0
mov byte [rbp + 0x1db], r14b
lea rax, [rbp + 0x1d9]
inc rbx
cmp byte [rax + rbx], r14b
jne 0x180032726
mov r8, rbx
lea rdx, [rbp + 0x1d9]
lea rcx, [rbp - 0x48]
call fcn.1803539e0
movdqa xmm0, xmmword [0x18038f450]
movdqu xmmword [rbp - 0x5d], xmm0
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x50]
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x49
xor cl, byte [rbp + rax - 0x5c]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x5c], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xe
jb 0x180032760
mov byte [rbp - 0x4e], r14b
call fcn.1800015d0
mov ecx, dword [rsi]
mov rbx, rax
cmp dword [0x18039d510], ecx
jle 0x1800327d7
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1800327d7
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov eax, dword [rsi]
cmp dword [0x1803a1558], eax
jle 0x180032810
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180032810
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rbx
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0x5c]
call qword [0x1803a1560]
test rax, rax
je 0x180032987
cmp qword [rbp - 0x30], 0x10
lea r8, [rbp - 8]
mov qword [rsp + 0x48], r8
lea rdx, [rbp - 0x48]
cmovae rdx, qword [rbp - 0x48]
lea r8, [rbp + 0x10]
cmp qword [rbp - 0x10], 0x10
lea rcx, [rbp - 0x28]
mov qword [rsp + 0x40], r8
cmovae rcx, qword [rbp - 0x28]
xor r9d, r9d
mov qword [rsp + 0x38], r14
xor r8d, r8d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call rax
test eax, eax
je 0x180032987
movdqa xmm0, xmmword [0x18038f7d0]
xor eax, eax
mov byte [rbp - 0x70], al
movdqu xmmword [rsp + 0x7c], xmm0
mov dword [rbp - 0x74], 0x7c64636f
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x50]
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0xa
xor cl, byte [rsp + rax + 0x7d]
mov rax, qword [rsp + 0x50]
mov byte [rsp + rax + 0x7d], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x13
jb 0x1800328b0
mov byte [rbp - 0x70], r14b
call fcn.1800015d0
mov edx, dword [rsi]
mov rbx, rax
cmp dword [0x18039d510], edx
jle 0x180032927
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180032927
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rdx
call fcn.180360f2c
mov eax, dword [rsi]
cmp dword [0x1803a1558], eax
jle 0x180032960
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180032960
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rbx
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x7d]
call qword [0x1803a1560]
test rax, rax
je 0x180032987
mov rcx, qword [rbp - 8]
mov edx, 0x1388
call rax
lea rcx, [rbp - 0x48]
call fcn.180353810
lea rcx, [rbp - 0x28]
call fcn.180353810
mov rbx, qword [rsp + 0x290]
add rsp, 0x298
pop r14
pop rdi
pop rsi
pop rbp
ret