Function at 0x140025a88
Capabilities:
Get file size

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov r14d, edx
mov rdi, rcx
xor r15d, r15d
mov ebx, r15d
mov dword [rsp + 0x40], ebx
mov rsi, qword [rcx + 0x430]
test rsi, rsi
jne 0x140025ac4
mov ebx, 0xc00ee060
mov dword [0x14002ecc8], 0x1051
jmp 0x140025e50
test dl, 1
je 0x140025b5b
lea rdx, [rsp + 0x50]
mov rcx, qword [rcx + 0x420]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140025b19
call fcn.14001215c
mov ebx, eax
mov ecx, 0x80070570
cmp eax, ecx
je 0x140025b07
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x140025b60
mov dword [0x14002ecc8], 0x105b
jmp 0x140025b60
mov ebx, ecx
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x105b
jmp 0x140025b60
cmp dword [rsp + 0x54], r15d
jle 0x140025b37
mov ecx, 0x80070570
mov ebx, ecx
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x105f
jmp 0x140025b60
mov rax, qword [rsp + 0x50]
cmp eax, dword [rdi + 0x44c]
je 0x140025b5b
mov ecx, 0x80070570
mov ebx, ecx
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x1063
jmp 0x140025b60
mov ecx, 0x80070570
test ebx, ebx
js 0x140025e50
test r14b, 2
je 0x140025c79
mov dword [rsp + 0xa8], r15d
mov dword [rsp + 0xa0], r15d
mov r8d, dword [rdi + 0x44c]
cmp r8d, 0x600000
jbe 0x140025ba1
mov dword [0x14002eccc], 0x1070
jmp 0x140025c73
cmp dword [rdi + 0x438], 0x60
je 0x140025bb9
mov dword [0x14002eccc], 0x1074
jmp 0x140025c73
mov eax, dword [rdi + 0x43c]
cmp eax, 0x60
ja 0x140025bd3
mov dword [0x14002eccc], 0x1078
jmp 0x140025c73
test eax, eax
jne 0x140025be6
mov dword [0x14002eccc], 0x107c
jmp 0x140025c73
mov edx, dword [rdi + 0x440]
test edx, edx
jne 0x140025bfc
mov dword [0x14002eccc], 0x1080
jmp 0x140025c73
add edx, eax
cmp edx, eax
jb 0x140025c61
mov dword [rsp + 0xa8], edx
mov eax, dword [rdi + 0x444]
cmp edx, eax
jne 0x140025c69
test eax, eax
jne 0x140025c23
mov dword [0x14002eccc], 0x1088
jmp 0x140025c73
mov edx, dword [rdi + 0x448]
test edx, edx
jne 0x140025c39
mov dword [0x14002eccc], 0x108c
jmp 0x140025c73
add edx, eax
cmp edx, eax
jb 0x140025c4d
mov dword [rsp + 0xa0], edx
cmp edx, r8d
je 0x140025c79
jmp 0x140025c55
or dword [rsp + 0xa0], 0xffffffff
mov dword [0x14002eccc], 0x1090
jmp 0x140025c73
or dword [rsp + 0xa8], 0xffffffff
mov dword [0x14002eccc], 0x1084
mov ebx, ecx
mov dword [rsp + 0x40], ecx
test ebx, ebx
js 0x140025e50
mov r14d, dword [rsi + 4]
test r14d, r14d
jns 0x140025c9d
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x109c
jmp 0x140025d4f
mov eax, dword [rsi + 0x5c]
cmp dword [rdi + 0x438], eax
je 0x140025cbb
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x10a0
jmp 0x140025d4f
mov eax, dword [rsi + 8]
cmp dword [rdi + 0x43c], eax
je 0x140025cd6
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x10a4
jmp 0x140025d4f
mov edx, dword [rdi + 0x440]
cmp edx, dword [rsi + 0xc]
je 0x140025cf1
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x10a8
jmp 0x140025d4f
mov eax, dword [rsi + 0x24]
cmp dword [rdi + 0x444], eax
je 0x140025d0c
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x10ac
jmp 0x140025d4f
mov eax, dword [rdi + 0x448]
cmp eax, dword [rsi + 0x28]
je 0x140025d27
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x10b0
jmp 0x140025d4f
cmp edx, dword [rsi + 0x14]
jae 0x140025d3c
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x10b4
jmp 0x140025d4f
cmp eax, dword [rsi + 0x30]
jae 0x140025d51
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x10b8
mov ebx, ecx
test ebx, ebx
js 0x140025e3b
mov eax, dword [rsi + 0x40]
add eax, 0xffffff80
cmp eax, 1
ja 0x140025e2b
mov ebx, r15d
mov dword [rsp + 0x90], ebx
test r14d, 0xfffffff8
je 0x140025d8e
mov ebx, ecx
mov dword [rsp + 0x90], ecx
mov dword [0x14002eccc], 0x10c6
test ebx, ebx
js 0x140025e21
mov ecx, r14d
shr ecx, 1
and cl, 1
mov dword [rsp + 0x38], 0x6727
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [rdi + 0x440]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi + 0x14]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsi + 0x10]
mov r8d, dword [rsi + 0x1c]
mov edx, dword [rsi + 0x18]
call fcn.14002593c
mov ebx, eax
mov dword [rsp + 0x90], eax
test eax, eax
js 0x140025e21
shr r14d, 2
and r14b, 1
mov dword [rsp + 0x38], 0x1d
mov eax, dword [rsi + 0x3c]
mov dword [rsp + 0x30], eax
mov eax, dword [rdi + 0x448]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi + 0x30]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsi + 0x2c]
mov r8d, dword [rsi + 0x38]
mov edx, dword [rsi + 0x34]
mov cl, r14b
call fcn.14002593c
mov ebx, eax
mov dword [rsp + 0x90], eax
test eax, eax
cmovns ebx, r15d
mov dword [rsp + 0x40], ebx
jmp 0x140025e3b
mov ebx, ecx
mov dword [rsp + 0x40], ecx
mov dword [0x14002eccc], 0x10ed
jmp 0x140025e50
mov eax, ebx
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret