Function at 0x1400816e0
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 8], rbx
push rsi
sub rsp, 0x30
mov rdx, qword [rcx + 0x290]
mov rbx, rcx
mov rcx, qword [rcx + 0x70]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
cmp byte [rbx + 0x2c0], 0
mov rax, qword [rbx + 0x2d0]
mov qword [rbx + 0x2e0], rax
jne case.0x1400817b8.3
cmp byte [rbx + 0x2f0], 0
je 0x14008178e
mov ecx, 0x50
call fcn.1400b6058
test rax, rax
je 0x140081997
mov r8d, dword [rbx + 0x2c]
lea rdx, [rbx + 0x318]
mov rcx, rax
call fcn.14002baa0
mov qword [rbx + 0x310], rax
test rax, rax
je 0x1400819a2
cmp byte [rax], 0
jne 0x140081773
mov eax, 0x8004020b
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rsi
ret
mov eax, dword [rax + 0x28]
mov rcx, rbx
mov dword [rbx + 0x2a8], eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rsi
jmp fcn.140024a80
movzx eax, word [rbx + 0x2c8]
add eax, 0xfffffffe
cmp eax, 0x62
ja case.0x1400817b8.3
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x819cc]
mov ecx, dword [rdx + rax*4 + 0x819b4]
add rcx, rdx
jmp rcx
mov r8d, dword [rbx + 0x20]
lea rcx, [rbx + 0x310]
mov edx, dword [rbx + 0x2ac]
call fcn.14003d8e0
mov ecx, dword [rbx + 0x2cc]
mov edx, dword [rbx + 0x2c]
lea eax, [rcx*8]
cmp eax, edx
ja case.0x1400817b8.3
nop dword [rax]
nop dword [rax + rax]
add ecx, ecx
lea eax, [rcx*8]
cmp eax, edx
jbe 0x1400817f0
mov dword [rbx + 0x2cc], ecx
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rsi
jmp fcn.140024a80
mov edx, dword [rbx + 0x20]
lea rcx, [rbx + 0x310]
call fcn.140046170
mov ecx, dword [rbx + 0x2cc]
mov edx, dword [rbx + 0x2c]
lea eax, [rcx*8]
cmp eax, edx
ja case.0x1400817b8.3
nop dword [rax + rax]
add ecx, ecx
lea eax, [rcx*8]
cmp eax, edx
jbe 0x140081840
jmp 0x1400817fd
mov edx, dword [rbx + 0x2ac]
lea rcx, [rbx + 0x310]
call fcn.14002eb00
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rsi
jmp fcn.140024a80
cmp dword [rbx + 0x2cc], 0x41
jae 0x140081886
mov dword [rbx + 0x2cc], 0x41
lea rcx, [rbx + 0x310]
xor edx, edx
call fcn.140037120
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rsi
jmp fcn.140024a80
mov rcx, qword [rbx + 0x310]
test rcx, rcx
je 0x1400818bc
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, 0x58
call fcn.1400b6058
test rax, rax
je 0x140081997
mov r9, qword [rbx + 0x2d0]
lea rcx, [rbx + 0x324]
mov r8, qword [rbx + 0x290]
lea rdx, [rbx + 0x70]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.140044a90
mov qword [rbx + 0x310], rax
test rax, rax
je 0x1400819a2
mov rcx, qword [rbx + 0x318]
test rcx, rcx
je 0x140081924
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, 0x9600
call fcn.1400b6058
test rax, rax
je 0x14008197c
mov rdx, qword [rbx + 0x310]
mov rcx, rax
call fcn.14003f2a0
mov qword [rbx + 0x318], rax
test rax, rax
je 0x1400819a2
mov rcx, rax
call fcn.140043a00
mov eax, dword [rbx + 0x320]
test eax, eax
je case.0x1400817b8.3
mov rcx, rbx
mov dword [rbx + 0x324], eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rsi
jmp fcn.140024a80
mov qword [rbx + 0x318], 0
mov eax, 0x80040202
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rsi
ret
mov qword [rbx + 0x310], 0
mov rbx, qword [rsp + 0x40]
mov eax, 0x80040202
add rsp, 0x30
pop rsi
ret