Function at 0x1800910a0
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x1800f6ae8]
xor rax, rsp
mov qword [rsp + 0x98], rax
imul r12d, r9d, 0x228
mov r15d, r9d
mov r14, r8
mov rsi, rdx
mov rdi, rcx
mov ebx, r9d
cmp r9d, r12d
ja 0x1800912ae
mov rbp, qword [rsp + 0x50]
xor r13d, r13d
cmp ebx, 0x4cd6
ja 0x18009136b
je 0x1800912ae
mov eax, ebx
sub eax, 0x56
je 0x1800912de
sub eax, 0x6f
je 0x18009126f
sub eax, 0x54
je 0x18009120d
cmp eax, 0x34c5
jne 0x180091399
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x78]
lea rax, [rsp + 0x78]
mov dword [rsp + 0x28], 0x20
mov r9d, 0x20
mov qword [rsp + 0x20], rax
mov edx, 0x74004
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x180091180
movsxd rcx, dword [rsi]
mov rax, qword [rsp + 0x80]
cqo
idiv rcx
mov dword [r14], eax
jmp 0x180091399
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x60]
lea rax, [rsp + 0x60]
mov dword [rsp + 0x28], 0x18
mov r9d, 0x18
mov qword [rsp + 0x20], rax
mov edx, 0x70000
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x1800911e2
mov eax, dword [rsp + 0x6c]
imul eax, dword [rsp + 0x70]
movsxd rcx, dword [rsi]
imul eax, dword [rsp + 0x74]
imul rax, qword [rsp + 0x60]
cqo
idiv rcx
mov dword [r14], eax
jmp 0x180091399
lea rdx, [rsp + 0x58]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x180091399
movsxd rcx, dword [rsi]
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov dword [r14], eax
jmp 0x180091399
mov eax, dword [rsi]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x50]
mov rax, qword [rdi]
xor ecx, ecx
mov dword [rsp + 0x20], 0x3e
mov r9, qword [rax + 0x38]
mov qword [rsp + 0x50], rax
call fcn.180085210
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x20]
test byte [rdx + 0x60], 0x80
je 0x18009125c
mov ecx, dword [rax + 0x28]
mov eax, dword [rax + 8]
shl rcx, 0x20
or rax, rcx
mov qword [rsp + 0x40], rax
jmp 0x180091399
mov eax, dword [rax + 8]
mov rcx, r13
or rax, rcx
mov qword [rsp + 0x40], rax
jmp 0x180091399
xor r9d, r9d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov edx, 0x80000000
mov rcx, rdi
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x180091399
mov dword [rsp + 0x40], 9
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.1800d1090
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test rdi, rdi
je 0x1800912ae
test rsi, rsi
je 0x1800912ae
mov r9d, 0x7e
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1800af860
mov r9d, 0x102
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov rdx, rdi
xor ecx, ecx
call fcn.1800ac920
test eax, eax
jne 0x180091399
nop dword [rax + rax]
mov r9, rdi
mov dword [rsp + 0x20], 0xf9
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1800913b0
mov rcx, rax
call rsi
xor r8d, r8d
mov r9, rdi
xor ecx, ecx
lea edx, [r8 + 0x7c]
call fcn.1800467d0
mov r9d, 0x102
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov rdx, rdi
xor ecx, ecx
call fcn.1800ac920
test eax, eax
je 0x180091320
jmp 0x180091399
cmp ebx, 0x6af7
je 0x180091390
cmp ebx, 0xa010
je 0x180091389
cmp ebx, 0xd529
je 0x1800912ae
jmp 0x180091399
mov dword [rsp + 0x40], r13d
jmp 0x180091399
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
imul eax, r15d, 0x45
add ebx, eax
cmp ebx, r12d
jbe 0x1800910f0
jmp 0x1800912ae