Function at 0x180029da0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
mov rbx, rdx
mov rsi, rcx
mov rdx, qword [rdx + 8]
lea rdi, [rbp - 0x40]
mov rcx, rdi
call fcn.1800257c0
mov rdx, qword [rbx + 0x10]
inc rdx
lea rcx, [rbp - 0x20]
call fcn.1800257c0
mov rax, qword [0x180044c90]
cmp byte [0x18004699b], 0
jne 0x180029efb
movabs rcx, 0x8b8c7d5e7989cf63
add rcx, rax
movabs rdx, 0x8b8c7d5e7989cf80
add rdx, rax
xor r8d, r8d
lea r9, [0x180046991]
nop dword [rax + rax]
movzx r12d, byte [rdx + r8]
mov r11d, r12d
not r11b
movzx r10d, byte [rcx + r8]
mov r14d, r12d
xor r14b, 0x82
and r14b, r11b
or r11b, 0xc3
mov ebx, r10d
xor bl, 0x20
and bl, r10b
mov r15d, ebx
not r15b
and r12b, 0x41
and r14b, 0xc3
xor r14b, r12b
mov r12d, r11d
and r12b, 0x59
or r12b, 6
and r11b, 0xa6
xor r11b, r12b
mov r12d, r11d
and r12b, 0xc9
xor r12b, r14b
and r11b, 0x34
or r11b, r12b
mov r14d, r10d
and r14b, 0xc3
mov r13d, r14d
xor r13b, 0xa2
mov edi, r10d
and dil, 0x20
mov r12d, r10d
or r12b, r15b
or r15b, 0x40
and r15b, 0x70
and bl, 0xc
or bl, r15b
or dil, 0x11
xor dil, bl
not r12b
and r12b, 0x20
or r12b, dil
xor r14b, 0x5d
and r14b, dil
not r12b
and r12b, r13b
mov ebx, r10d
xor bl, 0x3c
xor r10b, 0xc3
or r10b, bl
not r10b
or r10b, r14b
or r10b, r12b
xor r10b, r11b
xor r10b, 0xb8
mov byte [r8 + r9], r10b
inc r8
cmp r8, 0xa
jne 0x180029e20
mov byte [0x18004699b], 1
lea rdi, [rbp - 0x40]
cmp byte [0x180046990], 0
jne 0x18002a23b
movabs rcx, 0x8b8c7d5e7989cf3a
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf26
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
mov r9d, ecx
not r9b
or r9b, dl
and r8b, 0x4c
or r8b, 0x20
and r9b, 0x4c
or r9b, 2
xor dl, cl
and dl, 0xb3
xor dl, r9b
xor dl, r8b
xor dl, 0x22
mov byte [0x180046986], dl
movabs rcx, 0x8b8c7d5e7989cf3b
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf27
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
mov r9d, ecx
not r9b
or r9b, dl
and r8b, 0x4c
or r8b, 0x20
and r9b, 0x4c
or r9b, 2
xor dl, cl
and dl, 0xb3
xor dl, r9b
xor dl, r8b
xor dl, 0x22
mov byte [0x180046987], dl
movabs rcx, 0x8b8c7d5e7989cf3c
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf28
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
mov r9d, ecx
not r9b
or r9b, dl
and r8b, 0x4c
or r8b, 0x20
and r9b, 0x4c
or r9b, 2
xor dl, cl
and dl, 0xb3
xor dl, r9b
xor dl, r8b
xor dl, 0x22
mov byte [0x180046988], dl
movabs rcx, 0x8b8c7d5e7989cf3d
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf29
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
mov r9d, ecx
not r9b
or r9b, dl
and r8b, 0x4c
or r8b, 0x20
and r9b, 0x4c
or r9b, 2
xor dl, cl
and dl, 0xb3
xor dl, r9b
xor dl, r8b
xor dl, 0x22
mov byte [0x180046989], dl
movabs rcx, 0x8b8c7d5e7989cf3e
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf2a
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
mov r9d, ecx
not r9b
or r9b, dl
and r8b, 0x4c
or r8b, 0x20
and r9b, 0x4c
or r9b, 2
xor dl, cl
and dl, 0xb3
xor dl, r9b
xor dl, r8b
xor dl, 0x22
mov byte [0x18004698a], dl
movabs rcx, 0x8b8c7d5e7989cf3f
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf2b
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
mov r9d, ecx
not r9b
or r9b, dl
and r8b, 0x4c
or r8b, 0x20
and r9b, 0x4c
or r9b, 2
xor dl, cl
and dl, 0xb3
xor dl, r9b
xor dl, r8b
xor dl, 0x22
mov byte [0x18004698b], dl
movabs rcx, 0x8b8c7d5e7989cf40
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf2c
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
mov r9d, ecx
not r9b
or r9b, dl
and r8b, 0x4c
or r8b, 0x20
and r9b, 0x4c
or r9b, 2
xor dl, cl
and dl, 0xb3
xor dl, r9b
xor dl, r8b
xor dl, 0x22
mov byte [0x18004698c], dl
movabs rcx, 0x8b8c7d5e7989cf41
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf2d
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
mov r9d, ecx
not r9b
or r9b, dl
and r8b, 0x4c
or r8b, 0x20
and r9b, 0x4c
or r9b, 2
xor dl, cl
and dl, 0xb3
xor dl, r9b
xor dl, r8b
xor dl, 0x22
mov byte [0x18004698d], dl
movabs rcx, 0x8b8c7d5e7989cf42
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf2e
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
mov r9d, ecx
not r9b
or r9b, dl
and r8b, 0x4c
or r8b, 0x20
and r9b, 0x4c
or r9b, 2
xor dl, cl
and dl, 0xb3
xor dl, r9b
xor dl, r8b
xor dl, 0x22
mov byte [0x18004698e], dl
movabs rcx, 0x8b8c7d5e7989cf43
movzx ecx, byte [rax + rcx]
movabs rdx, 0x8b8c7d5e7989cf2f
movzx eax, byte [rax + rdx]
mov edx, eax
not dl
or dl, cl
mov r8d, ecx
not r8b
or r8b, al
and dl, 0x4c
or dl, 0x20
and r8b, 0x4c
or r8b, 2
xor al, cl
and al, 0xb3
xor al, r8b
xor al, dl
xor al, 0x22
mov byte [0x18004698f], al
mov byte [0x180046990], 1
movabs r9, 0x8b8c7d5e7989a529
mov rdx, qword [0x180044c98]
add rdx, r9
add r9, qword [0x180044ca0]
mov qword [rsp + 0x20], rdi
lea r8, [rbp - 0x20]
mov rcx, rsi
call fcn.18002a620
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x18002a2a2
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002a29d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002a2f1
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x18002a2dd
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002a2d8
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18002a2f1
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov rax, rsi
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
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