Function at 0x4cb900
Capabilities:
Get file size

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov rbp, rsp
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], r8
mov qword [rbp + 0x60], r9
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0
mov rax, qword [rbp + 0x60]
mov qword [rax], 0
mov rax, qword [rbp + 0x100]
mov qword [rax], 0
nop
mov rax, qword [rbp + 0x48]
mov rcx, rax
mov rbx, qword [rax]
call qword [rbx + 0x40]
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0xa8]
mov rax, qword [rbp + 0x50]
mov rbx, qword [rax]
call qword [rbx + 0x650]
mov rcx, qword [rbp + 0x48]
mov edx, 0x1f4
mov r8, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x48]
mov rbx, qword [rax]
call qword [rbx + 0x38]
cmp byte [rbp + 0x118], 0
je 0x4cba06
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0xa0]
mov rax, qword [rbp + 0x50]
mov rbx, qword [rax]
call qword [rbx + 0x660]
mov rcx, qword [rbp + 0x48]
mov edx, 0x1f4
mov r8, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x48]
mov rbx, qword [rax]
call qword [rbx + 0x38]
cmp byte [rbp + 0x110], 0
je 0x4cba77
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0x98]
mov rax, qword [rbp + 0x50]
mov rbx, qword [rax]
call qword [rbx + 0x670]
mov rcx, qword [rbp + 0x48]
mov edx, 0x1f4
mov r8, qword [rbp + 0x98]
mov rax, qword [rbp + 0x48]
mov rbx, qword [rax]
call qword [rbx + 0x38]
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0x90]
mov rax, qword [rbp + 0x50]
mov rbx, qword [rax]
call qword [rbx + 0x680]
mov rcx, qword [rbp + 0x48]
mov edx, 0x64
mov r8, qword [rbp + 0x90]
mov rax, qword [rbp + 0x48]
mov rbx, qword [rax]
call qword [rbx + 0x38]
jmp 0x4cbaaa
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0x88]
mov rax, qword [rbp + 0x50]
mov rbx, qword [rax]
call qword [rbx + 0x670]
mov rcx, qword [rbp + 0x48]
mov edx, 0x1388
mov r8, qword [rbp + 0x88]
mov rax, qword [rbp + 0x48]
mov rbx, qword [rax]
call qword [rbx + 0x38]
mov rcx, qword [rbp + 0x58]
call fcn.00413940
mov rcx, qword [rbp + 0x60]
mov rdx, qword [0x00422170]
mov r8d, 1
mov r9, rax
call fcn.00413ce0
mov rcx, qword [rbp + 0x58]
call fcn.00413940
mov rcx, qword [rbp + 0x100]
mov rdx, qword [0x004220f0]
mov r8d, 1
mov r9, rax
call fcn.00413ce0
mov rax, qword [rbp + 0x108]
mov dword [rax], 0
mov rcx, qword [rbp + 0x58]
call fcn.00413950
xor rbx, rbx
mov esi, eax
cmp ebx, esi
jg 0x4cbc84
add esi, 1
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x4cbb77
movsxd rax, ebx
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx + rax*8]
call fcn.00411e10
mov rcx, rax
mov edx, 0x80000000
mov r8d, 3
xor r9, r9
mov dword [rsp + 0x20], 3
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call sub.kernel32.dll_CreateFileW
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
movsxd rdx, ebx
mov qword [rcx + rdx*8], rax
jmp 0x4cbbdc
lea rcx, [rbp + 0x80]
movsxd rax, ebx
mov rdx, qword [rbp + 0x58]
mov rdx, qword [rdx + rax*8]
xor r8, r8
call fcn.00411660
mov rcx, qword [rbp + 0x80]
call fcn.00411320
mov rcx, rax
mov edx, 0x80000000
mov r8d, 3
xor r9, r9
mov dword [rsp + 0x20], 3
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call sub.kernel32.dll_CreateFileA
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
movsxd rdx, ebx
mov qword [rcx + rdx*8], rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
movsxd rcx, ebx
cmp qword [rax + rcx*8], 0xffffffffffffffff
je 0x4cbc67
mov rax, qword [rbp + 0x108]
add dword [rax], 1
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
movsxd rcx, ebx
mov rcx, qword [rax + rcx*8]
xor rdx, rdx
call sub.kernel32.dll_GetFileSize
mov rcx, qword [rbp + 0x100]
mov rcx, qword [rcx]
movsxd rdx, ebx
mov dword [rcx + rdx*4], eax
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0x78]
mov rax, qword [rbp + 0x50]
mov rdi, qword [rax]
call qword [rdi + 0x6a0]
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
movsxd rdx, ebx
mov r8d, 0x10
mov eax, dword [rax + rdx*4]
xor edx, edx
div r8d
mov rdx, rax
mov edx, edx
mov r8, qword [rbp + 0x78]
mov rax, qword [rbp + 0x48]
mov rdi, qword [rax]
call qword [rdi + 0x38]
jmp 0x4cbc79
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
movsxd rcx, ebx
mov qword [rax + rcx*8], 0xffffffffffffffff
add ebx, 1
cmp ebx, esi
jne 0x4cbb19
nop
mov rax, qword [rbp + 0x108]
cmp dword [rax], 0
jg 0x4cbc9f
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x4cbc9f
xor rax, rax
jmp 0x4cbca1
mov al, 1
mov byte [rbp + 0x6f], al
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0x70]
mov rax, qword [rbp + 0x50]
mov rbx, qword [rax]
call qword [rbx + 0x6b0]
mov rcx, qword [rbp + 0x48]
mov edx, 0x3e8
mov r8, qword [rbp + 0x70]
mov rax, qword [rbp + 0x48]
mov rbx, qword [rax]
call qword [rbx + 0x38]
mov rax, qword [rbp + 0x48]
mov rcx, rax
mov rbx, qword [rax]
call qword [rbx + 0x48]
nop
lea rcx, [rbp + 0x70]
mov edx, 2
call fcn.00410160
lea rcx, [rbp + 0x80]
call fcn.004100d0
lea rcx, [rbp + 0x88]
mov edx, 5
call fcn.00410160
movzx rax, byte [rbp + 0x6f]
lea rsp, [rbp + 0xb8]
pop rbx
pop rsi
pop rdi
pop rbp
ret