Function at 0x1800d52d0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x1803d9938]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rsi, rcx
xor edi, edi
mov r8d, dword [rcx]
lea rdx, [rsp + 0x28]
mov rcx, qword [0x18041b098]
call fcn.18012dc10
mov ebx, dword [rsi]
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
movabs rdx, 0xe83d4f9ba2a38914
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rax, qword [0x1803cd030]
mov rcx, qword [rax]
movss xmm9, dword [rcx]
mov ebx, dword [rsi + 4]
movss xmm8, dword [rsp + 0x38]
movss xmm7, dword [rsp + 0x30]
movss xmm6, dword [rsp + 0x28]
mov rax, qword [section..data]
mov rcx, qword [rax + 0x230]
mov word [rcx], 0x9090
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 0x1a
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
movss dword [rax + rcx*8], xmm6
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
movss dword [rax + rcx*8], xmm7
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
movss dword [rax + rcx*8], xmm8
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
movss dword [rax + rcx*8], xmm9
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 1
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 1
inc dword [rdx + 8]
movabs rdx, 0xd49f9b0955c367de
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rcx, qword [0x1803cd030]
mov rax, qword [rcx]
mov r13d, dword [rax]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], r13d
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 1
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], edi
inc dword [rdx + 8]
movabs rdx, 0x1f4ed342acefe62d
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rax, qword [rsi + 8]
mov ebx, dword [rax]
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
movabs rbp, 0xd127585f77030af
mov rdx, rbp
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rcx, qword [0x1803cd030]
mov rax, qword [rcx]
mov edi, dword [rax]
mov ebx, dword [rsi]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], edi
inc dword [rdx + 8]
movabs rdx, 0x2a7819605465fbce
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rax, qword [rsi + 8]
mov ebx, dword [rax]
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
mov rdx, rbp
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rcx, qword [0x1803cd030]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], r13d
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
movabs rdx, 0x9f3480fe65db31b5
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rax, qword [rsi + 8]
mov ebx, dword [rax]
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
mov rdx, rbp
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rcx, qword [0x1803cd030]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], r13d
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
movabs rdx, 0x3dbfc55d5c9bb447
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], r13d
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 0x64
inc dword [rdx + 8]
movabs rdx, 0xc7622c0d36b2fda8
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rax, qword [rsi + 8]
movsxd rcx, dword [rax + 8]
lea rbx, [0x1803cd2c0]
mov ebx, dword [rbx + rcx*4]
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], r13d
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 0x270e
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 1
inc dword [rdx + 8]
movabs rdx, 0xb282dc6ebd803c75
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], r13d
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 1
inc dword [rdx + 8]
movabs rdx, 0xed7f7efe9fabf340
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rax, qword [rsi + 8]
mov ebx, dword [rax]
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov r8, qword [0x1803cd030]
mov ecx, dword [r8 + 8]
mov rax, qword [r8 + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [r8 + 8]
mov rdx, rbp
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rcx, qword [0x1803cd030]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 3
inc dword [rdx + 8]
movabs rdx, 0xce2f5fc3af7e8c1e
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], r13d
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], 0x1388
inc dword [rdx + 8]
movabs rdx, 0xf5f6378c4f3419d3
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rax, qword [rsi + 8]
cvttss2si ebx, dword [rax + 0x28]
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], r13d
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
movabs rdx, 0x7aefb85c1d49deb6
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rax, qword [rsi + 8]
movzx ebx, byte [rax + 0x2c]
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], r13d
inc dword [rdx + 8]
mov rdx, qword [0x1803cd030]
mov ecx, dword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov dword [rax + rcx*8], ebx
inc dword [rdx + 8]
movabs rdx, 0x3882114bde571ad4
mov rcx, qword [0x1803cd030]
call fcn.18025f4a0
mov rbp, qword [rsi + 8]
mov dword [rsp + 0x40], r13d
mov r12d, dword [rsi + 4]
mov rdi, qword [0x18041b2b8]
mov r14, qword [0x18041b2c0]
mov r15d, 0xf
cmp rdi, r14
je 0x1800d59d9
mov rbx, 0xffffffffffffffff
mov r9, qword [rdi]
xor r10d, r10d
mov r11, rbx
nop dword [rax]
inc r11
cmp byte [r9 + r11], r10b
jne 0x1800d5960
add r11, r9
mov rsi, r9
cmp r9, r11
je 0x1800d59b6
nop dword [rax]
nop dword [rax + rax]
movzx r8d, byte [r9]
lea edx, [r8 - 0x41]
movzx eax, r8b
or al, 0x20
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r10d
imul r10d, eax, 0x401
mov eax, r10d
shr eax, 6
xor r10d, eax
inc r9
cmp r9, r11
jne 0x1800d5980
lea eax, [r10 + r10*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
cmp eax, r12d
je 0x1800d5a41
add rdi, 8
cmp rdi, r14
jne 0x1800d5950
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x60], r15
mov rax, qword [str.Invalid]
mov dword [rsp + 0x48], eax
movzx eax, word [0x1802a0dc4]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x1802a0dc6]
mov byte [rsp + 0x4e], al
mov byte [rsp + 0x4f], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, qword [rbp + 0x20]
je 0x1800d5a75
mov dword [rdx], r13d
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rdx + 0x18], xmm1
mov byte [rsp + 0x48], 0
add qword [rbp + 0x18], 0x28
jmp 0x1800d5a88
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor edi, edi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
inc rbx
cmp byte [rsi + rbx], dil
jne 0x1800d5a55
mov r8, rbx
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1800bdea0
mov r13d, dword [rsp + 0x40]
jmp 0x1800d5a16
lea r8, [rsp + 0x40]
lea rcx, [rbp + 0x10]
call fcn.1800d4fa0
mov r15, qword [rsp + 0x60]
cmp r15, 0x10
jb 0x1800d5ac4
lea rdx, [r15 + 1]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d5abf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800d5abf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18026980c
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.180269d00
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
add rcx, 8
jmp 0x1800d52d0