Function at 0x14001a610
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rdi
push r12
push r14
push r15
sub rsp, 0x80
mov ebp, r8d
mov rdi, rdx
mov rbx, rcx
xor r14d, r14d
call fcn.140019a00
mov qword [rsp + 0x30], r14
mov r15d, 1
xor r9d, r9d
mov edx, 0x40000000
mov rcx, rdi
mov r8d, r15d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
mov r12, rax
je 0x14001a94c
mov edx, 0x7f02
xor ecx, ecx
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], r13
call qword [sym.imp.USER32.dll_LoadCursorA]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
cmp ebp, 4
mov qword [0x14002f270], rax
je 0x14001a6a5
cmp ebp, 5
jne 0x14001a6b7
mov rax, qword [rbx]
mov r8d, ebp
mov rdx, r12
mov rcx, rbx
call qword [rax + 0xa0]
cmp ebp, 6
jne 0x14001a6cd
mov rax, qword [rbx]
mov rdx, r12
mov rcx, rbx
call qword [rax + 0x48]
jmp 0x14001a7c4
cmp ebp, 8
jne 0x14001a6fc
lea r9, [rsp + 0x40]
lea r8d, [rbp - 5]
lea rdx, [0x1400280ac]
mov rcx, r12
mov dword [rbx + 0x1f0], r14d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14001a7c4
cmp ebp, 2
jne 0x14001a7a8
cmp dword [rbx + 0x24c], r14d
je 0x14001a7c4
cmp dword [rbx + 0x40], r14d
mov esi, r14d
jle 0x14001a786
mov r13, r14
nop
mov rax, qword [rbx + 0x48]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], r14
movsxd rcx, dword [rax + r13]
mov rax, qword [rbx + 0x240]
lea rdx, [rcx + rcx*2]
or rcx, 0xffffffffffffffff
mov rdx, qword [rax + rdx*8 + 0x10]
xor eax, eax
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea r9, [rsp + 0x44]
lea rdx, reloc.WS2_32.dll_htons
mov r8d, r15d
mov rcx, r12
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
add esi, r15d
add r13, 4
cmp esi, dword [rbx + 0x40]
jl 0x14001a720
lea r9, [rsp + 0x44]
lea rdx, [0x1400280d4]
mov r8d, 2
mov rcx, r12
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14001a7c4
cmp ebp, 7
jne 0x14001a7c4
cmp dword [rbx + 0x24c], r14d
je 0x14001a7c4
xor r8d, r8d
mov rdx, r12
mov rcx, rbx
call fcn.1400168e0
mov rcx, qword [rbx + 0x1f8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
call qword [sym.imp.USER32.dll_SendMessageA]
mov esi, r14d
test eax, eax
mov r13, rax
jle 0x14001a8c7
mov r14d, dword [rsp + 0xd0]
mov rcx, qword [rbx + 0x1f8]
xor eax, eax
lea r9, [rsp + 0x48]
xor r8d, r8d
mov edx, 0x1005
mov dword [rsp + 0x48], 4
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x4c], esi
mov dword [rsp + 0x50], eax
call qword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x14001a8b8
mov rax, qword [rbx]
mov rdi, qword [rsp + 0x70]
mov rcx, rbx
call qword [rax]
mov rcx, qword [rax]
mov eax, dword [rbx + 8]
imul eax, edi
movsxd rdi, eax
add rdi, rcx
cmp dword [rbx + 0x248], 0
je 0x14001a872
mov rcx, qword [rbx + 0x1f8]
movsxd r8, esi
mov edx, 0x102c
mov r9d, 0xf000
call qword [sym.imp.USER32.dll_SendMessageA]
shr eax, 0xc
sub eax, r15d
jmp 0x14001a896
mov rcx, qword [rbx + 0x1f8]
movsxd r8, esi
mov edx, 0x102c
mov r9d, 2
call qword [sym.imp.USER32.dll_SendMessageA]
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
test r14d, r14d
je 0x14001a89f
test eax, eax
je 0x14001a8b8
mov rax, qword [rbx]
mov r9d, ebp
mov r8, rdi
mov rdx, r12
mov rcx, rbx
call qword [rax + 0xf0]
test eax, eax
je 0x14001a906
add esi, r15d
cmp esi, r13d
jl 0x14001a7f2
xor r14d, r14d
cmp ebp, 4
mov r13, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xb0]
je 0x14001a8e1
cmp ebp, 5
jne 0x14001a8f3
mov rax, qword [rbx]
mov r8d, ebp
mov rdx, r12
mov rcx, rbx
call qword [rax + 0x98]
cmp ebp, 6
jne 0x14001a90e
mov rax, qword [rbx]
mov rdx, r12
mov rcx, rbx
call qword [rax + 0x50]
jmp 0x14001a931
xor r14d, r14d
mov r15d, r14d
jmp 0x14001a8c7
cmp ebp, 8
jne 0x14001a931
lea r9, [rsp + 0x44]
lea r8d, [rbp - 3]
lea rdx, str._r_n__r_n
mov rcx, r12
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x14002f270]
call qword [sym.imp.USER32.dll_SetCursor]
mov eax, r15d
jmp 0x14001a94f
mov eax, r14d
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret