Function at 0x1400032b0
Capabilities:
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2c0]
sub rsp, 0x3c0
mov rax, qword [0x14003c010]
xor rax, rsp
mov qword [rbp + 0x2b0], rax
mov r13, rcx
xor r14d, r14d
mov dword [rsp + 0x40], r14d
mov r8d, 0x104
lea rdx, [rbp + 0x1a0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
nop dword [rax + rax]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
lea rcx, [rbp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140003310
test rax, rax
je 0x140003901
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
call fcn.140003010
movsxd rsi, eax
lea rdx, [rbp + 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140003901
mov ebx, dword [rbp + 0x80]
sub rbx, rsi
mov rcx, rbx
call fcn.14000f1dc
mov r12, rax
mov dword [rbp - 8], r14d
xor r9d, r9d
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], r14
lea r9, [rbp - 8]
mov r8d, ebx
mov rdx, r12
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400038f0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0xa0]
call fcn.14000af20
mov edx, 3
lea r8d, [rdx - 2]
lea rcx, [rbp + 0xa0]
call fcn.140005090
nop
mov r8d, dword [rbp - 8]
mov rdx, r12
lea rcx, [rbp + 0xb0]
call fcn.1400052d0
nop
mov rcx, r14
mov qword [rbp + 0x10], rcx
mov ebx, 0xf
mov qword [rbp + 0x18], rbx
mov byte [rbp], cl
mov dword [rsp + 0x40], 2
mov rdx, qword [rbp + 0x128]
test dl, 2
jne 0x14000345b
mov rax, qword [rbp + 0xf8]
mov r8, qword [rax]
test r8, r8
je 0x14000345b
mov rax, qword [rbp + 0xd8]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x120]
cmovb r8, qword [rbp + 0x120]
sub r8, rdx
jmp 0x140003489
test dl, 4
jne 0x14000349a
mov rax, qword [rbp + 0xf0]
mov r9, qword [rax]
test r9, r9
je 0x14000349a
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x108]
movsxd r8, dword [rax]
sub r8, rdx
add r8, r9
lea rcx, [rbp]
call fcn.140005a70
mov rcx, qword [rbp + 0x10]
mov rbx, qword [rbp + 0x18]
test rcx, rcx
je 0x14000389f
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
lea r8, [rcx - 0x10]
cmp rcx, r8
cmovb r8, rcx
lea rdx, [rbp]
cmp rbx, 0x10
cmovae rdx, qword [rbp]
lea rcx, [rbp + 0x20]
call fcn.140005a70
nop
mov rax, qword [rbp + 0x10]
lea rcx, [rax - 0x10]
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
cmp rax, rcx
jb 0x140003939
lfence
mov r8, 0xffffffffffffffff
mov rax, qword [rbp + 0x10]
sub rax, rcx
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rdx, qword [rbp]
add rdx, rcx
lea rcx, [rbp + 0x40]
call fcn.140005a70
nop
lea rax, [rsp + 0x50]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
lea rsi, [rbp + 0x40]
cmp qword [rbp + 0x58], 0x10
cmovae rsi, qword [rbp + 0x40]
movabs rcx, 0x7fffffffffffffff
mov rdi, qword [rbp + 0x50]
cmp rdi, 0x10
jae 0x140003570
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x50], xmm0
mov ebx, 0xf
jmp 0x1400035f5
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
cmova rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400035c1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000393f
lfence
mov rcx, rax
call fcn.140007a6c
mov rcx, rax
test rax, rax
je 0x140003945
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov rdi, qword [rbp + 0x50]
jmp 0x1400035d7
test rcx, rcx
je 0x1400035d4
lfence
call fcn.140007a6c
mov rdi, qword [rbp + 0x50]
jmp 0x1400035d7
mov rax, r14
mov qword [rsp + 0x50], rax
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.14000b120
movabs rcx, 0x7fffffffffffffff
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rbx
lea rax, [rsp + 0x70]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], r14
mov rsi, qword [0x14003cae8]
lea rdi, [0x14003cad8]
cmp qword [0x14003caf0], 0x10
cmovae rdi, qword [0x14003cad8]
cmp rsi, 0x10
jae 0x140003643
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x70], xmm0
mov ebx, 0xf
jmp 0x1400036b6
mov rbx, rsi
or rbx, 0xf
cmp rbx, rcx
cmova rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140003690
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000394b
lfence
mov rcx, rax
call fcn.140007a6c
mov rcx, rax
test rax, rax
je 0x140003951
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400036a2
test rcx, rcx
je 0x14000369f
lfence
call fcn.140007a6c
jmp 0x1400036a2
mov rax, r14
mov qword [rsp + 0x70], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.14000b120
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r14
lea r15, [rbp + 0x20]
mov rbx, qword [rbp + 0x20]
mov r14, qword [rbp + 0x38]
cmp r14, 0x10
cmovae r15, rbx
mov rsi, qword [rbp + 0x30]
cmp rsi, 0x10
jae 0x1400036f6
movups xmm0, xmmword [r15]
movups xmmword [rbp - 0x70], xmm0
mov edi, 0xf
jmp 0x140003789
movabs rax, 0x7fffffffffffffff
mov rdi, rsi
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140003759
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140003957
lfence
mov rcx, rax
call fcn.140007a6c
mov rcx, rax
test rax, rax
je 0x14000395d
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov r14, qword [rbp + 0x38]
mov rsi, qword [rbp + 0x30]
mov rbx, qword [rbp + 0x20]
jmp 0x140003776
test rcx, rcx
je 0x140003774
lfence
call fcn.140007a6c
mov r14, qword [rbp + 0x38]
mov rsi, qword [rbp + 0x30]
mov rbx, qword [rbp + 0x20]
jmp 0x140003776
xor eax, eax
mov qword [rbp - 0x70], rax
lea r8, [rsi + 1]
mov rdx, r15
mov rcx, rax
call fcn.14000b120
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x60]
lea rcx, [0x14003e920]
call fcn.140007430
mov eax, dword [rbp + 0x70]
mov dword [r13], eax
lea rdx, [rbp + 0x60]
mov rdi, qword [rbp + 0x60]
mov rsi, qword [rbp + 0x78]
cmp rsi, 0x10
cmovae rdx, rdi
mov r8, qword [rbp + 0x70]
mov rcx, r12
call fcn.14000b120
cmp rsi, 0x10
jb 0x140003812
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000380a
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003963
mov rcx, rdi
call fcn.140007a64
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], 0
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x140003862
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000385c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003969
call fcn.140007a64
nop
cmp r14, 0x10
jb 0x140003899
lea rdx, [r14 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140003891
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000396f
mov rcx, rbx
call fcn.140007a64
mov rbx, qword [rbp + 0x18]
jmp 0x1400038aa
mov rcx, r12
call fcn.14000ef1c
mov r12, r14
cmp rbx, 0x10
jb 0x1400038df
lea rdx, [rbx + 1]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400038d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003933
call fcn.140007a64
nop
lea rcx, [rbp + 0xa0]
call fcn.140003980
mov rax, r12
jmp 0x140003903
mov rcx, r12
call fcn.14000ef1c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rcx, qword [rbp + 0x2b0]
xor rcx, rsp
call fcn.140007a40
lea r11, [rsp + 0x3c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14000f164
nop
call fcn.140005fd0
nop
call fcn.140002040
int3
call fcn.14000f164
nop
call fcn.140002040
int3
call fcn.14000f164
nop
call fcn.140002040
int3
call fcn.14000f164
nop
call fcn.14000f164
nop
call fcn.14000f164
nop
call fcn.14000f164
int3