Function at 0x1400395a0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x140162010]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rsi, r8
mov qword [rsp + 0x40], r8
mov r13, rdx
mov qword [rsp + 0x48], r8
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xor ebx, ebx
mov qword [rbp + 0x40], rbx
movdqa xmm0, xmmword [0x140143550]
movdqa xmmword [rbp + 0x50], xmm0
mov word [rbp + 0x40], bx
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x60], rbx
movdqa xmm0, xmmword [0x140143550]
movdqa xmmword [rbp + 0x70], xmm0
mov word [rbp + 0x60], bx
mov qword [rbp + 0x80], 0xffffffffffffffff
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], rax
lea rdx, [rbp + 0x40]
call fcn.1400380a0
test al, al
je 0x140039cf4
mov eax, dword [rbp + 0x88]
bt eax, 0xb
jb 0x140039ce8
bt eax, 9
jb 0x140039ce8
mov qword [rsp + 0x50], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x60], rbx
movdqa xmm0, xmmword [0x140143550]
movdqa xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], bx
mov qword [rbp - 0x80], rbx
movdqa xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], bx
mov qword [rbp - 0x60], rbx
movdqa xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], bx
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x60]
call fcn.140038890
test al, al
je 0x140039750
test dword [rbp - 0x18], 0x8000
je 0x1400396e4
lea ecx, [rbx + 0x32]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140039750
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
mov qword [rbp + 0x18], rbx
lea r8, [rbp + 8]
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400391b0
test al, al
jne 0x1400397b1
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x140039750
mov rdx, qword [rbp + 0x18]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003973f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d66
call fcn.1400ada10
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rbx
lea rcx, [rbp - 0x60]
call fcn.14000b7d0
lea rcx, [rbp - 0x80]
call fcn.14000b7d0
lea rcx, [rsp + 0x60]
call fcn.14000b7d0
mov rcx, qword [rsp + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x14003977e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rbp + 0x80]
cmp rcx, 0xffffffffffffffff
je 0x140039791
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x60]
call fcn.14000b7d0
lea rcx, [rbp + 0x40]
call fcn.14000b7d0
nop
mov rcx, rsi
call fcn.140014a90
jmp 0x140039d3a
mov rcx, qword [rbp + 8]
mov r14, rcx
mov qword [rsp + 0x38], rcx
cmp dword [rcx], 0
jne 0x1400399fd
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
jne 0x1400399f9
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x28], xmm1
mov qword [rbp + 0x38], rbx
mov r9, r13
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140039380
test al, al
jne 0x1400398eb
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x140039844
mov rdx, qword [rbp + 0x38]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039833
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d72
call fcn.1400ada10
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], rbx
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x14003988a
mov rdx, qword [rbp + 0x18]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039879
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d78
call fcn.1400ada10
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rbx
lea rcx, [rbp - 0x60]
call fcn.14000b7d0
lea rcx, [rbp - 0x80]
call fcn.14000b7d0
lea rcx, [rsp + 0x60]
call fcn.14000b7d0
mov rcx, qword [rsp + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x1400398b8
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rbp + 0x80]
cmp rcx, 0xffffffffffffffff
je 0x1400398cb
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x60]
call fcn.14000b7d0
lea rcx, [rbp + 0x40]
call fcn.14000b7d0
nop
mov rcx, rsi
call fcn.140014a90
jmp 0x140039d3a
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x140039d6c
mov rax, qword [rcx]
lea rdx, [rbp + 0x28]
mov rax, qword [rax + 0x10]
call qword [case.0x140032886.0]
nop
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x140039950
mov rdx, qword [rbp + 0x38]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003993f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d72
call fcn.1400ada10
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], rbx
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x140039996
mov rdx, qword [rbp + 0x18]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039985
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d78
call fcn.1400ada10
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rbx
lea rcx, [rbp - 0x60]
call fcn.14000b7d0
lea rcx, [rbp - 0x80]
call fcn.14000b7d0
lea rcx, [rsp + 0x60]
call fcn.14000b7d0
mov rcx, qword [rsp + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x1400399c4
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rbp + 0x80]
cmp rcx, 0xffffffffffffffff
je 0x1400399d7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x60]
call fcn.14000b7d0
lea rcx, [rbp + 0x40]
call fcn.14000b7d0
nop
mov rcx, rsi
call fcn.140014a90
mov al, 1
jmp 0x140039d3c
mov rcx, qword [rbp + 8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov edi, dword [rbp - 0x2c]
mov r9, rbx
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rbx
mov qword [rbp], rbx
test rdi, rdi
je 0x140039a4a
lfence
mov ecx, edi
call fcn.14000e8a0
mov qword [rbp - 0x10], rax
lea rbx, [rax + rdi]
mov qword [rbp], rbx
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.1400d41f0
mov qword [rbp - 8], rbx
mov rcx, qword [rbp + 8]
mov r9, qword [rbp - 0x10]
mov rbx, qword [rbp + 0x90]
xor al, al
mov byte [rsp + 0x30], al
xor edi, edi
mov r12d, edi
mov r15d, edi
mov dword [rsp + 0x34], r15d
cmp dword [r14], edi
jbe 0x140039be3
nop dword [rax]
test al, al
jne 0x140039bda
mov r14d, edi
shl r15, 4
add r15, qword [rsp + 0x38]
cmp dword [r15 + 8], 0
jbe 0x140039bba
nop
mov rax, qword [r15 + 0x10]
cmp rax, 0xffffffffffffffff
je 0x140039bad
mov edx, r14d
add rdx, rax
mov eax, dword [rbp - 0x2c]
imul rdx, rax
add rdx, qword [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x140039cce
mov r8, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
sub r8, rcx
xor edx, edx
call fcn.1400d41f0
mov dword [rbp + 0x20], edi
mov r8, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
sub r8, rdx
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x20]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r9, qword [rbp - 0x10]
test eax, eax
je 0x140039cdd
mov r10, qword [rbp - 8]
mov rdx, r10
sub rdx, r9
mov eax, dword [rbp + 0x20]
cmp rdx, rax
jne 0x140039cdd
mov ecx, ebx
cmp dword [rbp - 0x2c], ebx
cmovb ecx, dword [rbp - 0x2c]
mov esi, ecx
cmp rsi, rdx
jae 0x140039b39
lea rax, [rcx + r9]
mov qword [rbp - 8], rax
jmp 0x140039b72
jbe 0x140039b72
mov rax, qword [rbp]
sub rax, r9
cmp rsi, rax
jbe 0x140039b58
lfence
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.14001f710
jmp 0x140039b72
mov r8, rsi
sub r8, rdx
lea rdi, [r10 + r8]
xor edx, edx
mov rcx, r10
call fcn.1400d41f0
mov qword [rbp - 8], rdi
xor edi, edi
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x140039d84
mov rax, qword [rcx]
lea rdx, [rbp - 0x10]
mov rax, qword [rax + 0x10]
call qword [case.0x140032886.0]
sub rbx, rsi
add r12, rsi
test r13, r13
je 0x140039ba9
cmp r12, r13
jae 0x140039cce
mov r9, qword [rbp - 0x10]
inc r14d
cmp r14d, dword [r15 + 8]
jb 0x140039a90
movzx eax, byte [rsp + 0x30]
mov r15d, dword [rsp + 0x34]
inc r15d
mov dword [rsp + 0x34], r15d
mov r14, qword [rsp + 0x38]
cmp r15d, dword [r14]
jb 0x140039a70
mov rcx, qword [rbp + 8]
mov rsi, qword [rsp + 0x40]
test r9, r9
je 0x140039c2c
mov rdx, qword [rbp]
sub rdx, r9
mov rax, r9
cmp rdx, 0x1000
jb 0x140039c14
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d7e
mov rcx, r9
call fcn.1400ada10
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x140039c6e
mov rdx, qword [rbp + 0x18]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039c5d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039d66
call fcn.1400ada10
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rdi
lea rcx, [rbp - 0x60]
call fcn.14000b7d0
lea rcx, [rbp - 0x80]
call fcn.14000b7d0
lea rcx, [rsp + 0x60]
call fcn.14000b7d0
mov rcx, qword [rsp + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x140039c9c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rbp + 0x80]
cmp rcx, 0xffffffffffffffff
je 0x140039caf
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x60]
call fcn.14000b7d0
lea rcx, [rbp + 0x40]
call fcn.14000b7d0
nop
mov rcx, rsi
call fcn.140014a90
mov al, 1
jmp 0x140039d3c
mov al, 1
mov byte [rsp + 0x30], al
mov r9, qword [rbp - 0x10]
jmp 0x140039bbf
mov al, 1
mov byte [rsp + 0x30], al
jmp 0x140039bbf
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
mov rcx, qword [rbp + 0x80]
cmp rcx, 0xffffffffffffffff
je 0x140039d07
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x60]
call fcn.14000b7d0
lea rcx, [rbp + 0x40]
call fcn.14000b7d0
nop
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x140039d3a
cmp rcx, rsi
mov rax, qword [rcx]
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x140032886.0]
mov qword [rsi + 0x38], rbx
xor al, al
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1400ad9f0
mov rbx, qword [rsp + 0x208]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400e39e0
nop
call fcn.1400af8f0
nop
call fcn.1400e39e0
nop
call fcn.1400e39e0
nop
call fcn.1400e39e0
nop
call fcn.1400af8f0
int3