Function at 0x1400a83c0
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, 0x70
mov qword [rbp - 8], 0xfffffffffffffffe
mov r14, r8
mov rsi, rdx
mov r13, rcx
and qword [r8], 0
mov rax, qword [0x140108018]
mov qword [rbp + 0x50], rax
mov rbx, qword [rdx]
cmp dword [rbx - 0xc], 0
jl 0x1400a8409
mov qword [rbp - 0x30], rbx
lock inc dword [rbx - 0xc]
jmp 0x1400a842d
mov qword [rbp - 0x30], rax
test rbx, rbx
jne 0x1400a8416
xor eax, eax
jmp 0x1400a841f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x30]
call fcn.140067304
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.1400a8af4
test eax, eax
jne 0x1400a8497
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff4
or rdi, 0xffffffffffffffff
cmp rcx, qword [0x140108010]
je 0x1400a8468
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x1400a8468
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsi]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x1400a8490
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x1400a8490
mov rcx, qword [rsi]
sub rcx, 0xc
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
xor eax, eax
jmp 0x1400a868e
mov rbx, qword [rbp + 0x50]
movsxd rax, dword [rbx - 8]
add qword [r14], rax
mov r8, rsi
lea rdx, [rbp - 0x18]
lea rcx, [r13 + 0x18]
call fcn.1400aa668
mov rcx, qword [rbp - 0x18]
cmp rcx, qword [r13 + 0x18]
jne 0x1400a84c2
lea rcx, [rbx - 0xc]
jmp 0x1400a8449
add rcx, 0x28
xor edx, edx
call fcn.140069bfc
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.14006874c
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 + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
or rdi, 0xffffffffffffffff
cmp rax, rdi
jne 0x1400a853e
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x140108010]
je 0x1400a8531
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x1400a8531
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff4
jmp 0x1400a844d
lea rdx, [rbp - 0x10]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov rcx, r15
test eax, eax
jne 0x1400a8563
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rbp + 0x58]
add rcx, 0xfffffffffffffff4
jmp 0x1400a8516
mov rax, qword [rbp - 0x10]
add qword [r14], rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [0x140108018]
mov qword [rbp - 0x20], rax
mov rbx, qword [rsi]
cmp dword [rbx - 0xc], 0
jl 0x1400a858e
mov qword [rbp - 0x28], rbx
lock inc dword [rbx - 0xc]
jmp 0x1400a85b2
mov qword [rbp - 0x28], rax
test rbx, rbx
jne 0x1400a859b
xor eax, eax
jmp 0x1400a85a4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x28]
call fcn.140067304
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x28]
mov rcx, r13
call fcn.1400a8aa4
test eax, eax
jne 0x1400a85f1
mov rcx, qword [rbp - 0x20]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x1400a8559
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x1400a8559
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
jmp 0x1400a8559
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax - 8]
add qword [r14], rcx
lea rcx, [rax - 0xc]
cmp rcx, qword [0x140108010]
je 0x1400a861b
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x1400a861b
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rbp + 0x58]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x1400a863e
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x1400a863e
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x1400a8661
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x1400a8661
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rax, qword [rsi]
add rax, 0xfffffffffffffff4
cmp rax, qword [0x140108010]
je 0x1400a8689
mov ecx, edi
lock xadd dword [rax], ecx
add ecx, edi
test ecx, ecx
jg 0x1400a8689
mov rcx, qword [rsi]
sub rcx, 0xc
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
mov eax, 1
add rsp, 0x70
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret