Function at 0x140011360
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x50
xor ebp, ebp
lea r12, [0x1400288d8]
cmp dword [0x140029a60], ebp
mov rbx, r9
mov qword [0x1400288d8], r12
mov rdi, r8
mov qword [0x1400288e0], r12
mov r15, rcx
mov rdx, qword [r8 + 0x10]
mov r14d, ebp
je 0x1400113b6
mov dword [r8 + 8], ebp
mov qword [r8 + 0x20], rdx
mov qword [r8 + 0x38], rbp
jmp 0x140011415
xor r8d, r8d
mov rcx, rdi
call fcn.14000fd40
test eax, eax
jne 0x14001151a
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 1
je 0x1400113de
mov ecx, 0xffffffff
jmp 0x14001140b
mov rcx, qword [rdi]
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140011404
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov eax, 0xffffbad2
test ecx, ecx
cmove ecx, eax
jmp 0x14001140b
mov r14, qword [rsp + 0x40]
mov ecx, ebp
mov eax, ebp
test ecx, ecx
sete al
mov dword [rdi + 0x50], eax
mov rcx, qword [0x140027140]
mov eax, 1
cmp rcx, rax
jbe 0x14001142e
add rax, rax
cmp rcx, rax
ja 0x140011426
mov ecx, 0x500
mov qword [0x140027140], rax
call fcn.1400107a0
mov qword [0x140027a70], rax
test rax, rax
je 0x140011764
xor edx, edx
mov r8d, 0x500
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [0x140027140]
mov r9d, 4
mov r8d, 0x3000
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rcx, qword [0x140027a70]
mov qword [rcx], rax
test rax, rax
je 0x140011764
mov qword [rcx + 8], 0xffffffffffffffff
xor r8d, r8d
mov rax, qword [0x1400288e0]
add rcx, 0x18
mov qword [0x1400288e0], rcx
mov rdx, rbx
mov qword [rsp + 0x70], rsi
mov rsi, qword [0x140027140]
mov qword [rax], rcx
mov qword [rcx], r12
mov qword [rcx + 8], rax
mov rcx, r15
mov dword [rbx], esi
mov rax, qword [rdi + 0x10]
mov qword [rbx + 8], rax
mov dword [0x1400271d8], 1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x20], 0xffffffffffffffff
mov qword [rbx + 0x30], rbp
mov qword [rbx + 0x18], rsi
call fcn.140010c70
mov ebp, eax
test eax, eax
je 0x140011535
mov ecx, eax
call fcn.140010560
mov rdx, qword [rdi + 0x10]
lea rcx, str.xdelta3:_error_reading_source:__s:__s_n
mov r8, rax
call fcn.140010bb0
mov eax, ebp
mov rsi, qword [rsp + 0x70]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
mov r10, qword [0x140027a70]
mov rdx, qword [0x140027140]
mov ecx, dword [r10 + 0x10]
mov dword [rbx + 0x28], ecx
mov eax, dword [rdi + 0x50]
test eax, eax
jne 0x140011567
cmp ecx, esi
jae 0x14001156c
mov dword [rbx + 0x70], ecx
mov r14d, ecx
mov dword [rdi + 0x50], 1
mov eax, 1
cmp r14, rdx
jbe 0x1400115df
shr rdx, 5
mov r8d, 1
mov dword [rbx], edx
mov esi, edx
mov dword [rbx + 0x28], edx
mov r9d, r8d
mov dword [rbx + 0x70], edx
mov qword [rbx + 0x68], 0x1f
mov dword [r10 + 0x10], edx
lea rdx, [r10 + 0x40]
mov dword [0x1400271d8], 0x20
nop dword [rax]
mov ecx, r8d
inc r8d
imul ecx, esi
add rcx, qword [r10]
mov qword [rdx - 0x10], r9
inc r9
mov qword [rdx - 0x18], rcx
mov dword [rdx - 8], esi
mov rax, qword [0x1400288e0]
mov qword [0x1400288e0], rdx
mov qword [rax], rdx
mov qword [rdx], r12
mov qword [rdx + 8], rax
add rdx, 0x28
cmp r8d, 0x20
jb 0x1400115a0
mov eax, dword [rdi + 0x50]
mov rdx, rbx
mov rcx, r15
test eax, eax
jne 0x1400115fc
mov dword [0x1400288f4], 1
call fcn.14001b190
mov ebx, eax
jmp 0x14001162c
call fcn.14001b190
mov ebx, eax
test eax, eax
jne 0x14001162c
mov rax, qword [r15 + 0x40]
mov dword [rax + 0x74], 1
mov rax, r14
mov rdx, qword [r15 + 0x40]
mov ecx, dword [rdx + 0x48]
shr rax, cl
mov qword [rdx + 0x68], rax
mov eax, dword [rdx + 0x4c]
and eax, r14d
mov dword [rdx + 0x70], eax
test ebx, ebx
je 0x140011662
mov rax, qword [r15 + 0x38]
lea rbp, [0x140020360]
test rax, rax
mov ecx, ebx
cmovne rbp, rax
call fcn.140010560
mov r8, rax
lea rcx, str.xdelta3:__s:__s_n
mov rdx, rbp
call fcn.140010bb0
mov eax, ebx
jmp 0x140011515
cmp dword [0x1400288c4], 0
je 0x14001175d
cmp dword [rdi + 0x50], 0
je 0x1400116a6
lea rdx, [0x140028860]
mov rcx, r14
call fcn.1400102b0
mov r9, rax
mov qword [rsp + 0x20], r14
lea r8, str.source_size__s___I64u_
mov edx, 0x30
lea rcx, [0x1400279e0]
call fcn.140001010
jmp 0x1400116c5
lea r9, str.source_size_unknown
mov edx, 0x30
lea r8, [0x140020e7c]
lea rcx, [0x1400279e0]
call fcn.140001010
cmp dword [0x1400288c4], 1
lea r14, [0x140028928]
mov byte [0x140028928], 0
jle 0x1400116f7
mov r9d, dword [0x1400271d8]
lea r8, str._bufs__u
mov edx, 0x30
mov rcx, r14
call fcn.140001010
cmp dword [0x1400288f4], 0
lea rax, str.__FIFO_
mov rcx, qword [0x140027140]
lea rbp, [0x140020360]
lea rdx, [0x140028890]
cmovne rbp, rax
call fcn.1400102b0
mov ecx, esi
lea rdx, [0x1400288f8]
mov rbx, rax
call fcn.1400102b0
mov rdx, qword [rdi + 0x10]
lea r8, [0x1400279e0]
mov qword [rsp + 0x30], rbp
lea rcx, str.xdelta3:_source__s__s_blksize__s_window__s_s_s_n
mov r9, rax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbx
call fcn.140010bb0
xor eax, eax
jmp 0x140011515
mov eax, 0xc
jmp 0x14001151a