Function at 0x140004190
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xc0
mov rax, qword [0x14001d008]
xor rax, rsp
mov qword [rbp - 0x19], rax
mov r15, r9
mov r13, r8
mov r14, rdx
mov rsi, rcx
test rcx, rcx
jne 0x1400041cc
lea eax, [rcx - 0x66]
jmp 0x140004488
mov edx, dword [rcx + 0x18]
add edx, dword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rsp + 0xb8], rbx
mov ebx, 0xffffffff
mov qword [rsp + 0xb0], rdi
cmp byte [rcx], 0
je 0x14000420a
cmp byte [rcx + 1], 0
je 0x14000421d
add edx, dword [rcx + 0x14]
xor r9d, r9d
mov rcx, qword [rcx + 8]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x14000420d
mov dword [rcx + 0x24], edx
mov rcx, qword [rsi]
lea rdx, [rbp - 0x21]
call fcn.140003a40
test eax, eax
je 0x140004221
mov edi, ebx
jmp 0x140004232
xor edi, edi
mov eax, 0xffffff99
cmp dword [rbp - 0x21], 0x2014b50
cmovne edi, eax
mov rcx, qword [rsi]
lea rdx, [rbp - 0x71]
call fcn.1400038c0
mov rcx, qword [rsi]
lea rdx, [rbp - 0x6d]
test eax, eax
cmovne edi, ebx
call fcn.1400038c0
mov rcx, qword [rsi]
lea rdx, [rbp - 0x69]
test eax, eax
cmovne edi, ebx
call fcn.1400038c0
mov rcx, qword [rsi]
lea rdx, [rbp - 0x65]
test eax, eax
cmovne edi, ebx
call fcn.1400038c0
mov rcx, qword [rsi]
lea rdx, [rbp - 0x61]
test eax, eax
cmovne edi, ebx
call fcn.140003a40
mov edx, dword [rbp - 0x61]
test eax, eax
mov ecx, edx
cmovne edi, ebx
shr ecx, 0x10
mov eax, ecx
and eax, 0x1f
mov dword [rbp - 0x2d], eax
mov eax, ecx
shr eax, 5
and eax, 0xf
shr ecx, 9
dec eax
add ecx, 0x7bc
mov dword [rbp - 0x29], eax
mov eax, edx
shr eax, 0xb
and eax, 0x1f
mov dword [rbp - 0x25], ecx
mov rcx, qword [rsi]
mov dword [rbp - 0x31], eax
mov eax, edx
and edx, 0x1f
shr eax, 5
add edx, edx
and eax, 0x3f
mov dword [rbp - 0x39], edx
lea rdx, [rbp - 0x5d]
mov dword [rbp - 0x35], eax
call fcn.140003a40
mov rcx, qword [rsi]
lea rdx, [rbp - 0x59]
test eax, eax
cmovne edi, ebx
call fcn.140003a40
mov rcx, qword [rsi]
lea rdx, [rbp - 0x55]
test eax, eax
cmovne edi, ebx
call fcn.140003a40
mov rcx, qword [rsi]
lea rdx, [rbp - 0x51]
test eax, eax
cmovne edi, ebx
call fcn.1400038c0
mov rcx, qword [rsi]
lea rdx, [rbp - 0x4d]
test eax, eax
cmovne edi, ebx
call fcn.1400038c0
mov rcx, qword [rsi]
lea rdx, [rbp - 0x49]
test eax, eax
cmovne edi, ebx
call fcn.1400038c0
test eax, eax
lea rdx, [rbp - 0x45]
cmovne edi, ebx
mov rcx, qword [rsi]
call fcn.1400038c0
mov rcx, qword [rsi]
lea rdx, [rbp - 0x41]
test eax, eax
cmovne edi, ebx
call fcn.1400038c0
mov rcx, qword [rsi]
lea rdx, [rbp - 0x3d]
test eax, eax
cmovne edi, ebx
call fcn.140003a40
mov rcx, qword [rsi]
lea rdx, [rsp + 0x30]
test eax, eax
cmovne edi, ebx
call fcn.140003a40
test eax, eax
je 0x14000437f
mov edi, ebx
jmp 0x140004476
test edi, edi
jne 0x140004476
test r15, r15
je 0x140004438
mov ecx, dword [rbp - 0x51]
mov edx, dword [rbp + 0x5f]
cmp ecx, edx
jae 0x1400043a3
mov byte [rcx + r15], dil
mov r10d, ecx
jmp 0x1400043a6
mov r10d, edx
test ecx, ecx
je 0x140004438
test edx, edx
je 0x140004438
mov rsi, qword [rsi]
mov qword [rsp + 0xa8], r12
mov r12d, r10d
cmp byte [rsi], 0
je 0x1400043f3
mov rcx, qword [rsi + 8]
lea r9, [rbp - 0x21]
mov r8d, r10d
mov qword [rsp + 0x20], 0
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1400043ee
mov byte [rsi + 0x10], 1
mov eax, dword [rbp - 0x21]
jmp 0x140004421
mov edx, dword [rsi + 0x24]
mov ecx, dword [rsi + 0x20]
sub ecx, edx
lea eax, [rdx + r10]
cmp eax, dword [rsi + 0x20]
cmovbe ecx, r10d
add rdx, qword [rsi + 0x18]
mov ebx, ecx
mov r8d, ecx
mov rcx, r15
call fcn.140007840
add dword [rsi + 0x24], ebx
mov eax, ebx
mov ebx, 0xffffffff
xor edx, edx
div r12
mov r12, qword [rsp + 0xa8]
cmp rax, 1
jne 0x140004378
test r14, r14
je 0x140004469
movaps xmm0, xmmword [rbp - 0x71]
movaps xmm1, xmmword [rbp - 0x61]
movups xmmword [r14], xmm0
movaps xmm0, xmmword [rbp - 0x51]
movups xmmword [r14 + 0x10], xmm1
movaps xmm1, xmmword [rbp - 0x41]
movups xmmword [r14 + 0x20], xmm0
movaps xmm0, xmmword [rbp - 0x31]
movups xmmword [r14 + 0x30], xmm1
movups xmmword [r14 + 0x40], xmm0
test r13, r13
je 0x140004476
mov ecx, dword [rsp + 0x30]
mov dword [r13], ecx
mov rbx, qword [rsp + 0xb8]
mov eax, edi
mov rdi, qword [rsp + 0xb0]
mov rcx, qword [rbp - 0x19]
xor rcx, rsp
call fcn.140005d90
add rsp, 0xc0
pop r15
pop r14
pop r13
pop rsi
pop rbp
ret