Function at 0x18003c8f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rbx, rdx
mov rsi, rcx
mov rdx, qword [rdx + 8]
lea rdi, [rbp - 0x48]
mov rcx, rdi
call fcn.180037ed0
mov rdx, qword [rbx + 0x10]
inc rdx
lea rcx, [rbp - 0x28]
call fcn.180037ed0
mov rdx, qword [0x18005ff10]
cmp byte [0x180062247], 0
jne 0x18003ca96
movabs rax, 0x5fde676203916610
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde67620391662d
xor al, byte [rdx + rcx]
mov byte [0x18006223d], al
movabs rax, 0x5fde676203916611
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde67620391662e
xor al, byte [rdx + rcx]
mov byte [0x18006223e], al
movabs rax, 0x5fde676203916612
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde67620391662f
xor al, byte [rdx + rcx]
mov byte [0x18006223f], al
movabs rax, 0x5fde676203916613
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde676203916630
xor al, byte [rdx + rcx]
mov byte [0x180062240], al
movabs rax, 0x5fde676203916614
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde676203916631
xor al, byte [rdx + rcx]
mov byte [0x180062241], al
movabs rax, 0x5fde676203916615
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde676203916632
xor al, byte [rdx + rcx]
mov byte [0x180062242], al
movabs rax, 0x5fde676203916616
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde676203916633
xor al, byte [rdx + rcx]
mov byte [0x180062243], al
movabs rax, 0x5fde676203916617
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde676203916634
xor al, byte [rdx + rcx]
mov byte [0x180062244], al
movabs rax, 0x5fde676203916618
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde676203916635
xor al, byte [rdx + rcx]
mov byte [0x180062245], al
movabs rax, 0x5fde676203916619
movzx eax, byte [rdx + rax]
movabs rcx, 0x5fde676203916636
xor al, byte [rdx + rcx]
mov byte [0x180062246], al
mov byte [0x180062247], 1
cmp byte [0x18006223c], 0
jne 0x18003cbb0
movabs rax, 0x5fde6762039165d5
add rax, rdx
movabs rcx, 0x5fde6762039165ee
add rcx, rdx
xor edx, edx
lea r8, [0x180062232]
nop word cs:[rax + rax]
movzx r15d, byte [rcx + rdx]
mov r9d, r15d
not r9b
movzx r10d, byte [rax + rdx]
mov r14d, r15d
xor r14b, 6
and r14b, r9b
mov r9d, r15d
and r9b, 0xd9
mov ebx, r10d
or bl, 0xd9
mov r11d, ebx
not r11b
and r10b, 0xd9
and r15b, 0x20
or r15b, 0x11
and r14b, 0x26
xor r14b, r15b
lea r15d, [r9 + 0x20]
or r9b, 6
xor r9b, r15b
and r9b, r14b
xor r9b, r15b
and bl, 0xfa
mov r14d, r11d
and r14b, 4
or r14b, bl
mov ebx, r14d
xor bl, 5
mov r15d, r14d
xor r15b, 7
and r15b, bl
and r11b, 2
lea r12d, [r11 + 0x40]
and r11b, r15b
and r15b, 0x27
xor r12b, r15b
or r11b, r12b
xor r11b, r10b
xor r11b, 0x65
xor r14b, 0xfa
mov r15d, r14d
and r15b, 0x20
and bl, 0xe
or bl, r15b
or r14b, r10b
xor bl, r10b
xor bl, 0xf1
and bl, r14b
or bl, r11b
mov r10d, r9d
xor r10b, 0xe5
mov r11d, ebx
xor r11b, 0xe5
xor r9b, 0x1a
and r9b, r11b
xor bl, 0x1a
and bl, r10b
or bl, r9b
mov byte [rdx + r8], bl
inc rdx
cmp rdx, 0xa
jne 0x18003cad0
mov byte [0x18006223c], 1
movabs r9, 0x5fde676203912de8
mov rdx, qword [0x18005ff18]
add rdx, r9
add r9, qword [0x18005ff20]
mov qword [rsp + 0x20], rdi
lea r8, [rbp - 0x28]
mov rcx, rsi
call fcn.18003cf70
mov rax, qword [rbp - 0x10]
cmp rax, 0x10
jb 0x18003cc17
mov rcx, qword [rbp - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18003cc12
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18003cc64
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
jb 0x18003cc52
mov rcx, qword [rbp - 0x48]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18003cc4d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18003cc64
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3