Function at 0x180037ce0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rbp
push rdi
push r14
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov dword [rsp + 0x20], 0x362407d8
mov rdi, rdx
mov dword [rsp + 0x24], 0x36282117
mov dword [rsp + 0x28], 0x223d2917
mov word [rsp + 0x2c], 0xa
mov qword [rbp + 0x180], 0
mov rax, qword [rbp + 0x180]
nop word [rax + rax]
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
add cl, 0x40
xor cl, byte [rsp + rax + 0x21]
mov rax, qword [rbp + 0x180]
mov byte [rsp + rax + 0x21], cl
mov rax, qword [rbp + 0x180]
inc rax
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
cmp rax, 0xc
jb 0x180037d40
mov byte [rsp + 0x2d], 0
call fcn.1800015d0
mov rcx, qword gs:[0x58]
mov rsi, 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 0x180037ddf
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180037ddf
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 0x180037e18
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180037e18
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rsi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x21]
call qword [0x1803a1560]
movdqa xmm0, xmmword [0x18038f930]
mov r14, rax
movdqu xmmword [rsp + 0x2e], xmm0
mov word [rsp + 0x3e], 0xa4
mov qword [rbp + 0x180], 0
mov rcx, qword [rbp + 0x180]
nop dword [rax]
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
sub cl, 0x2a
xor cl, byte [rsp + rax + 0x2f]
mov rax, qword [rbp + 0x180]
mov byte [rsp + rax + 0x2f], cl
mov rax, qword [rbp + 0x180]
inc rax
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
cmp rax, 0x10
jb 0x180037e60
mov byte [rsp + 0x3f], 0
call fcn.1800015d0
mov edx, dword [rbx]
mov rsi, rax
cmp dword [0x18039d510], edx
jle 0x180037ee4
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180037ee4
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 0x180037f1d
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180037f1d
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rsi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x2f]
call qword [0x1803a1560]
mov qword [rbp + 0x180], 0x3e
mov rbx, rax
mov qword [rbp + 0x188], 0xc6
mov rdx, qword [rbp + 0x180]
mov rcx, qword [rbp + 0x188]
add rdx, rcx
mov qword [rbp + 0x180], rdx
lea rdx, [rsp + 0x40]
mov rcx, qword [rbp + 0x180]
call r14
lea r9, [rbp + 0x50]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call rbx
lea rcx, [rbp + 0x50]
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdi], al
lea rdi, [rdi + 1]
test al, al
jne 0x180037f90
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret