Function at 0x140012d58
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x278]
sub rsp, 0x378
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x260], rax
xor ebx, ebx
mov dword [rsp + 0x30], r9d
mov edi, r9d
mov r15, r8
mov r14, rdx
cmp byte [rcx + 8], bl
je 0x140012e42
cmp r9d, 0x4000
jae 0x140012e42
shl edi, 8
lea eax, [rdi + 0x100]
cmp eax, dword [rcx + 0xc]
jbe 0x140012e63
movdqa xmm1, xmmword [0x1400471d0]
movdqa xmm0, xmmword [0x140046ea0]
movdqa xmmword [rsp + 0x50], xmm1
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm0, xmmword [0x140046a30]
movdqa xmmword [rsp + 0x70], xmm1
mov qword [rbp + 0x40], 0x2b
movdqa xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x30]
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x30], xmm1
lea rcx, [rsp + 0x40]
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmmword [rbp + 0x10], xmm1
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp - 0x30], xmm1
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmmword [rbp - 0x70], xmm1
call fcn.1400111e4
xor al, al
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.140019540
add rsp, 0x378
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rsi, qword [rcx]
xor r9d, r9d
mov rcx, rsi
xor r8d, r8d
mov edx, edi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x140012ebe
movdqa xmm1, xmmword [0x1400470a0]
movdqa xmm0, xmmword [0x140046ea0]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm1, xmmword [0x1400463e0]
movdqa xmmword [rsp + 0x70], xmm1
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm0, xmmword [0x140047270]
mov qword [rbp + 0x40], 0x33
jmp 0x140012dee
lea r9, [rsp + 0x38]
mov dword [rsp + 0x38], ebx
mov r8d, 0x100
mov qword [rsp + 0x20], rbx
lea rdx, [rbp + 0x160]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140012f09
cmp dword [rsp + 0x38], 0x100
jne 0x140012f09
mov r8, r14
lea rcx, [rbp + 0x160]
mov rdx, r15
call fcn.140013588
mov bl, 1
jmp 0x14001302d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movdqa xmm0, xmmword [str.U___a]
lea r9, [rsp + 0x3c]
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x40]
movdqa xmmword [rbp - 0x80], xmm0
lea rdx, [rsp + 0x30]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rbp + 0x50]
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmm0, xmmword [0x140046ea0]
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmmword [rbp - 0x70], xmm1
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmmword [rbp - 0x30], xmm1
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp + 0x10], xmm1
movdqa xmmword [rbp + 0x30], xmm1
movdqa xmm1, xmmword [str.998_]
movdqa xmmword [rbp + 0x50], xmm0
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x60], xmm1
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x70], xmm0
movdqa xmmword [rbp + 0x90], xmm0
movdqa xmmword [rbp + 0xb0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmmword [rbp + 0xf0], xmm0
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmmword [rbp + 0x130], xmm0
mov dword [rsp + 0x3c], eax
mov qword [rbp + 0x40], 0xd
movdqa xmmword [rbp + 0x80], xmm1
movdqa xmmword [rbp + 0xa0], xmm1
movdqa xmmword [rbp + 0xc0], xmm1
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0x100], xmm1
movdqa xmmword [rbp + 0x120], xmm1
movdqa xmmword [rbp + 0x140], xmm1
mov qword [rbp + 0x150], 0x16
call fcn.140013054
xor eax, eax
lea rdi, [rbp + 0x160]
mov ecx, 0x100
rep stosb byte [rdi], al
mov al, bl
jmp 0x140012e44