Function at 0x1400633c0
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push r13
lea rbp, [rax - 0x8d8]
sub rsp, 0x9c8
mov qword [rax - 0x18], rbx
lea rcx, [0x14021b568]
mov qword [rax - 0x20], rsi
xor r9d, r9d
mov qword [rax - 0x28], rdi
mov edx, 0x80000000
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
xor r15d, r15d
mov qword [rsp + 0x30], r15
mov r14d, r15d
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
lea r8d, [r15 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x140063908
mov edi, 0x400000
lea rdx, [0x1401ae572]
mov ecx, edi
call fcn.14002ec60
test rax, rax
je 0x140063908
xor r9d, r9d
mov dword [rbp + 0x8e0], edi
lea r8, [rsp + 0x4c]
mov qword [rsp + 0x48], r15
xor edx, edx
mov rcx, r13
mov r14, rax
mov esi, edi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x48], eax
cmp eax, 0xffffffff
jne 0x140063487
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140063908
cmp qword [rsp + 0x48], 0xffffffffffffffff
je 0x140063908
mov ebx, r15d
test r14, r14
je 0x1400634e5
nop dword [rax + rax]
mov r8d, edi
mov edx, ebx
sub r8d, ebx
mov dword [rbp + 0x8e8], r15d
add rdx, r14
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x8e8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400634db
mov eax, dword [rbp + 0x8e8]
test eax, eax
je 0x1400634db
add ebx, eax
cmp ebx, edi
jb 0x1400634a0
mov eax, ebx
lock add qword [0x1401f4d70], rax
mov qword [rsp + 0x40], r15
mov r12, r15
test r14, r14
je 0x140063908
mov eax, 0xf8
cmp ebx, eax
jae 0x14006359f
cmp r13, 0xffffffffffffffff
je 0x140063913
xor r9d, r9d
mov qword [rsp + 0x50], r15
lea r8, [rsp + 0x54]
xor edx, edx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x50], eax
cmp eax, 0xffffffff
jne 0x14006353c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140063908
cmp qword [rsp + 0x50], 0xffffffffffffffff
je 0x140063908
mov ebx, r15d
test r14, r14
je 0x140063595
mov r8d, edi
mov edx, ebx
sub r8d, ebx
mov dword [rbp + 0x8f0], r15d
add rdx, r14
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x8f0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14006358b
mov eax, dword [rbp + 0x8f0]
test eax, eax
je 0x14006358b
add ebx, eax
cmp ebx, edi
jb 0x140063550
mov eax, ebx
lock add qword [0x1401f4d70], rax
mov qword [rsp + 0x40], r15
mov eax, 0xf8
cmp ebx, eax
mov r15d, ebx
cmova r15d, eax
test r15d, r15d
je 0x140063908
mov edi, r15d
test r14, r14
je 0x1400635d2
cmp rdi, rax
ja 0x1400635d2
mov r8d, edi
lea rcx, [0x14021b268]
mov rdx, r14
call fcn.14014dae0
jmp 0x14006360e
mov r8, rax
lea rcx, [0x14021b268]
xor edx, edx
call fcn.14014e180
test r14, r14
jne 0x1400635f5
call fcn.140040da4
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x140063609
cmp rdi, 0xf8
jbe 0x14006360e
call fcn.140040da4
mov dword [rax], 0x22
call fcn.140040c34
cmp r15d, 0xf8
jne 0x140063908
cmp dword [0x14021b268], 3
jne 0x1400638d5
mov edx, 9
lea rdi, [0x140000000]
xor ecx, ecx
nop word [rax + rax]
movzx eax, word [rcx + rdi + 0x1ba290]
cmp word [rcx + rdi + 0x21b26c], ax
jne 0x1400638d5
add rcx, 2
sub rdx, 1
jne 0x140063640
xor ecx, ecx
call fcn.140035e90
mov qword [rsp + 0x60], rax
mov edi, 0x8c8
test r14, r14
je 0x1400638ce
cmp r15d, ebx
ja 0x1400638ce
mov eax, ebx
sub eax, r15d
cmp eax, edi
jae 0x14006378f
cmp r13, 0xffffffffffffffff
je 0x1400638ce
add r15, r12
mov r12, r15
and r15d, 0xfff
sub r12, r15
mov qword [rsp + 0x40], r12
lea edi, [r15 + 0x400000]
cmp edi, esi
jbe 0x1400636e7
mov ecx, edi
lea rdx, [0x1401ae572]
call fcn.14002ec60
mov rsi, rax
test rax, rax
je 0x1400638ce
mov rcx, r14
call fcn.14002ec58
mov r14, rsi
mov dword [rbp + 0x8e0], edi
mov esi, edi
xor r9d, r9d
mov qword [rsp + 0x58], r12
lea r8, [rsp + 0x5c]
mov edx, r12d
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x58], eax
cmp eax, 0xffffffff
jne 0x140063717
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400638ce
cmp qword [rsp + 0x58], 0xffffffffffffffff
je 0x1400638ce
test r14, r14
je 0x14006377b
xor eax, eax
mov ebx, eax
nop dword [rax]
mov r8d, edi
mov edx, ebx
sub r8d, ebx
mov dword [rbp + 0x8f8], eax
add rdx, r14
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x8f8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14006376f
mov eax, dword [rbp + 0x8f8]
test eax, eax
je 0x14006376f
add ebx, eax
mov eax, 0
cmp ebx, edi
jb 0x140063730
mov eax, ebx
lock add qword [0x1401f4d70], rax
jmp 0x14006377d
xor ebx, ebx
cmp r15d, ebx
ja 0x1400638ce
cmp r15d, esi
ja 0x1400638ce
mov eax, 0x8c8
mov edi, ebx
sub edi, r15d
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x1400638ce
mov esi, r15d
mov r12d, edi
add rsi, r14
je 0x1400637c7
cmp r12, rax
ja 0x1400637c7
mov r8d, r12d
lea rcx, [rbp - 0x40]
mov rdx, rsi
call fcn.14014dae0
jmp 0x140063800
mov r8, rax
lea rcx, [rbp - 0x40]
xor edx, edx
call fcn.14014e180
test rsi, rsi
jne 0x1400637e7
call fcn.140040da4
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x1400637fb
cmp r12, 0x8c8
jbe 0x140063800
call fcn.140040da4
mov dword [rax], 0x22
call fcn.140040c34
add r15d, edi
cmp edi, 0x8c8
jne 0x1400638ce
cmp word [rbp - 0x40], 0
mov edi, 0x8c8
mov r12, qword [rsp + 0x40]
mov esi, dword [rbp + 0x8e0]
je 0x140063671
cmp byte [rbp + 0x40], 0
je 0x140063671
cmp byte [rbp + 0x80], 0
je 0x140063671
mov rax, qword [rbp + 0x880]
test rax, rax
je 0x140063671
cmp rax, qword [rsp + 0x60]
jle 0x140063671
mov edx, dword [0x14021bd00]
lea rcx, [0x14021bce8]
inc edx
call fcn.140002fe0
test al, al
je 0x140063671
mov eax, dword [0x14021bd08]
lea rsi, [rbp - 0x40]
mov edx, eax
imul eax, dword [0x14021bd00]
mov ecx, edx
shr rcx, 2
mov r8d, eax
add r8, qword [0x14021bcf8]
mov rdi, r8
rep movsd dword [rdi], dword [rsi]
mov ecx, edx
and ecx, 3
je 0x1400638b8
and rdx, 0xfffffffffffffffc
lea rsi, [rbp - 0x40]
add rsi, rdx
lea rdi, [rdx + r8]
rep movsb byte [rdi], byte [rsi]
inc dword [0x14021bd00]
mov r12, qword [rsp + 0x40]
mov esi, dword [rbp + 0x8e0]
jmp 0x14006366c
mov byte [0x14021bd10], 0
cmp r13, 0xffffffffffffffff
je 0x1400638e0
test r14, r14
je 0x1400638f0
test r14, r14
je 0x1400638f0
mov rcx, r14
call fcn.14002ec58
xor r14d, r14d
cmp r13, 0xffffffffffffffff
je 0x140063913
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r13, 0xffffffffffffffff
jmp 0x140063913
cmp r13, 0xffffffffffffffff
je 0x140063913
test r14, r14
je 0x140063920
test r14, r14
je 0x140063920
mov rcx, r14
call fcn.14002ec58
mov r15, qword [rsp + 0x998]
mov r14, qword [rsp + 0x9a0]
mov r12, qword [rsp + 0x9a8]
mov rdi, qword [rsp + 0x9b0]
mov rsi, qword [rsp + 0x9b8]
mov rbx, qword [rsp + 0x9c0]
cmp r13, 0xffffffffffffffff
je 0x14006395f
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rsp, 0x9c8
pop r13
pop rbp
ret