Function at 0x100020280
Capabilities:
Get file size

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
xor eax, eax
mov r13, rcx
xor ecx, ecx
mov r12, rdx
mov ebx, 1
mov r15, rcx
mov r14, rcx
mov dword [rsp + 0xd8], ecx
mov qword [r11 - 0x78], rcx
mov qword [r11 - 0x50], rcx
mov qword [r11 - 0x48], rax
mov qword [r11 - 0x40], rax
mov qword [r11 - 0x38], rax
mov qword [r11 - 0x70], rcx
mov qword [r11 - 0x68], rax
mov qword [r11 - 0x60], rax
mov qword [r11 - 0x58], rax
cmp rdx, rcx
je 0x1000202e9
mov rdi, qword [rdx]
jmp 0x1000202ed
or rdi, 0xffffffffffffffff
mov rbp, qword [rsp + 0xf0]
cmp rbp, rcx
je 0x100020300
mov rsi, qword [rbp]
jmp 0x100020304
or rsi, 0xffffffffffffffff
mov qword [rsp + 0xf0], rsi
cmp rdi, 0xffffffffffffffff
jne 0x100020340
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ecx
lea r8d, [rdi + 8]
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x100020392
xor ecx, ecx
cmp qword [rsp + 0x120], 0xffffffffffffffff
jne 0x100020392
mov rax, qword [0x10005c4b0]
cmp rdi, rax
jne 0x100020376
cmp dword [0x10005d5f4], ecx
je 0x100020376
mov rcx, qword [0x10005c4b8]
lea rdx, [rsp + 0x120]
call qword [0x10005d640]
jmp 0x100020392
cmp rdi, rax
mov rcx, rdi
lea rdx, [rsp + 0x120]
cmove rcx, qword [0x10005c4b8]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
cmp rsi, 0xffffffffffffffff
jne 0x1000203fb
test r13, r13
je 0x1000203e6
mov r9d, dword [rsp + 0x108]
mov rdx, qword [rsp + 0xf8]
lea rax, [rsp + 0xf0]
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1000227f4
mov rsi, qword [rsp + 0xf0]
mov ebx, eax
jmp 0x1000203f3
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
test ebx, ebx
je 0x10002050f
test r13, r13
je 0x100020418
mov r15, qword [r13 + 0xd8]
mov r14, qword [r13 + 0xe0]
test r15, r15
je 0x100020418
test r14, r14
jne 0x10002041a
xor ebx, ebx
test ebx, ebx
je 0x10002050f
mov eax, dword [rsp + 0x110]
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x114]
mov dword [rsp + 0x8c], eax
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0x6c], eax
test r13, r13
je 0x100020485
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r13
call fcn.1000199ec
jmp 0x100020487
xor eax, eax
mov ecx, dword [rsp + 0xf0]
mov rdx, qword [rsp + 0x50]
test eax, eax
je 0x1000204a0
test rdx, rdx
je 0x1000204a0
test ecx, ecx
jne 0x1000204a2
xor ebx, ebx
test ebx, ebx
je 0x10002050f
xor ebx, ebx
test rdx, rdx
je 0x10002050f
cmp rdi, 0xffffffffffffffff
je 0x10002050f
cmp rsi, 0xffffffffffffffff
je 0x10002050f
mov eax, dword [rsp + 0x128]
lea r8, [rsp + 0x78]
mov r9, rsi
mov dword [rsp + 0x48], eax
and qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov rdx, rdi
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1000253f4
test eax, eax
je 0x10002050f
mov r13d, dword [rsp + 0xd8]
mov ebx, 1
jmp 0x10002051c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
test ebx, ebx
je 0x100020527
test r12, r12
je 0x100020527
mov qword [r12], rdi
jmp 0x100020542
cmp rdi, 0xffffffffffffffff
je 0x100020542
test r12, r12
je 0x100020539
cmp qword [r12], 0xffffffffffffffff
jne 0x100020542
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x100020551
test rbp, rbp
je 0x100020551
mov qword [rbp], rsi
jmp 0x10002056c
cmp rsi, 0xffffffffffffffff
je 0x10002056c
test rbp, rbp
je 0x100020563
cmp qword [rbp], 0xffffffffffffffff
jne 0x10002056c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r13d, r13d
je 0x10002057a
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r11, [rsp + 0xa0]
mov eax, ebx
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret