Function at 0x14001fc90
Capabilities:
Get file size
Read file on windows
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov rax, qword [0x14006a0d0]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r14, r8
mov r15, rdx
mov rsi, rcx
xor r12d, r12d
mov ebx, r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r12 + 7]
call qword [0x14006a020]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x14001fd5a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
je 0x14001fd05
cmp eax, 2
jne 0x14001fd54
test ebx, ebx
jle 0x14001fd54
mov ecx, 0xc8
cmp ebx, ecx
cmovl ecx, ebx
call qword [sym.imp.KERNEL32.dll_Sleep]
sub ebx, 0xc8
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 7]
mov rcx, rsi
call qword [0x14006a020]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14001fcf5
jmp 0x14001fd5a
cmp rdi, 0xffffffffffffffff
je 0x14001fd94
test rdi, rdi
je 0x14001fd94
lea rdx, [rbp - 0x2d]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rbp - 0x31], eax
cmp eax, 0xffffffff
jne 0x14001fd7e
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14001fd8b
mov rbx, qword [rbp - 0x31]
cmp rbx, 0xa00000
jle 0x14001fd9b
mov rcx, rdi
call qword [0x14006a018]
xor al, al
jmp 0x140020033
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r12
mov qword [rbp + reloc.WS2_32.dll_ntohs], 0xf
mov byte [rbp - 9], r12b
test rbx, rbx
jne 0x14001fdc1
mov qword [rbp + 7], rbx
mov byte [rbp + rbx - 9], bl
jmp 0x14001fdf2
lea rcx, [rbp - 9]
cmp rbx, 0xf
ja 0x14001fde0
mov qword [rbp + 7], rbx
mov r8, rbx
xor edx, edx
call fcn.14002c2a0
mov byte [rbp + rbx - 9], 0
jmp 0x14001fdf2
lfence
mov rbx, qword [rbp - 0x31]
mov r9, rbx
mov rdx, rbx
call fcn.140003da0
lea rdx, [rbp - 9]
cmp qword [rbp + 0xf], 0x10
cmovae rdx, qword [rbp - 9]
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x39]
mov r8d, dword [rbp + 7]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
mov rsi, 0xffffffffffffffff
je 0x14001fe24
mov esi, dword [rbp - 0x39]
mov rcx, rdi
call qword [0x14006a018]
cmp rsi, rbx
je 0x14001fe39
xor bl, bl
jmp 0x14001fff9
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], r12
mov qword [rbp - 0x11], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x29], 0
mov rbx, qword [rbp + 7]
add rbx, 0x100
jne 0x14001fe67
mov qword [rbp - 0x19], rbx
mov byte [rbp + rbx - 0x29], bl
jmp 0x14001fe94
lea rcx, [rbp - 0x29]
cmp rbx, 0xf
ja 0x14001fe86
mov qword [rbp - 0x19], rbx
mov r8, rbx
xor edx, edx
call fcn.14002c2a0
mov byte [rbp + rbx - 0x29], 0
jmp 0x14001fe94
lfence
mov r9, rbx
mov rdx, rbx
call fcn.140003da0
mov eax, dword [rbp - 0x19]
mov dword [rbp - 0x39], eax
test r14, r14
je 0x14001fea2
mov qword [r14], rax
lea r8, [rbp - 9]
cmp qword [rbp + 0xf], 0x10
cmovae r8, qword [rbp - 9]
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rcx, qword [rbp - 0x29]
mov r9d, dword [rbp - 0x31]
lea rdx, [rbp - 0x39]
call fcn.140001db0
test eax, eax
jne 0x14001ffb0
mov edx, dword [rbp - 0x39]
lea rcx, [rbp - 0x29]
call fcn.140003d10
mov ebx, r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov edx, 0x40000000
lea r8d, [r9 + 7]
mov rcx, r15
call qword [0x14006a020]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x14001ff7a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
je 0x14001ff25
cmp eax, 2
jne 0x14001ff74
test ebx, ebx
jle 0x14001ff74
mov ecx, 0xc8
cmp ebx, ecx
cmovl ecx, ebx
call qword [sym.imp.KERNEL32.dll_Sleep]
sub ebx, 0xc8
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov edx, 0x40000000
lea r8d, [r9 + 7]
mov rcx, r15
call qword [0x14006a020]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14001ff15
jmp 0x14001ff7a
cmp rdi, 0xffffffffffffffff
je 0x14001ffb0
test rdi, rdi
je 0x14001ffb0
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rdx, qword [rbp - 0x29]
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x31]
mov r8d, dword [rbp - 0x19]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
call qword [0x14006a018]
mov bl, 1
jmp 0x14001ffb2
xor bl, bl
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14001ffe9
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ffe4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020057
call fcn.14002a1e8
mov qword [rbp - 0x19], r12
mov qword [rbp - 0x11], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x29], 0
mov rdx, qword [rbp + 0xf]
cmp rdx, 0x10
jb 0x140020030
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002002b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020051
call fcn.14002a1e8
movzx eax, bl
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140029f00
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140032848
nop
call fcn.140032848
nop
int3