Function at 0x1800a68b8
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor r13d, r13d
mov esi, r8d
movsxd r15, ecx
mov rdi, rdx
test r8d, r8d
jne 0x1800a68e7
xor eax, eax
jmp 0x1800a6b99
test rdx, rdx
jne 0x1800a690c
call fcn.1800986bc
mov dword [rax], r13d
call fcn.1800986dc
mov dword [rax], 0x16
call fcn.180074844
or eax, 0xffffffff
jmp 0x1800a6b99
mov r14, r15
lea rax, [0x1800e8f90]
and r14d, 0x3f
mov r12, r15
sar r12, 6
shl r14, 6
mov qword [rbp - 8], r12
mov rcx, qword [rax + r12*8]
mov bl, byte [rcx + r14 + 0x39]
lea eax, [rbx - 1]
cmp al, 1
ja 0x1800a6941
mov eax, esi
not eax
test al, 1
je 0x1800a68ec
test byte [rcx + r14 + 0x38], 0x20
je 0x1800a6957
xor edx, edx
mov ecx, r15d
lea r8d, [rdx + 2]
call fcn.1800b08ec
xor eax, eax
mov dword [rbp - 0x20], r13d
mov ecx, r15d
mov qword [rbp - 0x1c], rax
call fcn.1800ac404
test eax, eax
je 0x1800a6a7d
lea rax, [0x1800e8f90]
mov rax, qword [rax + r12*8]
test byte [rax + r14 + 0x38], 0x80
je 0x1800a6a7d
call fcn.180098370
mov rcx, qword [rax + 0x90]
cmp qword [rcx + 0x138], r13
jne 0x1800a69b3
lea rax, [0x1800e8f90]
mov rax, qword [rax + r12*8]
cmp byte [rax + r14 + 0x39], r13b
je 0x1800a6a7d
lea rax, [0x1800e8f90]
mov rcx, qword [rax + r12*8]
lea rdx, [rbp - 0x10]
mov rcx, qword [rcx + r14 + 0x28]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
je 0x1800a6a7d
test bl, bl
je 0x1800a6a5f
dec bl
cmp bl, 1
ja 0x1800a6ab5
xor eax, eax
mov dword [rbp - 0x30], r13d
lea r15, [rdi + rsi]
mov qword [rbp - 0x2c], rax
mov ebx, dword [rbp - 0x28]
mov r12, rdi
cmp rdi, r15
jae 0x1800a6a56
mov esi, eax
movzx r13d, word [r12]
movzx ecx, r13w
call fcn.1800b09cc
cmp ax, r13w
jne 0x1800a6a4a
add esi, 2
mov dword [rbp - 0x2c], esi
cmp r13w, 0xa
jne 0x1800a6a3f
mov r13d, 0xd
mov ecx, r13d
call fcn.1800b09cc
cmp ax, r13w
jne 0x1800a6a4a
inc esi
mov dword [rbp - 0x2c], esi
inc ebx
add r12, 2
cmp r12, r15
jae 0x1800a6a53
jmp 0x1800a6a03
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
xor r13d, r13d
mov r12, qword [rbp - 8]
jmp 0x1800a6b16
mov r9d, esi
lea rcx, [rbp - 0x30]
mov r8, rdi
mov edx, r15d
call fcn.1800a60ec
movsd xmm0, qword [rax]
mov ebx, dword [rax + 8]
jmp 0x1800a6b1b
lea rax, [0x1800e8f90]
mov rcx, qword [rax + r12*8]
test byte [rcx + r14 + 0x38], 0x80
je 0x1800a6ae2
movsx ecx, bl
test bl, bl
je 0x1800a6ace
sub ecx, 1
je 0x1800a6aba
cmp ecx, 1
jne 0x1800a6ab5
mov r9d, esi
lea rcx, [rbp - 0x30]
mov r8, rdi
mov edx, r15d
call fcn.1800a653c
jmp 0x1800a6a71
mov ebx, dword [rbp - 0x18]
jmp 0x1800a6b20
mov r9d, esi
lea rcx, [rbp - 0x30]
mov r8, rdi
mov edx, r15d
call fcn.1800a6658
jmp 0x1800a6a71
mov r9d, esi
lea rcx, [rbp - 0x30]
mov r8, rdi
mov edx, r15d
call fcn.1800a6438
jmp 0x1800a6a71
mov rcx, qword [rcx + r14 + 0x28]
lea r9, [rbp - 0x2c]
xor eax, eax
mov dword [rbp - 0x30], r13d
mov r8d, esi
mov qword [rbp - 0x2c], rax
mov rdx, rdi
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800a6b13
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
mov ebx, dword [rbp - 0x28]
movsd xmm0, qword [rbp - 0x30]
movsd qword [rbp - 0x20], xmm0
mov rax, qword [rbp - 0x20]
shr rax, 0x20
test eax, eax
jne 0x1800a6b94
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x1800a6b60
cmp eax, 5
jne 0x1800a6b53
call fcn.1800986dc
mov dword [rax], 9
call fcn.1800986bc
mov dword [rax], 5
jmp 0x1800a6904
mov ecx, dword [rbp - 0x20]
call fcn.18009866c
jmp 0x1800a6904
lea rax, [0x1800e8f90]
mov rax, qword [rax + r12*8]
test byte [rax + r14 + 0x38], 0x40
je 0x1800a6b7c
cmp byte [rdi], 0x1a
je 0x1800a68e0
call fcn.1800986dc
mov dword [rax], 0x1c
call fcn.1800986bc
mov dword [rax], r13d
jmp 0x1800a6904
mov eax, dword [rbp - 0x1c]
sub eax, ebx
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret