Function at 0x1800f6420
Capabilities:
Get file size

Disassembly:
push rbp
push rdi
push r13
push r14
lea rbp, [rsp - 0x108]
sub rsp, 0x208
mov rax, qword [0x18017b008]
xor rax, rsp
mov qword [rbp + 0xe0], rax
mov rdi, r9
mov dword [rsp + 0x30], r8d
mov r13d, 8
lea r8, [rbp + 0xd8]
mov r9d, r13d
xor edx, edx
mov r14, rcx
call fcn.1800f7760
test al, al
je 0x1800f6954
movabs rax, 0xa3e686372613c21
cmp qword [rbp + 0xd8], rax
jne 0x1800f6954
test dword [r14 + 0x30], 0x800000
je 0x1800f64a4
mov rcx, qword [r14 + 0x18]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x38], eax
jmp 0x1800f64bc
mov ecx, dword [r14 + 0x10]
call fcn.18012d350
mov qword [rsp + 0x38], rax
cmp rax, 0xffffffffffffffff
je 0x1800f6954
mov qword [rsp + 0x238], rbx
lea rax, [0x180143d38]
mov qword [rsp + 0x200], rsi
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x1f8], r12
xor r12d, r12d
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x60], rax
inc rbx
cmp word [rdi + rbx*2], r12w
jne 0x1800f64f1
inc rbx
mov qword [rsp + 0x1f0], r15
mov rdx, rbx
mov rcx, rdi
call fcn.180047100
mov rcx, qword [rbp - 0x60]
mov rsi, rax
mov rax, qword [rcx]
lea rcx, [0x1800572a0]
cmp rax, rcx
jne 0x1800f6566
cmp rsi, 0xfffffffffffffff0
jae 0x1800f6561
mov rax, qword [rbp - 0x58]
lea rdx, [rsi + 7]
mov ecx, pe_nt_image_headers64
and rdx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, rdx
jb 0x1800f6556
lea r15, [rbp - 0x48]
add r15, rax
add rax, rdx
mov qword [rbp - 0x58], rax
jmp 0x1800f6572
lea rcx, [rbp - 0x60]
call fcn.180043a80
jmp 0x1800f656f
mov r15, r12
jmp 0x1800f6572
mov rdx, rsi
lea rcx, [rbp - 0x60]
call rax
mov r15, rax
cmp rsi, rbx
jne 0x1800f658c
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call fcn.180047880
test rax, rax
je 0x1800f65b3
jmp 0x1800f65ae
test r15, r15
jne 0x1800f6596
mov r15, r12
jmp 0x1800f65ae
mov r9, rsi
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call fcn.180047550
test rax, rax
cmove r15, r12
test r15, r15
jne 0x1800f6621
mov rcx, qword [r14 + 0xb8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8007000e
mov rcx, qword [rcx + 0x280]
call fcn.1800adc20
xor dil, dil
mov rbx, qword [rbp - 0x50]
lea rax, [0x180143d38]
mov r15, qword [rsp + 0x1f0]
mov r12, qword [rsp + 0x1f8]
mov rsi, qword [rsp + 0x200]
mov qword [rbp - 0x60], rax
test rbx, rbx
je 0x1800f6610
mov rcx, rbx
mov rbx, qword [rbx]
call fcn.18000b6f0
test rbx, rbx
jne 0x1800f6600
mov rbx, qword [rsp + 0x238]
movzx eax, dil
jmp 0x1800f6956
mov dword [rsp + 0x20], r12d
mov edi, r12d
xor sil, sil
mov qword [rsp + 0x28], r12
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rsp + 0x20]
add ecx, r13d
test cl, 1
lea ebx, [rcx + 1]
cmove ebx, ecx
cmp ebx, dword [rsp + 0x38]
jae 0x1800f693f
mov r9d, 0x3c
lea r8, [rsp + 0x58]
mov edx, ebx
mov rcx, r14
call fcn.1800f7760
test al, al
je 0x1800f65d1
lea r8, [rsp + 0x20]
lea rdx, [0x18015af98]
lea rcx, [rbp - 0x78]
call fcn.1800f8070
cmp eax, 1
jne 0x1800f65d1
lea r13d, [rbx + 0x3c]
test sil, sil
jne 0x1800f67f9
mov rcx, qword [rsp + 0x58]
movabs rdx, 0x202020202020202f
mov rax, qword [rsp + 0x60]
cmp rcx, rdx
movabs rdx, 0x2020202020202020
jne 0x1800f66ce
cmp rax, rdx
je 0x1800f6640
movabs r8, 0x4449524259483c2f
cmp rcx, r8
jne 0x1800f66f0
movabs r8, 0x2020202f3e50414d
cmp rax, r8
je 0x1800f6640
movabs r8, 0x5341484746583c2f
cmp rcx, r8
jne 0x1800f6712
movabs r8, 0x20202f3e50414d48
cmp rax, r8
je 0x1800f6640
movabs r8, 0x57444f4d5858432f
cmp rcx, r8
jne 0x1800f6734
movabs r8, 0x202f4d59534b4145
cmp rax, r8
je 0x1800f6640
movabs r8, 0x424d595343453c2f
cmp rcx, r8
jne 0x1800f6756
movabs r8, 0x2020202f3e534c4f
cmp rax, r8
je 0x1800f6640
movabs r8, 0x2020202020202f2f
cmp rcx, r8
jne 0x1800f67f6
cmp rax, rdx
jne 0x1800f67f6
mov ebx, dword [rsp + 0x30]
lea r8, [rsp + 0x28]
mov rcx, qword [r14 + 0xb8]
mov edx, ebx
call fcn.1800ad850
test al, al
je 0x1800f65d1
cmp qword [rsp + 0x28], 0
jne 0x1800f6640
mov ecx, dword [rsp + 0x20]
lea rdx, [0x180139860]
call fcn.18000bbe4
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1800f65b3
mov r9d, dword [rsp + 0x20]
mov r8, rax
mov edx, r13d
mov rcx, r14
call fcn.1800f7760
test al, al
je 0x1800f65d1
mov r8, qword [rsp + 0x28]
mov edx, ebx
mov rcx, qword [r14 + 0xb8]
call fcn.1800aec80
test al, al
jne 0x1800f6640
jmp 0x1800f65d1
mov sil, 1
mov r9, 0xffffffffffffffff
lea r8, [rsp + 0x58]
lea rcx, [rbp + 0xc0]
lea edx, [r9 + 0x12]
call fcn.180030004
cmp byte [rbp + 0xc0], 0x2f
jne 0x1800f687f
movzx eax, byte [rbp + 0xc1]
cmp al, 0x20
je 0x1800f686c
cmp al, 0x2f
je 0x1800f686c
cmp qword [rsp + 0x28], 0
je 0x1800f65d1
mov edx, 0x20
lea rcx, [rbp + 0xc0]
call fcn.18012af70
test rax, rax
je 0x1800f65d1
lea rcx, [rbp + 0xc1]
mov byte [rax], 0
call fcn.18002bec0
movsxd rcx, eax
add rcx, qword [rsp + 0x28]
jmp 0x1800f68a3
mov edx, 0x20
lea rcx, [rbp + 0xc0]
call fcn.18012af70
jmp 0x1800f6890
mov edx, 0x2f
lea rcx, [rbp + 0xc0]
call fcn.18012ae34
test rax, rax
je 0x1800f65d1
lea rcx, [rbp + 0xc0]
mov byte [rax], 0
mov r8, r15
sub r8, rcx
nop dword [rax]
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x1800f68c3
inc rcx
test eax, eax
jne 0x1800f68b0
test edx, edx
jne 0x1800f692a
mov eax, r13d
lea r9d, [rdx + 0x14]
inc r12d
lea r8, [rsp + 0x40]
cmp r12d, 1
mov edx, r13d
mov rcx, r14
cmovne eax, edi
mov edi, eax
call fcn.1800f7760
test al, al
je 0x1800f65d1
cmp word [rsp + 0x40], 0
jne 0x1800f6640
mov eax, 0xffff
cmp word [rsp + 0x42], ax
jne 0x1800f6640
cmp word [rsp + 0x44], 0
jne 0x1800f6640
or dword [r14 + 0x30], 0x20000
mov dil, 1
jmp 0x1800f65d4
test r12d, r12d
je 0x1800f6640
mov dword [r14 + 0x28], edi
mov dil, 1
jmp 0x1800f65d4
test r12d, r12d
je 0x1800f65d1
mov dword [r14 + 0x28], edi
mov dil, 1
jmp 0x1800f65d4
xor al, al
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.18000b6d0
add rsp, 0x208
pop r14
pop r13
pop rdi
pop rbp
ret