Function at 0x180035a24
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov r14, r9
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x98], r8
mov rbx, rdx
mov r13, rcx
mov rsi, qword [rsp + 0x150]
mov qword [r11 - 0x48], rsi
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x90], rax
xor edx, edx
mov r8d, 0x1000
call fcn.180059db0
movabs r11, 0x706c646f70bfbbef
mov qword [r13], r11
mov dword [r13 + 8], 3
lea rcx, [r13 + 0xc]
mov r8d, 0x80
lea rdx, [0x1800a3710]
call qword [sym.imp.KERNEL32.dll_lstrcpynA]
lea rcx, [r13 + 0x8c]
mov r8d, 0x80
lea rdx, str._r_n_r_n_r_n
call qword [sym.imp.KERNEL32.dll_lstrcpynA]
lea rcx, [r13 + 0x10c]
mov r8d, 0x64
lea rdx, str._r_nN_A_r_n
call qword [sym.imp.KERNEL32.dll_lstrcpynA]
call fcn.1800340c8
mov dword [r13 + 0x184], eax
mov dword [rsp + 0x20], 6
lea r9, str.prehdr
mov r8d, 0x188
mov rdx, r13
lea rcx, [rsp + 0x38]
call fcn.18003a04c
cmp qword [rax + 0x20], 0x10
jb 0x180035b39
mov rax, qword [rax + 8]
jmp 0x180035b3d
add rax, 8
mov eax, dword [rax]
mov dword [r13 + 0x188], eax
cmp qword [rsp + 0x58], 0x10
jb 0x180035b58
mov rcx, qword [rsp + 0x40]
call fcn.180058b34
lea r15, [r13 + 0x190]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov rcx, qword [rbx + 0x20]
sub rcx, qword [rbx + 0x18]
movabs r8, 0x2aaaaaaaaaaaaaab
mov rax, r8
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x10], edx
xor r12d, r12d
mov rcx, qword [rbx + 0x20]
sub rcx, qword [rbx + 0x18]
mov rax, r8
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test edx, edx
jle 0x180035c44
lea rdi, [r15 + 0x14]
mov r15, r8
movsxd rbp, r12d
cmp rbp, rdx
jb 0x180035bcd
call fcn.180058f08
lea rcx, [rbp + rbp*2]
shl rcx, 4
add rcx, qword [rbx + 0x18]
lea rdx, [rsp + 0x38]
call fcn.18003ae18
cmp qword [rax + 0x20], 0x10
jb 0x180035bf1
mov rcx, qword [rax + 8]
jmp 0x180035bf5
lea rcx, [rax + 8]
mov rax, qword [rcx]
mov qword [rdi], rax
movzx eax, word [rcx + 8]
mov word [rdi + 8], ax
cmp qword [rsp + 0x58], 0x10
jb 0x180035c15
mov rcx, qword [rsp + 0x40]
call fcn.180058b34
inc r12d
add rdi, 0xa
mov rcx, qword [rbx + 0x20]
sub rcx, qword [rbx + 0x18]
mov rax, r15
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r12d, edx
jl 0x180035bc0
lea r15, [r13 + 0x190]
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.180037c0c
nop
xor r12d, r12d
mov byte [rsp + 0x30], r12b
mov rdi, qword [rsp + 0x58]
mov rax, rdi
mov rbx, qword [rsp + 0x50]
sub rax, rbx
cmp rax, 0x40
jae 0x180035cd4
mov rbp, rdi
cmp rbx, rdi
jbe 0x180035c87
call fcn.180058f08
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rbp
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x70], xmm0
sub rbx, rdi
lea r9, [rsp + 0x30]
lea r8, [rbx + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.180038310
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
jmp 0x180035dd4
cmp rax, 0x40
jbe 0x180035dd4
mov rbp, rdi
cmp rbx, rdi
jbe 0x180035cf5
call fcn.180058f08
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
cmp rbx, rdi
jbe 0x180035cff
call fcn.180058f08
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
mov r8d, 0x40
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x70]
call fcn.1800381a8
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x70], xmm0
mov rbx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x78]
cmp rbx, r12
ja 0x180035d49
mov rdi, qword [rsp + 0x58]
cmp r12, rdi
jbe 0x180035d58
call fcn.180058f08
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x38]
cmp rbx, rbp
ja 0x180035d67
cmp rbp, rdi
jbe 0x180035d76
call fcn.180058f08
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
test r14, r14
je 0x180035d82
cmp r14, qword [rsp + 0x38]
je 0x180035d91
call fcn.180058f08
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
cmp r12, rbp
je 0x180035dc9
sub rdi, rbp
mov rdx, rdi
add rdi, r12
test rdx, rdx
jle 0x180035db7
mov r9, rdx
mov r8, rbp
mov rcx, r12
call fcn.180058bd4
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rdi
mov r14, qword [rsp + 0x80]
xor r12d, r12d
jmp 0x180035dd4
mov r14, qword [rsp + 0x80]
xor r12d, r12d
mov rbp, rbx
cmp rbx, rdi
jbe 0x180035de6
call fcn.180058f08
mov rbx, qword [rsp + 0x50]
cmp qword [rsp + 0x38], r12
jne 0x180035dfc
call fcn.180058f08
mov r11, r12
mov rbx, qword [rsp + 0x50]
jmp 0x180035e04
mov rax, qword [rsp + 0x38]
mov r11, qword [rax]
cmp rbp, qword [r11 + 0x20]
jb 0x180035e14
call fcn.180058f08
mov rbx, qword [rsp + 0x50]
lea rcx, [r15 + 0x72c]
mov rdx, rbp
mov r8d, 0x40
call fcn.180059820
mov dword [r15 + 0x728], 0x63636573
cmp rbx, r12
je 0x180035e41
mov rcx, rbx
call fcn.180058b34
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov rcx, qword [rsp + 0x38]
call fcn.180058b34
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0xb8]
call fcn.18003411c
nop
mov ebp, 0x80
mov r8, rbp
xor edx, edx
lea rcx, [r15 + 0x294]
call fcn.180059db0
mov r8, qword [rsp + 0xd0]
lea eax, [rbp - 1]
cmp r8, rax
cmova r8, rax
lea rdx, [rsp + 0xc0]
lea edi, [rbp - 0x70]
cmp qword [rsp + 0xd8], rdi
cmovae rdx, qword [rsp + 0xc0]
lea rcx, [r15 + 0x294]
call fcn.180059820
mov r11, qword [rsp + 0x98]
mov qword [r15 + 0x318], r11
mov qword [r15 + 0x320], r14
lea rcx, [r15 + 0x328]
mov r8d, ebp
lea rdx, [0x1800a71f0]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
lea rcx, [r15 + 0x428]
mov r8d, ebp
lea rdx, [0x1800a72f0]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
lea rcx, [r15 + 0x528]
mov r8d, ebp
lea rdx, [0x1800a73f0]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
lea rcx, [r15 + 0x628]
lea r8d, [rbp - 0x6c]
lea rdx, [0x1800a74f0]
call qword [sym.imp.KERNEL32.dll_lstrcpynA]
cmp qword [rsi + 0x18], rdi
jae 0x180035f51
mov r8, rdi
lea rdx, [0x180084468]
mov rcx, rsi
call fcn.18001fa9c
cmp qword [rsi + 0x18], rdi
jb 0x180035f39
cmp qword [rsi + 0x20], rdi
jb 0x180035f60
lea rbx, [rsi + 8]
mov rax, qword [rbx]
jmp 0x180035f67
lea rbx, [rsi + 8]
mov rax, rbx
movdqu xmm0, xmmword [rax]
movdqu xmmword [r15 + 0x63c], xmm0
call fcn.1800340c8
mov dword [r13 + 0x18c], eax
mov edx, 0x190
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov ecx, eax
shr ecx, 0x10
xor byte [rdx + r13], cl
inc rdx
cmp rdx, 0x1000
jl 0x180035f85
cmp qword [rsp + 0xd8], rdi
jb 0x180035fbc
mov rcx, qword [rsp + 0xc0]
call fcn.180058b34
mov ebp, 0xf
mov qword [rsp + 0xd8], rbp
mov qword [rsp + 0xd0], r12
mov byte [rsp + 0xc0], r12b
cmp qword [rsi + 0x20], rdi
jb 0x180035fe7
mov rcx, qword [rbx]
call fcn.180058b34
mov qword [rsi + 0x20], rbp
mov qword [rsi + 0x18], r12
mov byte [rbx], r12b
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.180059760
mov rbx, qword [rsp + 0x140]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret