Function at 0x140009920
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
mov r15d, r8d
mov rsi, rdx
movsxd r12, ecx
test r8d, r8d
je 0x140009be3
test rdx, rdx
jne 0x14000996e
call fcn.140004d14
and dword [rax], 0
call fcn.140004d34
mov dword [rax], 0x16
call fcn.140004ac8
or eax, 0xffffffff
jmp 0x140009be5
mov rdi, r12
lea rax, [0x140015560]
and edi, 0x3f
mov r13, r12
sar r13, 6
shl rdi, 6
mov rcx, qword [rax + r13*8]
mov r14b, byte [rdi + rcx + 0x39]
lea eax, [r14 - 1]
cmp al, 1
ja 0x1400099a0
mov eax, r15d
not eax
test al, 1
je 0x14000994e
test byte [rdi + rcx + 0x38], 0x20
je 0x1400099b5
xor edx, edx
mov ecx, r12d
lea r8d, [rdx + 2]
call fcn.140009f50
xor ebx, ebx
mov ecx, r12d
mov qword [rbp - 0x20], rbx
call fcn.140009cf4
test eax, eax
je 0x140009ad3
lea rax, [0x140015560]
mov rax, qword [rax + r13*8]
cmp byte [rdi + rax + 0x38], bl
jge 0x140009ad3
call fcn.140004600
mov rcx, qword [rax + 0x90]
cmp qword [rcx + 0x138], rbx
jne 0x140009a0a
lea rax, [0x140015560]
mov rax, qword [rax + r13*8]
cmp byte [rdi + rax + 0x39], bl
je 0x140009ad3
lea rax, [0x140015560]
mov rcx, qword [rax + r13*8]
lea rdx, [rbp - 0x10]
mov rcx, qword [rdi + rcx + 0x28]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
je 0x140009ad3
test r14b, r14b
je 0x140009ab5
dec r14b
cmp r14b, 1
ja 0x140009b70
xor r14d, r14d
lea r12, [rsi + r15]
mov qword [rbp - 0x30], r14
mov r15, rsi
cmp rsi, r12
jae 0x140009aad
mov ebx, dword [rbp - 0x2c]
movzx eax, word [r15]
movzx ecx, ax
mov word [rbp - 0x10], ax
call fcn.140009f58
movzx ecx, word [rbp - 0x10]
cmp ax, cx
jne 0x140009aa4
add ebx, 2
mov dword [rbp - 0x2c], ebx
cmp cx, 0xa
jne 0x140009a99
mov ecx, 0xd
call fcn.140009f58
mov ecx, 0xd
cmp ax, cx
jne 0x140009aa4
inc ebx
mov dword [rbp - 0x2c], ebx
inc r14d
add r15, 2
cmp r15, r12
jae 0x140009aad
jmp 0x140009a58
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
mov ebx, r14d
jmp 0x140009b66
mov r9d, r15d
lea rcx, [rbp - 0x30]
mov r8, rsi
mov edx, r12d
call fcn.1400092a0
movsd xmm0, qword [rax]
mov ebx, dword [rax + 8]
jmp 0x140009b6b
lea rax, [0x140015560]
mov rcx, qword [rax + r13*8]
cmp byte [rdi + rcx + 0x38], bl
jge 0x140009b33
movsx ecx, r14b
test r14b, r14b
je 0x140009b1f
sub ecx, 1
je 0x140009b0b
cmp ecx, 1
jne 0x140009b70
mov r9d, r15d
lea rcx, [rbp - 0x30]
mov r8, rsi
mov edx, r12d
call fcn.1400095a8
jmp 0x140009ac7
mov r9d, r15d
lea rcx, [rbp - 0x30]
mov r8, rsi
mov edx, r12d
call fcn.1400096c4
jmp 0x140009ac7
mov r9d, r15d
lea rcx, [rbp - 0x30]
mov r8, rsi
mov edx, r12d
call fcn.1400094a4
jmp 0x140009ac7
mov rcx, qword [rdi + rcx + 0x28]
lea r9, [rbp - 0x2c]
xor eax, eax
mov r8d, r15d
and qword [rsp + 0x20], rax
mov rdx, rsi
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], eax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x140009b63
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 0x140009bdc
mov ecx, dword [rbp - 0x20]
test ecx, ecx
je 0x140009bad
cmp ecx, 5
jne 0x140009ba3
call fcn.140004d34
mov dword [rax], 9
call fcn.140004d14
mov dword [rax], 5
jmp 0x140009966
call fcn.140004cc4
jmp 0x140009966
lea rax, [0x140015560]
mov rax, qword [rax + r13*8]
test byte [rdi + rax + 0x38], 0x40
je 0x140009bc4
cmp byte [rsi], 0x1a
je 0x140009be3
call fcn.140004d34
mov dword [rax], 0x1c
call fcn.140004d14
and dword [rax], 0
jmp 0x140009966
mov eax, dword [rbp - 0x1c]
sub eax, ebx
jmp 0x140009be5
xor eax, eax
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret