Function at 0x14003c5f0
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x1400962f8]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov r12, qword [rsp + 0xe0]
xor ebx, ebx
mov r15, r9
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x2200080
xor r9d, r9d
mov edx, 0x100080
mov qword [rsp + 0x48], rbx
lea r8d, [rbx + 7]
mov dword [rsp + 0x20], 3
mov r14, rcx
mov edi, ebx
call qword [0x140096148]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14003c6cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
je 0x14003c672
cmp eax, 2
jne 0x14003c6c1
test edi, edi
jle 0x14003c6c1
mov ecx, 0xc8
cmp edi, ecx
cmovl ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x2200080
mov edx, 0x100080
mov rcx, r14
mov dword [rsp + 0x20], 3
sub edi, 0xc8
lea r8d, [r9 + 7]
call qword [0x140096148]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14003c662
jmp 0x14003c6cb
cmp rsi, 0xffffffffffffffff
je 0x14003c86e
test rsi, rsi
je 0x14003c86e
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
jne 0x14003c6fb
mov rcx, rsi
lea ebx, [rax - 1]
call qword [0x140096008]
mov ebp, dword [rsp + 0x40]
jmp 0x14003c861
mov ecx, dword [rsp + 0x50]
call fcn.14003a880
mov ebp, eax
test r15, r15
je 0x14003c747
lea rdx, [rsp + 0x44]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x40], eax
cmp eax, 0xffffffff
jne 0x14003c73f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14003c73f
mov rcx, rsi
mov ebx, 0xffffffff
call qword [0x140096008]
jmp 0x14003c861
mov rax, qword [rsp + 0x40]
mov qword [r15], rax
mov rcx, rsi
call qword [0x140096008]
test bpl, 0x10
je 0x14003c861
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x2000080
mov edx, 0x100080
mov rcx, r14
mov qword [rsp + 0x48], rbx
mov edi, ebx
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 7]
call qword [0x140096148]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14003c7f9
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
je 0x14003c7a4
cmp eax, 2
jne 0x14003c7f3
test edi, edi
jle 0x14003c7f3
mov ecx, 0xc8
cmp edi, ecx
cmovl ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x2000080
mov edx, 0x100080
mov rcx, r14
mov dword [rsp + 0x20], 3
sub edi, 0xc8
lea r8d, [r9 + 7]
call qword [0x140096148]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14003c794
jmp 0x14003c7f9
cmp rsi, 0xffffffffffffffff
je 0x14003c86e
test rsi, rsi
je 0x14003c86e
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
jne 0x14003c815
lea ebx, [rax - 1]
jmp 0x14003c855
mov ecx, dword [rsp + 0x50]
call fcn.14003a880
mov ebp, eax
test r15, r15
je 0x14003c855
lea rdx, [rsp + 0x44]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x40], eax
cmp eax, 0xffffffff
jne 0x14003c84d
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14003c84d
mov ebx, 0xffffffff
jmp 0x14003c855
mov rax, qword [rsp + 0x40]
mov qword [r15], rax
mov rcx, rsi
call qword [0x140096008]
or ebp, 0x10
test r12, r12
je 0x14003c86a
mov dword [r12], ebp
mov eax, ebx
jmp 0x14003c873
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140047b10
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret