Function at 0x140063e80
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 - 0x40]
sub rsp, 0x140
mov rax, qword [0x1400f8480]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r13, rdx
mov rsi, rcx
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x58], rdx
xor r15d, r15d
mov dword [rsp + 0x40], r15d
lea r14, [r15 - 1]
cmp qword [rdx + 0x10], r15
jne 0x140064555
lea rdx, [rcx + 0x80]
mov rax, qword [0x1400f8330]
sub rax, qword [0x1400f8328]
cmp rax, 0x20
jae 0x140063f0e
cmp r13, rdx
je 0x140064555
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 7
jbe 0x140063f01
mov rdx, qword [rdx]
mov rcx, r13
call fcn.14002d510
jmp 0x140064555
mov r10, qword [rdx + 0x10]
mov r9, rdx
mov r11, qword [rdx + 0x18]
cmp r11, 7
jbe 0x140063f22
mov r9, qword [rdx]
test r10, r10
je 0x140063f58
lea rcx, [r10 - 1]
mov rax, r14
cmp rcx, r14
cmovb rax, rcx
lea r8, [r9 + rax*2]
cmp word [r8], 0x5c
je 0x140063f50
cmp r8, r9
je 0x140063f58
sub r8, 2
cmp word [r8], 0x5c
jne 0x140063f40
sub r8, r9
sar r8, 1
jmp 0x140063f5b
mov r8, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r15
cmp r10, r8
cmovb r8, r10
cmp r11, 7
jbe 0x140063f7b
mov rdx, qword [rdx]
lea rcx, [rsp + 0x70]
call fcn.140004210
mov r15d, 0x80
mov dword [rsp + 0x40], r15d
mov r12, qword [0x1400f8328]
mov rax, qword [0x1400f8330]
mov qword [rsp + 0x68], rax
mov rdi, qword [rbp - 0x78]
mov qword [rsp + 0x48], rdi
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x58], rbx
cmp r12, rax
je 0x1400644ed
mov r8, qword [rbp - 0x80]
mov qword [rsp + 0x50], r8
xor r14d, r14d
movabs r9, 0x7ffffffffffffffe
mov ecx, 0xa
movabs rdx, 0x7fffffffffffffff
lea rsi, [0x1400c2fa4]
mov rax, qword [r12 + 0x10]
mov r10, r12
cmp qword [r12 + 0x18], 7
jbe 0x140063fff
mov r10, qword [r12]
cmp rax, 2
jb 0x1400640bd
dec rax
lea r11, [r10 + rax*2]
mov rax, r10
nop dword [rax]
nop word [rax + rax]
mov rcx, r11
sub rcx, rax
sar rcx, 1
mov rdx, r14
je 0x14006404a
cmp word [rax], 0x3a
je 0x140064047
cmp rcx, 1
je 0x14006404a
dec rcx
add rax, 2
cmp word [rax], 0x3a
jne 0x140064034
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x14006409f
mov r8d, 2
mov rdx, rsi
mov r9, rax
sub r9, rsi
movzx ecx, word [rdx + r9]
cmp cx, word [rdx]
jne 0x140064099
add rdx, 2
sub r8, 1
jne 0x140064061
sub rax, r10
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x14006409f
mov rdx, r12
lea rcx, [rbp - 0x10]
call fcn.140009cf0
mov rdi, rax
or r15d, 4
jmp 0x1400641f7
add rax, 2
jmp 0x140064020
movabs r9, 0x7ffffffffffffffe
mov ecx, 0xa
movabs rdx, 0x7fffffffffffffff
mov r8, qword [rsp + 0x50]
mov rax, r9
sub rax, r8
cmp rax, 1
jb 0x140064825
lea r14, [rsp + 0x70]
cmp rdi, 7
cmova r14, rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xor eax, eax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
lea rsi, [r8 + 1]
mov ebx, 7
lea rdi, [rbp - 0x30]
cmp rsi, rbx
jbe 0x14006417a
mov rbx, rsi
or rbx, 7
cmp rbx, r9
jbe 0x140064112
mov rbx, r9
lea rcx, [rdx + rdx]
jmp 0x140064133
cmp rbx, 0xa
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, rdx
ja 0x1400647ef
add rcx, rcx
cmp rcx, 0x1000
jb 0x140064164
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400647ef
mov rcx, rax
call fcn.14008f4dc
test rax, rax
je 0x1400647e9
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov r8, qword [rsp + 0x50]
jmp 0x140064176
test rcx, rcx
je 0x140064173
call fcn.14008f4dc
mov r8, qword [rsp + 0x50]
mov rdi, rax
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rbx
lea rbx, [r8 + r8]
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call fcn.1400b3b00
mov word [rdi + rbx], 0x5c
xor r14d, r14d
mov word [rdi + rsi*2], r14w
or r15d, 8
or r15d, 1
mov dword [rsp + 0x40], r15d
mov rdx, r12
cmp qword [r12 + 0x18], 7
jbe 0x1400641be
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
lea rcx, [rbp - 0x30]
call fcn.140038360
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x20], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
or r15d, 0x10
lea rdi, [rbp + 0x10]
or r15d, 2
mov dword [rsp + 0x40], r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 7
jbe 0x140064219
mov rdi, qword [rdi]
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
ja 0x14006481f
cmp rsi, 7
ja 0x14006424a
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 7
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x50], xmm0
jmp 0x1400642f7
mov rbx, rsi
or rbx, 7
cmp rbx, rax
jbe 0x140064269
mov rbx, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x140064299
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140064819
add rcx, rcx
cmp rcx, 0x1000
jb 0x1400642c8
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140064819
mov rcx, rax
call fcn.14008f4dc
mov rcx, rax
test rax, rax
je 0x1400647f5
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400642d7
test rcx, rcx
je 0x1400642d4
call fcn.14008f4dc
jmp 0x1400642d7
mov rax, r14
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rbx
lea r8, [rsi*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.1400b3b00
nop
test r15b, 4
je 0x140064357
and r15d, 0xfffffffb
mov dword [rsp + 0x40], r15d
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x140064346
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064341
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400647fb
call fcn.14008f518
mov qword [rbp], r14
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r14w
test r15b, 2
je 0x1400643a7
and r15d, 0xfffffffd
mov dword [rsp + 0x40], r15d
mov rdx, qword [rbp + 0x28]
cmp rdx, 7
jbe 0x1400643a7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400643a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064801
call fcn.14008f518
nop
test r15b, 1
je 0x140064407
and r15d, 0xfffffffe
mov dword [rsp + 0x40], r15d
mov rdx, qword [rbp - 0x18]
cmp rdx, 7
jbe 0x1400643f6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400643f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064807
call fcn.14008f518
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
lea rcx, [rbp - 0x50]
call fcn.140053ad0
test al, al
jne 0x140064473
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140064454
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006444f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006480d
call fcn.14008f518
add r12, 0x20
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
cmp r12, qword [rsp + 0x68]
je 0x1400644e1
mov r8, qword [rsp + 0x50]
jmp 0x140063fcb
lea rax, [rbp - 0x50]
cmp r13, rax
je 0x140064497
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 7
cmova rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
mov rcx, r13
call fcn.14002d510
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x1400644d7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400644d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006480d
call fcn.14008f518
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
mov r14, 0xffffffffffffffff
mov rsi, qword [rsp + 0x60]
cmp qword [r13 + 0x10], 0
jne 0x140064517
lea rdx, [rsi + 0x80]
cmp r13, rdx
je 0x140064517
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 7
jbe 0x14006450e
mov rdx, qword [rdx]
mov rcx, r13
call fcn.14002d510
nop
cmp rdi, 7
jbe 0x140064552
lea rdx, [rdi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14006454a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064813
mov rcx, rbx
call fcn.14008f518
xor r15d, r15d
mov rcx, r13
call fcn.140053ad0
test al, al
je 0x1400647b1
mov rcx, r13
cmp qword [r13 + 0x18], 7
jbe 0x140064573
mov rcx, qword [r13]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140064631
mov qword [rsp + 0x48], 0
lea rdx, [rsp + 0x48]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140064623
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
call fcn.14008fa18
mov rbx, rax
test rax, rax
je 0x1400645e6
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.1400b41a0
jmp 0x1400645e9
mov rbx, r15
mov dword [rsp + 0x40], r15d
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140064616
movsxd rax, dword [rbx + 0x3c]
mov r14d, dword [rax + rbx + 8]
test rbx, rbx
je 0x140064623
mov rcx, rbx
call fcn.14008f518
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400647b1
mov rcx, qword [r13 + 0x10]
mov rdx, r13
cmp qword [r13 + 0x18], 7
jbe 0x140064643
mov rdx, qword [r13]
test rcx, rcx
je 0x140064677
dec rcx
mov rax, r14
cmp rcx, 0xffffffffffffffff
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x5c
je 0x14006466f
cmp rcx, rdx
je 0x140064677
sub rcx, 2
cmp word [rcx], 0x5c
jne 0x140064660
sub rcx, rdx
sar rcx, 1
jmp 0x14006467a
mov rcx, r14
cmp rcx, 0xffffffffffffffff
je 0x1400647b1
inc rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov rax, qword [r13 + 0x10]
cmp rax, rcx
jb 0x14006482b
sub rax, rcx
mov r8, r14
cmp rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, r13
cmp qword [r13 + 0x18], 7
jbe 0x1400646bf
mov rax, qword [r13]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x10]
call fcn.140004210
nop
xor r8d, r8d
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x70]
call fcn.1400649c0
nop
cmp qword [rsp + 0x70], 0x10000
jbe 0x14006476a
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call fcn.14008fa18
mov rbx, rax
test rax, rax
je 0x140064712
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400b41a0
jmp 0x140064715
mov rbx, r15
mov qword [rsp + 0x68], rbx
mov rax, qword [0x1400fb030]
mov rcx, qword [rax + 0x1c0]
test rcx, rcx
je 0x14006475c
mov rax, qword [0x1400fa8e8]
mov qword [rsp + 0x20], r15
mov r9, qword [rsp + 0x78]
mov r8, rbx
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rcx + 0xa0]
call rax
test eax, eax
je 0x14006475c
movsxd rax, dword [rbx + 0x3c]
mov r14d, dword [rax + rbx + 8]
test rbx, rbx
je 0x14006476a
mov rcx, rbx
call fcn.14008f518
nop
lea rcx, [rbp - 0x78]
call fcn.14002cde0
nop
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x1400647b1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400647ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400647e3
call fcn.14008f518
nop
mov rcx, r13
call fcn.14002cde0
mov rax, r14
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.14008f990
mov rbx, qword [rsp + 0x190]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140096334
nop
call fcn.140096334
int3
call fcn.14002cac0
nop
call fcn.140096334
nop
call fcn.140096334
nop
call fcn.140096334
nop
call fcn.140096334
nop
call fcn.140096334
nop
call fcn.140096334
nop
call fcn.14002cac0
int3
call fcn.14002d250
nop
call fcn.14002d250
nop
call fcn.14002d290
int3