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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov rax, qword [0x14010d440]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rdi, rdx
mov r13, rcx
mov qword [rsp + 0x50], rdx
xor r12d, r12d
mov dword [rsp + 0x40], r12d
or r15, 0xffffffffffffffff
cmp qword [rdx + 0x10], r12
jne 0x140063e6f
lea rdx, [rcx + 0x80]
mov rax, qword [0x14010d248]
sub rax, qword [0x14010d240]
cmp rax, 0x20
jae 0x140063b77
mov rcx, rdi
call fcn.1400096c4
jmp 0x140063e6f
mov r10, qword [rdx + 0x10]
mov r9, rdx
cmp qword [rdx + 0x18], 7
jbe 0x140063b88
mov r9, qword [rdx]
test r10, r10
je 0x140063bb9
lea rcx, [r10 - 1]
mov rax, r15
cmp rcx, r15
cmovb rax, rcx
lea r8, [r9 + rax*2]
jmp 0x140063baa
cmp r8, r9
je 0x140063bb9
sub r8, 2
cmp word [r8], 0x5c
jne 0x140063ba1
sub r8, r9
sar r8, 1
jmp 0x140063bbc
mov r8, r15
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x11], xmm1
cmp r10, r8
cmovb r8, r10
cmp qword [rdx + 0x18], 7
jbe 0x140063bdc
mov rdx, qword [rdx]
lea rcx, [rbp - 0x21]
call fcn.1400031c0
mov ebx, 0x20
mov dword [rsp + 0x40], ebx
mov rsi, qword [0x14010d240]
mov r14, qword [0x14010d248]
jmp 0x140063df6
mov rcx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140063c0e
mov rcx, qword [rsi]
mov qword [rsp + 0x20], 2
lea r9, [0x1400bfd94]
xor r8d, r8d
mov rdx, qword [rsi + 0x10]
call fcn.14003fb44
cmp rax, r15
jne 0x140063c94
lea r8, [0x1400be3c8]
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 1]
call fcn.1400441cc
nop
or ebx, 1
mov dword [rsp + 0x40], ebx
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140063c58
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, rax
call fcn.14004049c
movups xmm1, xmmword [rax]
movups xmmword [rbp - 0x41], xmm1
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x31], xmm0
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
or ebx, 8
lea rdx, [rbp - 0x41]
or ebx, 2
movq rax, xmm1
jmp 0x140063cc8
xorps xmm0, xmm0
movups xmmword [rbp - 0x61], xmm0
mov qword [rbp - 0x51], r12
mov qword [rbp - 0x49], r12
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140063cb0
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp - 0x61]
call fcn.140003390
lea rdx, [rbp - 0x61]
or ebx, 4
mov rax, qword [rbp - 0x61]
mov dword [rsp + 0x40], ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rbp - 0x71], r12
mov qword [rbp - 0x69], r12
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 7
cmova rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140003390
nop
test bl, 4
je 0x140063d41
and ebx, 0xfffffffb
mov dword [rsp + 0x40], ebx
mov rdx, qword [rbp - 0x49]
cmp rdx, 7
jbe 0x140063d41
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140063d3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140063f78
call fcn.140086ebc
nop
test bl, 2
je 0x140063d8e
and ebx, 0xfffffffd
mov dword [rsp + 0x40], ebx
mov rdx, qword [rbp - 0x29]
cmp rdx, 7
jbe 0x140063d8e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140063d88
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140063f7e
call fcn.140086ebc
nop
test bl, 1
je 0x140063da3
and ebx, 0xfffffffe
mov dword [rsp + 0x40], ebx
lea rcx, [rbp - 1]
call fcn.140021960
lea rcx, [rsp + 0x58]
call fcn.14005720c
test al, al
jne 0x140063e01
mov rdx, qword [rbp - 0x69]
cmp rdx, 7
jbe 0x140063df2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140063ded
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140063f72
call fcn.140086ebc
add rsi, 0x20
cmp rsi, r14
jne 0x140063c01
jmp 0x140063e50
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400096c4
nop
mov rdx, qword [rbp - 0x69]
cmp rdx, 7
jbe 0x140063e50
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140063e4b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140063f72
call fcn.140086ebc
cmp qword [rdi + 0x10], r12
jne 0x140063e66
lea rdx, [r13 + 0x80]
mov rcx, rdi
call fcn.1400096c4
nop
lea rcx, [rbp - 0x21]
call fcn.140021960
mov rcx, rdi
call fcn.14005720c
test al, al
je 0x140063f40
mov rcx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140063e8c
mov rcx, qword [rdi]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov r8d, 3
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, r15
je 0x140063f40
mov qword [rsp + 0x48], r12
lea rdx, [rsp + 0x48]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140063f36
mov r14, qword [rsp + 0x48]
mov rcx, r14
call fcn.14008755c
mov rbx, rax
test rax, rax
je 0x140063ef9
mov r8, r14
xor edx, edx
mov rcx, rax
call fcn.1400b02e0
jmp 0x140063efc
mov rbx, r12
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140063f29
movsxd rax, dword [rbx + 0x3c]
mov r15d, dword [rax + rbx + 8]
test rbx, rbx
je 0x140063f36
mov rcx, rbx
call fcn.140086ebc
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, rdi
call fcn.140021960
mov rax, r15
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.140087330
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14008deb0
nop
call fcn.14008deb0
nop
call fcn.14008deb0
int3