Function at 0x1800080b0
Capabilities:
Get file size

Disassembly:
mov r11, rsp
push rdi
push r14
push r15
sub rsp, 0x90
mov qword [r11 - 0x48], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x1802678f0]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rbp, rcx
xor r14d, r14d
mov dword [r11 - 0x68], r14d
call fcn.18000fc98
mov rcx, rax
test rax, rax
je 0x1800083c9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, [0x180228b98]
lea rdi, [r14 - 1]
cmp rdx, 0x10000
jae 0x180008132
movzx edx, dx
lea rcx, [rsp + 0x48]
call fcn.180002ab0
jmp 0x18000814d
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x180008135
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.180002e50
nop
mov qword [rsp + 0x50], r14
mov rbx, qword [rsp + 0x48]
lea rsi, [rbx - 0x18]
mov rcx, qword [rsi]
test rcx, rcx
je 0x180008171
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x180008182
call fcn.18000fc98
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x1800083d4
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x40], 1
mov r9, qword [rbp + 0x178]
mov eax, dword [r9 - 0x10]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.180004830
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
lea rdx, [rbx - 0x18]
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x18000820c
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov eax, edi
lock xadd dword [rsi + 0x10], eax
sub eax, 1
jg 0x180008224
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp r14, 0xffffffffffffffff
je 0x1800082cb
lea rdx, [rsp + 0x68]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [rsp + 0x68]
shl rdx, 0x20
add rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.18000e530
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x180]
sub rbx, 0x18
cmp rcx, rbx
je 0x1800082c1
cmp dword [rbx + 0x10], 0
jl 0x1800082b0
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1800082b0
call fcn.180002f70
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1800082a3
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r14 + 0x18]
mov qword [rbp + 0x180], rax
jmp 0x1800082c1
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x180]
call fcn.180002e50
nop
mov rdx, qword [rsp + 0x58]
jmp 0x180008370
call fcn.18000fc98
mov rcx, rax
test rax, rax
je 0x1800083df
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
call fcn.18000fc98
mov rcx, rax
test rax, rax
je 0x1800083be
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov edx, 0x1f4a
lea rcx, [rsp + 0x70]
call fcn.180002ab0
mov r8, qword [rbp + 0x178]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x78]
call fcn.180003b70
xor r8d, r8d
lea edx, [r8 + 0x30]
mov rbx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.1800187d8
lea rcx, [rbp + 0x178]
call fcn.180002dd0
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18000836b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x180008387
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
mov rcx, rbp
call fcn.1800217d0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.18019ab50
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
mov ecx, 0x80004005
call fcn.180003260
nop
mov ecx, 0x80004005
call fcn.180003260
nop
mov ecx, 0x80004005
call fcn.180003260
nop
mov ecx, 0x80004005
call fcn.180003260
int3