Function at 0x18002c3e0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rbx, rcx
mov rdi, rdx
add rcx, 8
call fcn.18002cd70
lea rdx, [rbx + 0x1568]
mov ecx, 0x30
lea rax, [rdx + 0xb4]
xor ebp, ebp
nop dword [rax + rax]
mov qword [rax + 8], rbp
mov qword [rax], rbp
lea rax, [rax + 0x10]
sub rcx, 1
jne 0x18002c420
mov rcx, rdx
mov dword [rdx], 0x3f800000
mov dword [rdx + 4], 0x41000000
mov dword [rdx + 8], 0x41000000
mov dword [rdx + 0xc], 0x40e00000
mov dword [rdx + 0x10], 0x3f800000
mov dword [rdx + 0x14], 0x42000000
mov qword [rdx + 0x18], 0x42000000
mov qword [rdx + 0x20], 0x3f000000
mov dword [rdx + 0x28], ebp
mov qword [rdx + 0x2c], 0x3f800000
mov dword [rdx + 0x34], 0x3f800000
mov dword [rdx + 0x38], 0x40800000
mov qword [rdx + 0x3c], 0x40400000
mov dword [rdx + 0x44], ebp
mov dword [rdx + 0x48], 0x41000000
mov dword [rdx + 0x4c], 0x40800000
mov dword [rdx + 0x50], 0x40800000
mov qword [rdx + 0x54], 0x40800000
mov dword [rdx + 0x5c], ebp
mov dword [rdx + 0x60], 0x41a80000
mov dword [rdx + 0x64], 0x40c00000
mov dword [rdx + 0x68], 0x41600000
mov dword [rdx + 0x6c], 0x41100000
mov qword [rdx + 0x70], 0x41200000
mov qword [rdx + 0x78], 0x40800000
mov dword [rdx + 0x80], 1
mov dword [rdx + 0x84], 0x3f000000
mov qword [rdx + 0x88], 0x3f000000
mov dword [rdx + 0x90], ebp
mov dword [rdx + 0x94], 0x41980000
mov dword [rdx + 0x98], 0x41980000
mov dword [rdx + 0x9c], 0x40400000
mov dword [rdx + 0xa0], 0x40400000
mov dword [rdx + 0xa4], 0x3f800000
mov word [rdx + 0xa8], 0x101
mov dword [rdx + 0xac], 0x3fa00000
mov dword [rdx + 0xb0], 0x3fcccccd
call fcn.18004ab30
lea rcx, [rbx + 0x1930]
call fcn.180042d60
mov qword [rbx + 0x1a28], rbp
xorps xmm0, xmm0
mov qword [rbx + 0x1a30], rbp
xor eax, eax
mov qword [rbx + 0x1a38], rbp
mov qword [rbx + 0x1a40], rbp
mov qword [rbx + 0x1a48], rbp
mov qword [rbx + 0x1a50], rbp
mov qword [rbx + 0x1a58], rbp
mov qword [rbx + 0x1a60], rbp
mov qword [rbx + 0x1a68], rbp
mov qword [rbx + 0x1a70], rbp
mov qword [rbx + 0x1aa8], rbp
mov qword [rbx + 0x1af0], rbp
mov qword [rbx + 0x1b5c], rbp
movups xmmword [rbx + 0x1b20], xmm0
movups xmmword [rbx + 0x1b30], xmm0
movups xmmword [rbx + 0x1b40], xmm0
movups xmmword [rbx + 0x1b50], xmm0
movups xmmword [rbx + 0x1b60], xmm0
movups xmmword [rbx + 0x1b70], xmm0
movups xmmword [rbx + 0x1b80], xmm0
movups xmmword [rbx + 0x1b90], xmm0
mov dword [rbx + 0x1ba0], eax
mov qword [rbx + 0x1ba8], rbp
mov qword [rbx + 0x1bb0], rbp
mov qword [rbx + 0x1bb8], rbp
mov qword [rbx + 0x1bc0], rbp
mov qword [rbx + 0x1bc8], rbp
mov qword [rbx + 0x1bd0], rbp
mov qword [rbx + 0x1bd8], rbp
mov qword [rbx + 0x1be0], rbp
mov qword [rbx + 0x1be8], rbp
mov qword [rbx + 0x1bf0], rbp
mov qword [rbx + 0x1c30], rbp
mov qword [rbx + 0x1c38], rbp
mov qword [rbx + 0x1c58], rbp
mov qword [rbx + 0x1c60], rbp
mov qword [rbx + 0x1c88], rbp
mov qword [rbx + 0x1c90], rbp
mov dword [rbx + 0x1ca0], 0x7f7fffff
mov ecx, 2
mov dword [rbx + 0x1c9c], 0x7f7fffff
mov dword [rbx + 0x1c98], 0x7f7fffff
movups xmmword [rbx + 0x1ca4], xmm0
mov qword [rbx + 0x1cb8], rbp
mov qword [rbx + 0x1cc0], rbp
mov dword [rbx + 0x1cd0], 0x7f7fffff
mov dword [rbx + 0x1ccc], 0x7f7fffff
mov dword [rbx + 0x1cc8], 0x7f7fffff
movups xmmword [rbx + 0x1cd4], xmm0
mov qword [rbx + 0x1ce8], rbp
mov qword [rbx + 0x1cf0], rbp
mov dword [rbx + 0x1d00], 0x7f7fffff
mov dword [rbx + 0x1cfc], 0x7f7fffff
mov dword [rbx + 0x1cf8], 0x7f7fffff
movups xmmword [rbx + 0x1d04], xmm0
mov byte [rbx + 0x1d68], al
lea rax, [rbx + 0x1da0]
mov qword [rbx + 0x1d70], rbp
mov qword [rbx + 0x1d7c], rbp
mov dword [rbx + 0x1d78], ebp
mov qword [rbx + 0x1d94], rbp
mov qword [rbx + 0x1d8c], rbp
mov qword [rbx + 0x1d84], rbp
nop word [rax + rax]
mov qword [rax], rbp
mov qword [rax + 8], rbp
lea rax, [rax + 0x10]
sub rcx, 1
jne 0x18002c740
lea rcx, [rbx + 0x1dc8]
lea rdx, [rbx + 0x1930]
call fcn.18002c360
lea rcx, [rbx + 0x1e70]
lea rdx, [rbx + 0x1930]
call fcn.18002c360
mov qword [rbx + 0x1f3c], rbp
lea rcx, [rbx + 0x2018]
mov qword [rbx + 0x1f30], rbp
xorps xmm0, xmm0
mov dword [rbx + 0x1f38], ebp
xor eax, eax
movups xmmword [rbx + 0x1f48], xmm0
xor edx, edx
mov r8d, 0xe90
movups xmmword [rbx + 0x1f58], xmm0
mov word [rbx + 0x1f68], ax
mov dword [rbx + 0x1f44], 0xffffffff
mov byte [rbx + 0x1f6a], al
mov qword [rbx + 0x1f70], rbp
mov qword [rbx + 0x1f78], rbp
mov qword [rbx + 0x1fa0], rbp
mov qword [rbx + 0x1fa8], rbp
mov qword [rbx + 0x1fc8], rbp
mov qword [rbx + 0x1fd0], rbp
mov qword [rbx + 0x1fd8], rbp
mov qword [rbx + 0x1fe0], rbp
mov dword [rbx + 0x1fe8], ebp
mov qword [rbx + 0x1ff0], rbp
mov qword [rbx + 0x1ff8], rbp
mov qword [rbx + 0x2000], rbp
mov qword [rbx + 0x2008], rbp
mov qword [rbx + 0x2010], rbp
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], rbp
mov qword [rcx + 0x20], rbp
mov qword [rcx + 0x28], rbp
mov qword [rcx + 0x30], rbp
mov qword [rcx + 0x38], rbp
call fcn.18002a690
lea rcx, [rbx + 0x2ea8]
call fcn.180042e70
test rdi, rdi
mov qword [rbx + 0x2f44], rbp
mov qword [rbx + 0x2f3c], rbp
sete al
mov qword [rbx + 0x2f60], rbp
mov byte [rbx + 1], al
mov qword [rbx + 0x2f68], rbp
mov qword [rbx + 0x2f70], rbp
mov qword [rbx + 0x2f78], rbp
mov qword [rbx + 0x2f80], rbp
mov qword [rbx + 0x2f88], rbp
mov qword [rbx + 0x2f98], rbp
mov qword [rbx + 0x2fa0], rbp
mov qword [rbx + 0x2fa8], rbp
mov qword [rbx + 0x2fb0], rbp
mov qword [rbx + 0x2fb8], rbp
mov qword [rbx + 0x2fc0], rbp
mov qword [rbx + 0x2fd8], rbp
mov qword [rbx + 0x2fe0], rbp
mov byte [rbx], bpl
mov qword [rbx + 0x1920], rbp
mov qword [rbx + 0x1928], rbp
test rdi, rdi
jne 0x18002c916
mov rax, qword [0x1800821d8]
test rax, rax
je 0x18002c8ef
inc dword [rax + 0x3bc]
mov rdx, qword [0x1800821e8]
mov ecx, 0x78
call qword [0x18007f2b0]
test rax, rax
je 0x18002c913
mov rcx, rax
call fcn.180042ed0
mov rdi, rax
jmp 0x18002c916
mov rdi, rbp
mov qword [rbx + 0xa8], rdi
xorps xmm0, xmm0
movups xmmword [rbx + 0x1c30], xmm0
mov qword [rbx + 0x1a00], rbp
mov r8, rbp
mov dword [rbx + 0x1a08], ebp
movabs r9, 0x4e5e0a72f0539783
mov qword [rbx + 0x1a0c], 0xffffffffffffffff
mov word [rbx + 0x1a15], bp
mov byte [rbx + 0x1a14], bpl
mov byte [rbx + 0x1a17], bpl
mov dword [rbx + 0x1a18], ebp
mov qword [rbx + 0x1a20], rbp
mov dword [rbx + 0x1a78], ebp
mov qword [rbx + 0x1a80], rbp
mov qword [rbx + 0x1a88], rbp
mov qword [rbx + 0x1a90], rbp
mov qword [rbx + 0x1a98], rbp
mov qword [rbx + 0x1aa0], rbp
mov qword [rbx + 0x1ab0], rbp
mov byte [rbx + 0x1ab8], bpl
mov qword [rbx + 0x1abc], rbp
mov qword [rbx + 0x1ac4], rbp
mov qword [rbx + 0x1acc], rbp
mov dword [rbx + 0x1ad4], ebp
mov byte [rbx + 0x1ad8], bpl
mov qword [rbx + 0x1adc], rbp
mov qword [rbx + 0x1ae8], rbp
mov dword [rbx + 0x1af0], 0xbf800000
mov dword [rbx + 0x1af4], 0xbf800000
mov qword [rbx + 0x1af8], rbp
mov qword [rbx + 0x1b00], rbp
mov dword [rbx + 0x1b08], ebp
mov word [rbx + 0x1b0c], bp
mov qword [rbx + 0x1b10], rbp
mov qword [rbx + 0x1b18], rbp
mov qword [rbx + 0x1bf8], rbp
mov qword [rbx + 0x1c10], rbp
mov qword [rbx + 0x1c08], rbp
mov qword [rbx + 0x1c00], rbp
mov qword [rbx + 0x1c24], rbp
mov qword [rbx + 0x1c1c], rbp
mov dword [rbx + 0x1c18], ebp
mov dword [rbx + 0x1c2c], ebp
mov qword [rbx + 0x1c40], rbp
mov dword [rbx + 0x1c48], 0x7fffffff
mov dword [rbx + 0x1c4c], 0x10000
mov word [rbx + 0x1c50], bp
mov byte [rbx + 0x1c52], bpl
mov dword [rbx + 0x1c54], ebp
mov word [rbx + 0x1c68], bp
mov qword [rbx + 0x1c6c], rbp
mov dword [rbx + 0x1c74], ebp
mov qword [rbx + 0x1c7c], 0xffffffffffffffff
mov dword [rbx + 0x1c78], 0xffffffff
mov qword [rbx + 0x1d28], rbp
mov qword [rbx + 0x1d20], rbp
mov qword [rbx + 0x1d18], rbp
mov qword [rbx + 0x1d30], rbp
mov byte [rbx + 0x1d38], bpl
mov qword [rbx + 0x1d48], rbp
mov qword [rbx + 0x1d40], rbp
mov dword [rbx + 0x1d54], 0x7fffffff
mov dword [rbx + 0x1d50], 0x7fffffff
mov dword [rbx + 0x1d5c], 0x7fffffff
mov dword [rbx + 0x1d58], 0x7fffffff
mov byte [rbx + 0x1d60], bpl
mov dword [rbx + 0x1dc0], ebp
mov eax, dword [0x180073a70]
movsd xmm0, qword [0x180073a68]
mov dword [rsp + 0x28], eax
movzx eax, byte [0x180073a74]
mov byte [rsp + 0x2c], al
movsd qword [rsp + 0x20], xmm0
nop dword [rax]
mov rax, r9
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rsp + r8 + 0x20], al
inc r8
cmp r8, 0xd
jb 0x18002cb30
lea rax, [rsp + 0x20]
mov r8, rbp
mov qword [rbx + 0x1e08], rax
mov eax, dword [0x180073a80]
movsd xmm0, qword [0x180073a78]
mov dword [rsp + 0x28], eax
movzx eax, byte [0x180073a84]
mov byte [rsp + 0x2c], al
movsd qword [rsp + 0x20], xmm0
nop dword [rax]
nop dword [rax + rax]
mov rax, r9
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rsp + r8 + 0x20], al
inc r8
cmp r8, 0xd
jb 0x18002cba0
lea rax, [rsp + 0x20]
xorps xmm0, xmm0
mov qword [rbx + 0x1eb0], rax
lea rcx, [rbx + 0x3004]
mov dword [rbx + 0x1f18], ebp
xor edx, edx
mov word [rbx + 0x1f1d], bp
mov r8d, 0x1e0
mov byte [rbx + 0x1f1c], bpl
mov dword [rbx + 0x1f20], ebp
mov qword [rbx + 0x1f24], 0xffffffffffffffff
mov qword [rbx + 0x1f80], rbp
mov qword [rbx + 0x1f88], rbp
mov dword [rbx + 0x1f90], ebp
mov dword [rbx + 0x1f94], 0xffffffff
mov dword [rbx + 0x1f98], ebp
movups xmmword [rbx + 0x1fb0], xmm0
mov qword [rbx + 0x1fc0], rbp
mov qword [rbx + 0x2010], rbp
mov dword [rbx + 0x2f20], ebp
mov qword [rbx + 0x2f24], 0xa900000
mov dword [rbx + 0x2f2c], ebp
mov dword [rbx + 0x2f38], 0x7f7fffff
mov dword [rbx + 0x2f34], 0x7f7fffff
mov dword [rbx + 0x2f30], 0x7f7fffff
mov byte [rbx + 0x2f4c], bpl
mov dword [rbx + 0x2f50], ebp
mov qword [rbx + 0x2f54], 0x3c23d70a
mov dword [rbx + 0x2f5c], ebp
mov dword [rbx + 0x2f88], 0x7f7fffff
mov dword [rbx + 0x2f8c], 0x7f7fffff
mov dword [rbx + 0x2f80], 0x7f7fffff
mov dword [rbx + 0x2f84], 0x7f7fffff
mov byte [rbx + 0x2f90], bpl
mov dword [rbx + 0x2f94], ebp
mov byte [rbx + 0x2fc8], bpl
mov dword [rbx + 0x2fcc], ebp
mov qword [rbx + 0x2fd0], rbp
mov dword [rbx + 0x2fe8], 0x7f7fffff
mov byte [rbx + 0x2fec], bpl
mov dword [rbx + 0x2ff0], ebp
mov dword [rbx + 0x2ff8], 2
mov dword [rbx + 0x2ff4], 2
mov byte [rbx + 0x2ffc], bpl
mov dword [rbx + 0x3000], ebp
call fcn.18002a690
mov qword [rbx + 0x31e4], rbp
lea rcx, [rbx + 0x31f8]
mov qword [rbx + 0x31f0], 0xffffffffffffffff
xor edx, edx
mov r8d, 0xc01
mov dword [rbx + 0x31ec], 0xffffffff
call fcn.18002a690
mov rbp, qword [rsp + 0x48]
mov rax, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret