Function at 0x14008de80
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov esi, r8d
mov r15, rdx
mov rbx, rcx
xor edi, edi
call fcn.14008d4a0
cmp word [r15], di
lea r14d, [rdi + 1]
je 0x14008ded4
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov r8d, r14d
mov edx, 0x40000000
mov rcx, r15
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
jmp 0x14008dee2
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rbp, rax
cmp rbp, 0xffffffffffffffff
je 0x14008e10d
cmp esi, 4
je 0x14008df1b
lea r9, [rsp + 0x88]
lea rdx, [0x1400a9b88]
mov r8d, 2
mov rcx, rbp
mov dword [rsp + 0x88], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, 0x7f02
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
cmp esi, 5
mov qword [0x1400c16d0], rax
je 0x14008df42
cmp esi, 6
jne 0x14008df54
mov rax, qword [rbx]
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0xb0]
cmp esi, 7
mov qword [rsp + 0x80], r12
jne 0x14008df72
mov rax, qword [rbx]
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x50]
jmp 0x14008e057
cmp esi, 2
jne 0x14008e03c
cmp dword [rbx + 0x3b4], edi
je 0x14008e057
cmp dword [rbx + 0x44], edi
mov r12d, edi
jle 0x14008e017
mov qword [rsp + 0x90], r13
mov r13, rdi
nop
mov rax, qword [rbx + 0x48]
lea r9, [rsp + 0x88]
movsxd rcx, dword [rax + r13]
mov rax, qword [rbx + 0x3a8]
lea rdx, [rcx + rcx*2]
or rcx, 0xffffffffffffffff
mov rdx, qword [rax + rdx*8 + 0x10]
xor eax, eax
mov rdi, rdx
repne scasw ax, word [rdi]
xor edi, edi
not rcx
mov qword [rsp + 0x20], rdi
lea r8d, [rcx + rcx - 2]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea r9, [rsp + 0x40]
lea r8d, [rdi + 2]
lea rdx, [0x1400a8fb8]
mov rcx, rbp
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
add r12d, r14d
add r13, 4
cmp r12d, dword [rbx + 0x44]
jl 0x14008dfa0
mov r13, qword [rsp + 0x90]
lea r9, [rsp + 0x88]
lea rdx, [0x1400a8fb0]
mov r8d, 4
mov rcx, rbp
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14008e057
cmp esi, 4
jne 0x14008e057
cmp dword [rbx + 0x3b4], edi
je 0x14008e057
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.14008cc00
cmp dword [rbx + 0x50], 0
jle 0x14008e0b6
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov rcx, qword [rax]
mov eax, edi
imul eax, dword [rbx + 8]
movsxd r12, eax
mov rax, qword [rbx]
add r12, rcx
mov rcx, rbx
mov rdx, r12
call qword [rax + 0x60]
test eax, eax
je 0x14008e0a0
mov rax, qword [rbx]
mov r9d, esi
mov r8, r12
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x100]
test eax, eax
je 0x14008e0aa
add edi, r14d
cmp edi, dword [rbx + 0x50]
jl 0x14008e060
jmp 0x14008e0b6
xor edx, edx
xor ecx, ecx
xor r14d, r14d
call fcn.140094af0
cmp esi, 5
mov r12, qword [rsp + 0x80]
je 0x14008e0c8
cmp esi, 6
jne 0x14008e0da
mov rax, qword [rbx]
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0xa8]
cmp esi, 7
jne 0x14008e0eb
mov rax, qword [rbx]
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x58]
cmp word [r15], 0
je 0x14008e0fb
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x1400c16d0]
call qword [sym.imp.USER32.dll_SetCursor]
mov eax, r14d
jmp 0x14008e118
xor edx, edx
xor ecx, ecx
call fcn.140094af0
mov eax, edi
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret