Function at 0x1401c0210
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x400]
sub rsp, 0x500
mov rax, qword [0x1411d99d8]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
xor edi, edi
cmp dword [0x1411e9d78], edi
mov r13d, edi
mov dword [rsp + 0x4c], edi
jle 0x1401c068d
lea r12, [0x1411e9d8c]
mov ecx, dword [r12]
lea rdx, [rsp + 0x60]
xorps xmm0, xmm0
mov dword [rsp + 0x50], edi
xor eax, eax
movabs rbx, 0x20004d0044004c
movups xmmword [rbp - 0x6c], xmm0
mov qword [rbp - 0x1c], rax
movups xmmword [rbp - 0x5c], xmm0
lea r8d, [rax + 0xa]
mov dword [rbp - 0x14], eax
movups xmmword [rbp - 0x4c], xmm0
movups xmmword [rbp - 0x3c], xmm0
movups xmmword [rbp - 0x2c], xmm0
movups xmmword [rsp + 0x60], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
movups xmm0, xmmword [0x1403037b0]
mov eax, dword [0x1403037d0]
lea rcx, [rsp + 0x70]
movups xmm1, xmmword [0x1403037c0]
sub rcx, 2
mov dword [rbp - 0x70], eax
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rbp - 0x80], xmm1
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x1401c02d3
lea r8, [rsp + 0x60]
xor edx, edx
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1401c02f0
xor r9d, r9d
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
lea rcx, [rsp + 0x70]
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1401c0673
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rdi
mov r8d, 0x200
lea rdx, [rbp + 0x1f0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r14, rdi
nop word [rax + rax]
movzx eax, byte [rbp + r14 + 0x3b2]
cmp al, 0x42
je 0x1401c0375
cmp al, 0xee
jne 0x1401c05fb
mov r13d, 1
cmp al, 0xee
jne 0x1401c044b
xor edx, edx
mov qword [rsp + 0x58], rdi
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
mov r15d, r13d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], rdi
mov r8d, 0x200
lea rdx, [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [rbp + r14 + 0x1b6]
xor r9d, r9d
mov dword [rsp + 0x58], eax
xor r8d, r8d
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
shl rdx, 9
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], rdi
mov r8d, 0x200
lea rdx, [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rdx, qword [rbp + 0x38]
xor r9d, r9d
shl rdx, 9
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], rdi
mov r8d, 0x200
lea rdx, [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rax, rdi
cmp qword [rbp + rax + 0x28], rbx
je 0x1401c044e
sub rax, 0xffffffffffffff80
cmp rax, 0x200
jl 0x1401c0431
xor eax, eax
jmp 0x1401c0690
mov r15d, edi
mov eax, 0xec400
cmp r15d, r13d
mov edx, 0xc00
mov rcx, rsi
cmove edx, eax
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
lea r9, [rsp + 0x54]
mov qword [rsp + 0x20], rdi
mov r8d, 0x200
lea rdx, [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rbx, qword [rbp - 0x10]
movabs rax, 0x4441454856495250
cmp rbx, rax
je 0x1401c04f9
xor r9d, r9d
xor r8d, r8d
mov edx, 0x200
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
movabs rax, 0x4441454856495250
mov edi, 0x40001
cmp rbx, rax
je 0x1401c04f4
lea r9, [rsp + 0x54]
mov qword [rsp + 0x20], 0
mov r8d, 0x200
lea rdx, [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rbx, qword [rbp - 0x10]
movabs rax, 0x4441454856495250
sub rdi, r13
jne 0x1401c04c0
movzx eax, byte [rbp + 0x112]
xorps xmm0, xmm0
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x58], al
movzx eax, byte [rbp + 0x111]
mov byte [rsp + 0x59], al
movzx eax, byte [rbp + 0x110]
mov byte [rsp + 0x5a], al
movzx eax, byte [rbp + 0x10f]
mov byte [rsp + 0x5b], al
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x40]
movups xmmword [0x1411ec7d0], xmm0
mov qword [0x1411ec7d4], rax
movzx eax, byte [rbp + 0x122]
mov byte [rsp + 0x58], al
movzx eax, byte [rbp + 0x121]
mov byte [rsp + 0x59], al
movzx eax, byte [rbp + 0x120]
mov byte [rsp + 0x5a], al
movzx eax, byte [rbp + 0x11f]
mov byte [rsp + 0x5b], al
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x58], rdi
movups xmmword [0x1411ec7e0], xmm0
mov qword [0x1411ec7dc], rax
movzx eax, byte [rbp + 0x12a]
mov byte [rsp + 0x58], al
movzx eax, byte [rbp + 0x129]
mov byte [rsp + 0x59], al
movzx eax, byte [rbp + 0x128]
mov byte [rsp + 0x5a], al
movzx eax, byte [rbp + 0x127]
mov byte [rsp + 0x5b], al
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x40]
shl rax, 9
mov qword [0x1411ec7e4], rax
movabs rax, 0x4441454856495250
cmp rbx, rax
je 0x1401c0614
movabs rbx, 0x20004d0044004c
add r14, 0x10
lea rax, [r14 + 0x1be]
cmp rax, 0x1fe
jl 0x1401c0360
jmp 0x1401c0673
mov eax, dword [r12]
mov rdx, qword [0x1411ec748]
cmp rdx, qword [0x1411ec750]
mov dword [0x1411ec7d0], eax
mov dword [0x1411ec7ec], r15d
je 0x1401c0654
movups xmm0, xmmword [0x1411ec7d0]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1411ec7e0]
movups xmmword [rdx + 0x10], xmm1
add qword [0x1411ec748], 0x20
jmp 0x1401c0667
lea r8, [0x1411ec7d0]
lea rcx, [0x1411ec740]
call fcn.1401b32e0
mov rax, qword [0x1411ec7d4]
mov qword [r12 + 4], rax
mov esi, dword [rsp + 0x4c]
add r12, 0x14
inc esi
cmp esi, dword [0x1411e9d78]
mov dword [rsp + 0x4c], esi
jl 0x1401c0264
mov eax, r13d
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.1402b25d0
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret