Function at 0x180069400
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x1802edb40]
xor rax, rsp
mov qword [rsp + 0x68], rax
movzx r12d, r8b
mov byte [rsp + 0x30], r12b
mov r14, rdx
mov rsi, rcx
cmp dword [rcx + 0xc], 1
jl 0x180069446
mov rcx, qword [rcx]
mov eax, dword [rdx + 0xc]
inc eax
mov dword [rcx + 0x1b8], eax
xor ebx, ebx
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 8]
mov r15d, ebx
cmp ecx, dword [0x1802fab60]
cmove r15, rax
test r15, r15
je 0x18006947a
mov rcx, qword [r15 + 0x20]
mov eax, dword [0x1802fabd0]
cmp dword [rcx + 8], eax
cmove rbx, rcx
mov rbp, rbx
mov rbx, r14
jmp 0x18006948a
mov rbp, rbx
cmp ecx, dword [0x1802fabd0]
cmove rbp, rax
mov r15, r14
mov rdi, 0xffffffffffffffff
test rbp, rbp
je 0x180069669
cmp dword [rsi + 8], 1
jl 0x180069669
lea rcx, [rsi + 0x90]
mov rdx, qword [rbp + 0x20]
call fcn.18005a5f0
test eax, eax
jne 0x180069669
mov rax, rdx
mov qword [rsp + 0x40], rdx
mov rdx, rdi
inc rdx
cmp byte [rax + rdx], 0
jne 0x1800694c7
mov qword [rsp + 0x48], rdx
lea rdx, [rsp + 0x40]
mov rcx, qword [rsi]
call fcn.18005cfb0
mov ebp, eax
mov rdx, qword [r15 + 0x28]
mov qword [rsp + 0x40], rdx
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x1800694f0
mov qword [rsp + 0x48], r8
lea rdx, [rsp + 0x40]
mov rcx, qword [rsi]
call fcn.18005cfb0
mov r15d, eax
test rbx, rbx
je 0x180069540
mov rdx, qword [rbx + 0x28]
mov qword [rsp + 0x40], rdx
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x180069520
mov qword [rsp + 0x48], r8
lea rdx, [rsp + 0x40]
mov rcx, qword [rsi]
call fcn.18005cfb0
mov ecx, eax
jmp 0x180069542
mov ecx, edi
test ebp, ebp
js 0x180069852
test r15d, r15d
js 0x180069852
test rbx, rbx
je 0x180069560
test ecx, ecx
js 0x180069852
cmp ebp, 0x400
jge 0x180069669
cmp r15d, 0x400
jge 0x180069669
cmp ecx, 0x400
jge 0x180069669
shl ebp, 0xa
or ebp, r15d
shl ebp, 0xa
mov eax, ebp
or eax, ecx
or eax, 0xc0000000
bts ebp, 0x1f
test rbx, rbx
cmovne ebp, eax
mov edx, ebp
mov rcx, qword [rsi]
call fcn.18005d110
cmp eax, 0x7fff
ja 0x180069669
mov rbx, qword [rsi]
movzx ecx, ax
shl ecx, 8
or ecx, r12d
shl ecx, 8
or ecx, 0xc
mov dword [rsp + 0x60], ecx
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x1800695df
mov dword [rdx], ecx
add qword [rbx + 0x30], 4
jmp 0x1800695ed
lea r8, [rsp + 0x60]
lea rcx, [rbx + 0x28]
call fcn.180048a00
lea rcx, [rbx + 0x40]
lea r8, [rbx + 0x1b8]
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x18006960e
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x180069613
call fcn.180048a00
mov rbx, qword [rsi]
mov dword [rsp + 0x60], ebp
lea rcx, [rbx + 0x28]
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x180069631
mov dword [rdx], ebp
add qword [rbx + 0x30], 4
jmp 0x18006963b
lea r8, [rsp + 0x60]
call fcn.180048a00
lea rcx, [rbx + 0x40]
lea r8, [rbx + 0x1b8]
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x18006965f
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x18006981c
call fcn.180048a00
jmp 0x18006981c
mov qword [rsp + 0x50], rsi
mov r13d, dword [rsi + 0x40c]
mov dword [rsp + 0x58], r13d
mov rbx, qword [r14 + 0x20]
mov rdx, rbx
mov rcx, rsi
call fcn.18006b4b0
mov r12d, eax
test eax, eax
jns 0x1800696ca
lea ecx, [r13 + 1]
cmp ecx, 0xff
ja 0x180069863
mov dword [rsi + 0x40c], ecx
mov eax, dword [rsi + 0x410]
cmp eax, ecx
cmovb eax, ecx
mov dword [rsi + 0x410], eax
movzx r8d, r13b
mov rdx, rbx
mov rcx, rsi
call fcn.18006a840
movzx r12d, r13b
cmp dword [rsi + 0xc], 1
jl 0x1800696df
mov rcx, qword [rsi]
mov eax, dword [r14 + 0x30]
inc eax
mov dword [rcx + 0x1b8], eax
mov rbx, qword [r14 + 0x28]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x1800696e3
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rdx, [rsp + 0x40]
mov rcx, qword [rsi]
call fcn.18005cfb0
mov r15d, eax
test eax, eax
js 0x180069841
mov rbp, qword [rsi]
mov rdx, rdi
test rdi, rdi
je 0x18006973e
lea r8, [rbx - 1]
add r8, rdx
mov ecx, edi
shl ecx, 5
mov eax, edi
shr eax, 2
add ecx, eax
movzx eax, byte [r8]
add ecx, eax
xor edi, ecx
lea r8, [r8 - 1]
sub rdx, 1
jne 0x180069720
movzx r12d, r12b
movzx ecx, dil
shl ecx, 8
or ecx, r12d
shl ecx, 8
movzx eax, byte [rsp + 0x30]
or ecx, eax
shl ecx, 8
or ecx, 0xf
mov dword [rsp + 0x60], ecx
mov rdx, qword [rbp + 0x30]
cmp rdx, qword [rbp + 0x38]
je 0x180069773
mov dword [rdx], ecx
add qword [rbp + 0x30], 4
jmp 0x180069781
lea r8, [rsp + 0x60]
lea rcx, [rbp + 0x28]
call fcn.180048a00
lea rcx, [rbp + 0x40]
lea r8, [rbp + 0x1b8]
mov rdx, qword [rbp + 0x48]
cmp rdx, qword [rbp + 0x50]
je 0x1800697a2
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbp + 0x48], 4
jmp 0x1800697a7
call fcn.180048a00
mov rbx, qword [rsi]
mov dword [rsp + 0x60], r15d
lea rcx, [rbx + 0x28]
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x1800697c7
mov dword [rdx], r15d
add qword [rbx + 0x30], 4
jmp 0x1800697d1
lea r8, [rsp + 0x60]
call fcn.180048a00
lea rcx, [rbx + 0x40]
lea r8, [rbx + 0x1b8]
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x1800697f2
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x1800697f7
call fcn.180048a00
mov dword [rsp + 0x20], 2
mov r9d, 4
mov r8d, r12d
mov rdx, qword [r14 + 0x20]
mov rcx, rsi
call fcn.18006f750
nop
mov dword [rsi + 0x40c], r13d
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1801cf080
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [r14 + 0xc]
lea rdx, str.Exceeded_constant_limit__simplify_the_code_to_compile
call fcn.180062650
nop
lea rcx, [r14 + 0xc]
lea rdx, str.Exceeded_constant_limit__simplify_the_code_to_compile
call fcn.180062650
nop
lea rcx, [rbx + 0xc]
mov r9d, 0xff
mov r8d, 1
lea rdx, str.Out_of_registers_when_trying_to_allocate__d_registers:_exceeded_limit__d
call fcn.180062650
int3