Function at 0x18002fb30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x318]
sub rsp, 0x418
xor r15d, r15d
mov dword [rsp + 0x2e], 0xf2695e72
xorps xmm0, xmm0
mov qword [rsp + 0x60], r15
movdqu xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x32], 0x38fd4417
mov r13, rdx
mov dword [rsp + 0x36], 0xdc1db3f4
movabs r12, 0xaaaaaaaaaaaaaaab
mov word [rsp + 0x3a], 0x9b
mov qword [rbp + 0x350], r15
mov rax, qword [rbp + 0x350]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x350]
movzx r8d, byte [rsp + rax + 0x2f]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x350]
shl dl, 3
sub cl, dl
mov edx, 0x59bed219
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x2f], dl
mov rax, qword [rbp + 0x350]
inc rax
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
cmp rax, 0xc
jb 0x18002fba0
mov byte [rsp + 0x3b], r15b
call fcn.1800015c0
mov rcx, qword gs:[0x58]
mov rdi, rax
mov edx, dword [0x1802848b4]
mov eax, 4
mov rbx, qword [rcx + rdx*8]
add rbx, rax
mov ecx, dword [rbx]
cmp dword [0x180286968], ecx
jle 0x18002fc5e
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002fc5e
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rax
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x18002fc97
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002fc97
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x2f]
mov rcx, rax
call r8
mov rdi, rax
test rax, rax
jne 0x18002fcd8
lea rcx, [rsp + 0x50]
mov qword [r13], r15
mov qword [r13 + 8], r15
mov qword [r13 + 0x10], r15
call fcn.18023bf70
jmp 0x1800305c7
mov qword [rsp + 0x68], 0x21
lea rdx, [rbp + 0x200]
mov qword [rbp + 0x350], 0xe3
mov rcx, qword [rbp + 0x350]
mov rax, qword [rsp + 0x68]
add rcx, rax
mov qword [rsp + 0x458], rsi
mov qword [rbp + 0x350], rcx
mov rcx, qword [rbp + 0x350]
call rdi
mov qword [rsp + 0x68], 0x38
lea rdx, [rbp - 0x50]
mov qword [rbp + 0x350], 0xcc
mov rcx, qword [rbp + 0x350]
mov rax, qword [rsp + 0x68]
add rcx, rax
mov qword [rbp + 0x350], rcx
mov rcx, qword [rbp + 0x350]
call rdi
xor eax, eax
mov word [rbp + 0x368], 0xb507
mov byte [rbp + 0x36a], al
mov qword [rbp + 0x350], r15
mov rax, qword [rbp + 0x350]
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x350]
movzx r8d, byte [rbp + rax + 0x369]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x350]
shl dl, 3
sub cl, dl
mov edx, 0x5cd289f
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x369], dl
mov rax, qword [rbp + 0x350]
inc rax
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
cmp rax, 1
jb 0x18002fd70
mov ecx, r15d
mov byte [rbp + 0x36a], r15b
cmp byte [rbp - 0x50], r15b
je 0x18002fdec
inc ecx
cmp byte [rbp + rcx - 0x50], r15b
jne 0x18002fde3
mov eax, ecx
lea rdx, [rbp + 0x369]
lea rcx, [rbp - 0x50]
add rcx, rax
sub rdx, rcx
nop
movzx eax, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18002fe00
movdqa xmm0, xmmword [0x18027abd0]
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp + 0x350], r15
mov rax, qword [rbp + 0x350]
nop word [rax + rax]
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x350]
movzx r8d, byte [rsp + rax + 0x71]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x350]
shl dl, 3
sub cl, dl
mov edx, 0x19fefe5b
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x71], dl
mov rax, qword [rbp + 0x350]
inc rax
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
cmp rax, 0xe
jb 0x18002fe30
mov byte [rsp + 0x7f], r15b
call fcn.1800015c0
mov ecx, dword [rbx]
mov rdi, rax
cmp dword [0x180286968], ecx
jle 0x18002fed3
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002fed3
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x18002ff0c
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002ff0c
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x71]
mov rcx, rax
call r8
mov rsi, rax
test rax, rax
jne 0x18002ff4d
lea rcx, [rsp + 0x50]
mov qword [r13], r15
mov qword [r13 + 8], r15
mov qword [r13 + 0x10], r15
call fcn.18023bf70
jmp 0x1800305bf
xor eax, eax
mov dword [rsp + 0x3c], 0xd211b710
mov byte [rsp + 0x4a], al
mov dword [rsp + 0x40], 0xe35221ba
mov dword [rsp + 0x44], 0xd51aa0b9
mov word [rsp + 0x48], 0x2fb9
mov qword [rbp + 0x350], r15
mov rax, qword [rbp + 0x350]
mov qword [rsp + 0x410], r14
nop dword [rax + rax]
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x350]
movzx r8d, byte [rsp + rax + 0x3d]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x350]
shl dl, 3
sub cl, dl
mov edx, 0x3e16e6f1
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x3d], dl
mov rax, qword [rbp + 0x350]
inc rax
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
cmp rax, 0xd
jb 0x18002ff90
mov byte [rsp + 0x4a], r15b
call fcn.1800015c0
mov ecx, dword [rbx]
mov rdi, rax
cmp dword [0x180286968], ecx
jle 0x180030033
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180030033
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x18003006c
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18003006c
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x3d]
mov rcx, rax
call r8
mov qword [rbp - 0x80], rax
mov r14, rax
test rax, rax
jne 0x1800300a7
mov qword [r13], r15
mov qword [r13 + 8], r15
mov qword [r13 + 0x10], r15
jmp 0x1800305ad
xor eax, eax
mov dword [rsp + 0x23], 0xf2513791
mov byte [rsp + 0x2d], al
mov dword [rsp + 0x27], 0x463fe42a
mov word [rsp + 0x2b], 0x2fe7
mov qword [rbp + 0x350], r15
mov rax, qword [rbp + 0x350]
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x350]
movzx r8d, byte [rsp + rax + 0x24]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x350]
shl dl, 3
sub cl, dl
mov edx, 0x2f084a71
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x24], dl
mov rax, qword [rbp + 0x350]
inc rax
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
cmp rax, 9
jb 0x1800300d2
mov byte [rsp + 0x2d], r15b
call fcn.1800015c0
mov edx, dword [rbx]
mov rdi, rax
cmp dword [0x180286968], edx
jle 0x180030175
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180030175
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rdx
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x1800301ae
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x1800301ae
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x24]
mov rcx, rax
call r8
mov qword [rbp - 0x78], rax
test rax, rax
je 0x180030096
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x50]
call rsi
mov qword [rsp + 0x68], rax
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x180030096
mov rdi, qword [rsp + 0x58]
nop dword [rax]
test byte [rbp + 0xc0], 0x10
jne 0x18003056e
xor eax, eax
mov word [rbp + 0x360], 0x1884
mov byte [rbp + 0x362], al
mov qword [rbp + 0x350], r15
mov rax, qword [rbp + 0x350]
cmp rax, 1
jae 0x180030295
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x350]
movzx r8d, byte [rbp + rax + 0x361]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x350]
shl dl, 3
sub cl, dl
mov edx, 0x45e81e7f
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x361], dl
mov rax, qword [rbp + 0x350]
inc rax
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
cmp rax, 1
jb 0x180030232
cmp byte [rbp + 0x361], 0
mov ecx, r15d
mov byte [rbp + 0x362], 0
je 0x1800302bc
nop dword [rax + rax]
inc ecx
cmp byte [rbp + rcx + 0x361], 0
jne 0x1800302b0
xor eax, eax
mov word [rsp + 0x20], 0x5cef
mov byte [rsp + 0x22], al
mov qword [rbp + 0x350], r15
mov rax, qword [rbp + 0x350]
mov r9d, ecx
cmp rax, 1
jae 0x18003033d
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x350]
movzx r8d, byte [rsp + rax + 0x21]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x350]
shl dl, 3
sub cl, dl
mov edx, 0x638a533b
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x21], dl
mov rax, qword [rbp + 0x350]
inc rax
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
cmp rax, 1
jb 0x1800302e0
xor dl, dl
mov byte [rsp + 0x22], 0
xor r8b, r8b
lea rcx, [rsp + 0x21]
lea rax, [rbp + 0xec]
cmp r9, 4
jb 0x1800303d8
mov r10, r9
shr r10, 2
movzx edx, byte [rax]
movzx r8d, byte [rcx]
test dl, dl
je 0x1800304a9
cmp dl, r8b
jne 0x1800304a9
movzx edx, byte [rax + 1]
movzx r8d, byte [rcx + 1]
test dl, dl
je 0x1800304a9
cmp dl, r8b
jne 0x1800304a9
movzx edx, byte [rax + 2]
movzx r8d, byte [rcx + 2]
test dl, dl
je 0x1800304a9
cmp dl, r8b
jne 0x1800304a9
movzx edx, byte [rax + 3]
add rax, 4
movzx r8d, byte [rcx + 3]
add rcx, 4
test dl, dl
je 0x1800304a9
cmp dl, r8b
jne 0x1800304a9
sub r10, 1
jne 0x180030360
and r9d, 3
test r9, r9
je 0x180030406
nop dword [rax]
movzx edx, byte [rax]
lea rax, [rax + 1]
movzx r8d, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
je 0x1800304a9
cmp dl, r8b
jne 0x1800304a9
sub r9, 1
jne 0x1800303e0
movzx eax, r8b
movzx ecx, dl
sub ecx, eax
test ecx, ecx
jne 0x180030569
mov qword [rbp - 0x60], r15
lea rax, [rbp + 0x200]
mov qword [rbp - 0x58], 0xf
mov r8, 0xffffffffffffffff
mov byte [rbp - 0x70], cl
inc r8
cmp byte [rax + r8], 0
jne 0x180030434
lea rdx, [rbp + 0x200]
lea rcx, [rbp - 0x70]
call fcn.18023c100
lea rax, [rbp + 0xec]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180030460
lea rdx, [rbp + 0xec]
lea rcx, [rbp - 0x70]
call fcn.18023c260
mov rdi, qword [rsp + 0x58]
cmp rdi, qword [rsp + 0x60]
je 0x1800304b3
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.18023b280
add rdi, 0x20
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x58], rdi
call fcn.18023c0a0
jmp 0x18003056e
mov ecx, edx
sub ecx, r8d
jmp 0x18003040f
mov r15, qword [rsp + 0x50]
mov rsi, rdi
sub rsi, r15
movabs r8, 0x7ffffffffffffff
sar rsi, 5
cmp rsi, r8
je 0x1800305db
mov rcx, qword [rsp + 0x60]
lea r12, [rsi + 1]
sub rcx, r15
mov rax, r8
sar rcx, 5
mov rdx, rcx
shr rdx, 1
sub rax, rdx
cmp rcx, rax
jbe 0x1800304fb
mov r14, r8
jmp 0x180030506
lea r14, [rcx + rdx]
cmp r14, r12
cmovb r14, r12
mov rdx, r14
call fcn.18023fc90
shl rsi, 5
lea rdx, [rbp - 0x70]
mov rbx, rax
lea rcx, [rax + rsi]
call fcn.18023b280
mov r8, rbx
mov rdx, rdi
mov rcx, r15
call fcn.180240c20
mov r9, r14
lea rcx, [rsp + 0x50]
mov r8, r12
mov rdx, rbx
call fcn.18023fbd0
mov rdi, qword [rsp + 0x58]
lea rcx, [rbp - 0x70]
mov rbx, qword [rsp + 0x68]
xor r15d, r15d
mov r14, qword [rbp - 0x80]
movabs r12, 0xaaaaaaaaaaaaaaab
call fcn.18023c0a0
jmp 0x18003056e
mov rdi, qword [rsp + 0x58]
lea rdx, [rbp + 0xc0]
mov rcx, rbx
call r14
test eax, eax
jne 0x180030200
mov rcx, rbx
call qword [rbp - 0x78]
mov rax, qword [rsp + 0x50]
xorps xmm0, xmm0
mov qword [r13], rax
mov rax, qword [rsp + 0x60]
mov qword [r13 + 0x10], rax
mov qword [r13 + 8], rdi
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r15
lea rcx, [rsp + 0x50]
call fcn.18023bf70
mov r14, qword [rsp + 0x410]
mov rsi, qword [rsp + 0x458]
mov rax, r13
add rsp, 0x418
pop r15
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
call fcn.18023c000
int3