Function at 0x18008f270
Capabilities:
Encode data using xor
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x30
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x78], rdx
mov rax, qword [0x180335e10]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov r12, qword [0x18033b530]
cmp byte [r12 + 0x2f30], 0
je 0x18008f5c3
mov r14, rcx
mov edi, dword [0x18034231c]
mov edx, dword [0x180342318]
lea rsi, [rsp + 0x78]
nop dword [rax]
cmp edx, 0xa
jl 0x18008f2e0
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
jne 0x18008f30b
mov qword [rsp + 0x20], rsi
mov ebx, dword [0x18034231c]
mov edi, dword [0x180342318]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete dl
cmp edi, 9
setg bl
cmp bl, dl
je 0x18008f320
or bl, cl
je 0x18008f320
mov qword [rsp + 0x20], rsi
jmp 0x18008f2e0
cmp edi, 0xa
jl 0x18008f36b
test ecx, ecx
je 0x18008f36b
nop dword [rax]
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x20], rsi
mov edi, dword [0x18034231c]
mov edx, dword [0x180342318]
lea ebx, [rdi - 1]
imul ebx, edi
test bl, 1
sete bl
cmp edx, 0xa
setl al
cmp edx, 9
setg cl
xor cl, bl
and al, bl
cmp cl, al
jne 0x18008f330
jmp 0x18008f2d0
lea r15, [r12 + 0x2f40]
cmp qword [r12 + 0x2f38], 0
je 0x18008f540
lea r13, [0x18033b538]
nop dword [rax]
xor esi, esi
mov rcx, r15
xor edx, edx
call fcn.180067d70
mov r8, qword [rsp + 0x20]
mov rcx, r15
mov rdx, r14
call fcn.180067f90
mov rbx, qword [r12 + 0x2f38]
mov eax, dword [r12 + 0x2f40]
test eax, eax
je 0x18008f3c5
add eax, 0xffffffff
mov esi, eax
movsxd rsi, esi
mov rdi, qword [r12 + 0x2f48]
test rdi, rdi
cmove rdi, r13
cmp dword [0x180342b18], 0xa
jl 0x18008f400
mov eax, dword [0x180342b14]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18008f42d
nop word cs:[rax + rax]
nop dword [rax + rax]
mov edx, 1
mov rcx, rdi
mov r8, rsi
mov r9, rbx
call fcn.1800f22c8
cmp dword [0x180342b18], 0xa
jl 0x18008f450
mov eax, dword [0x180342b14]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18008f450
mov edx, 1
mov rcx, rdi
mov r8, rsi
mov r9, rbx
call fcn.1800f22c8
jmp 0x18008f400
mov eax, dword [0x18034231c]
mov ecx, dword [0x180342318]
cmp ecx, 0xa
jl 0x18008f58e
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18008f58e
xor esi, esi
mov rcx, r15
xor edx, edx
call fcn.180067d70
mov r8, qword [rsp + 0x20]
mov rcx, r15
mov rdx, r14
call fcn.180067f90
mov eax, dword [r12 + 0x2f40]
test eax, eax
je 0x18008f4a1
add eax, 0xffffffff
mov esi, eax
mov rbx, qword [r12 + 0x2f38]
movsxd rsi, esi
mov rdi, qword [r12 + 0x2f48]
test rdi, rdi
cmove rdi, r13
cmp dword [0x180342b18], 0xa
jl 0x18008f4e0
mov eax, dword [0x180342b14]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18008f517
nop word cs:[rax + rax]
nop
mov edx, 1
mov rcx, rdi
mov r8, rsi
mov r9, rbx
call fcn.1800f22c8
mov ecx, dword [0x180342b14]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp dword [0x180342b18], 0xa
jl 0x18008f390
test eax, eax
je 0x18008f390
mov edx, 1
mov rcx, rdi
mov r8, rsi
mov r9, rbx
call fcn.1800f22c8
jmp 0x18008f4e0
mov r8, qword [rsp + 0x20]
mov rcx, r15
mov rdx, r14
call fcn.180067f90
mov r8, qword [rsp + 0x20]
mov rcx, r15
mov rdx, r14
call fcn.180067f90
mov eax, dword [0x18034231c]
mov ecx, dword [0x180342318]
cmp ecx, 0xa
jl 0x18008f58e
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18008f530
jmp 0x18008f58e
mov eax, dword [0x18034231c]
mov ecx, dword [0x180342318]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x18008f58e
test edx, edx
jne 0x18008f570
cmp ecx, 0xa
jl 0x18008f59c
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov edx, dword [0x18034231c]
mov ecx, dword [0x180342318]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x18008f5ba
test eax, eax
jne 0x18008f59c
cmp ecx, 0xa
jl 0x18008f5c3
test eax, eax
jne 0x18008f570
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1800e8f50
nop
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret