Function at 0x14009cc20
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov r14, r8
mov rsi, rdx
mov r13, rcx
and qword [r8], 0
mov rax, qword [0x1400ef018]
mov qword [rbp + 0x50], rax
mov rbx, qword [rdx]
cmp dword [rbx - 0xc], 0
jl 0x14009cc64
mov qword [rbp + 0x58], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009cc88
mov qword [rbp + 0x58], rax
test rbx, rbx
jne 0x14009cc71
xor eax, eax
jmp 0x14009cc7a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp + 0x58]
call fcn.14006b5e4
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
mov rcx, r13
call fcn.14009d37c
test eax, eax
jne 0x14009cca5
or rdi, 0xffffffffffffffff
jmp 0x14009ce0b
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax - 8]
add qword [r14], rcx
lea rdi, [r13 + 0x18]
mov r8, rsi
lea rdx, [rbp - 0x18]
mov rcx, rdi
call fcn.14008b070
mov rbx, qword [rbp - 8]
cmp byte [rbx + 0x19], 0
jne 0x14009ccde
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rsi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
test eax, eax
jns 0x14009cce1
mov rbx, qword [rdi]
cmp rbx, qword [rdi]
je 0x14009cc9c
lea rcx, [rbx + 0x28]
xor edx, edx
call fcn.14006dda4
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.14006c728
nop
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rbx, qword [rbp - 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
or rdi, 0xffffffffffffffff
cmp rax, rdi
jne 0x14009cd3f
lea rcx, [rbx - 0xc]
jmp 0x14009cdf0
lea rdx, [rbp - 0x28]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov rcx, r15
test eax, eax
jne 0x14009cd5e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14009cde8
mov rax, qword [rbp - 0x28]
add qword [r14], rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [0x1400ef018]
mov qword [rbp - 0x30], rax
mov rbx, qword [rsi]
cmp dword [rbx - 0xc], 0
jl 0x14009cd89
mov qword [rbp - 0x40], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009cdad
mov qword [rbp - 0x40], rax
test rbx, rbx
jne 0x14009cd96
xor eax, eax
jmp 0x14009cd9f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x40]
call fcn.14006b5e4
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x40]
mov rcx, r13
call fcn.14009d32c
test eax, eax
jne 0x14009ce5d
mov rcx, qword [rbp - 0x30]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009cde8
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009cde8
call fcn.1400b0a54
nop
mov rcx, qword [rbp - 0x38]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009ce0b
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009ce0b
call fcn.1400b0a54
nop
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009ce2e
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009ce2e
call fcn.1400b0a54
nop
mov rcx, qword [rsi]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009ce56
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009ce56
mov rcx, qword [rsi]
sub rcx, 0xc
call fcn.1400b0a54
xor eax, eax
jmp 0x14009cefa
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax - 8]
add qword [r14], rcx
lea rcx, [rax - 0xc]
cmp rcx, qword [0x1400ef010]
je 0x14009ce87
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009ce87
call fcn.1400b0a54
nop
mov rcx, qword [rbp - 0x38]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009ceaa
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009ceaa
call fcn.1400b0a54
nop
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009cecd
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x14009cecd
call fcn.1400b0a54
nop
mov rax, qword [rsi]
add rax, 0xfffffffffffffff4
cmp rax, qword [0x1400ef010]
je 0x14009cef5
mov ecx, edi
lock xadd dword [rax], ecx
add ecx, edi
test ecx, ecx
jg 0x14009cef5
mov rcx, qword [rsi]
sub rcx, 0xc
call fcn.1400b0a54
mov eax, 1
add rsp, 0x80
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret