Function at 0x4e77e4
Capabilities:
Get file size

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
sub rsp, 0x2f0
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov r13, rcx
mov rcx, qword [rcx + 0xeb0]
xor ebx, ebx
cmp rcx, rbx
je 0x4e783a
call fcn.005db44c
cmp byte [rax + 0x2f21], bl
jne 0x4e7832
mov rcx, qword [rax + 0x30]
cmp rcx, rbx
je 0x4e7832
mov edx, 0x129
call fcn.0040a51c
jmp 0x4e7867
mov eax, dword [rax + 0x2840]
jmp 0x4e7867
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x2fa9], bl
jne 0x4e7861
mov rcx, qword [rax + 0xb8]
cmp rcx, rbx
je 0x4e7861
mov edx, 0x129
call fcn.0040a51c
jmp 0x4e7867
mov eax, dword [rax + 0x28c8]
cmp eax, ebx
je 0x4e7fdf
lea rax, [rsp + 0x320]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x328]
lea r8, [rsp + 0x330]
xor edx, edx
lea rcx, [rsp + 0xb0]
call fcn.00415c3c
nop
lea rdx, [rsp + 0x178]
mov rcx, qword [r13 + 0xeb0]
call fcn.005daf34
mov rdi, rax
lea rdx, str.hubNI
lea rcx, [rsp + 0xb0]
call fcn.005407dc
cmp rdi, rax
je 0x4e78dd
mov r8, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
mov rcx, rax
call fcn.0040289c
nop
lea rax, [rsp + 0x178]
mov rcx, qword [rsp + 0x1a0]
cmp rcx, rax
je 0x4e791a
cmp rcx, rbx
je 0x4e791a
mov rdx, qword [rsp + 0x178]
sub rdx, rcx
mov esi, 0x100
cmp rdx, rsi
jbe 0x4e7913
call fcn.006a4944
jmp 0x4e791f
call fcn.006a3610
jmp 0x4e791f
mov esi, 0x100
lea rdx, [rsp + 0x220]
mov rcx, qword [r13 + 0xeb0]
call fcn.00415ee0
mov rdi, rax
lea rdx, str.hubURL
lea rcx, [rsp + 0xb0]
call fcn.005407dc
cmp rdi, rax
je 0x4e7960
mov r8, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
mov rcx, rax
call fcn.0040289c
nop
lea rax, [rsp + 0x220]
mov rcx, qword [rsp + 0x248]
cmp rcx, rax
je 0x4e7996
cmp rcx, rbx
je 0x4e7996
mov rdx, qword [rsp + 0x220]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4e7991
call fcn.006a4944
jmp 0x4e7996
call fcn.006a3610
lea rdx, [rsp + 0x1d8]
mov rcx, qword [r13 + 0xeb0]
call fcn.00414e04
mov rdi, rax
lea rdx, str.userNI
lea rcx, [rsp + 0xb0]
call fcn.005407dc
cmp rdi, rax
je 0x4e79d7
mov r8, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
mov rcx, rax
call fcn.0040289c
nop
lea rax, [rsp + 0x1d8]
mov rcx, qword [rsp + 0x200]
cmp rcx, rax
je 0x4e7a0d
cmp rcx, rbx
je 0x4e7a0d
mov rdx, qword [rsp + 0x1d8]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4e7a08
call fcn.006a4944
jmp 0x4e7a0d
call fcn.006a3610
mov rcx, qword [r13 + 0xeb0]
test byte [rcx + 0x18], 0x10
je 0x4e7a8e
add rcx, 0x2c
lea rdx, [rsp + 0x118]
call fcn.00414f58
mov rdi, rax
lea rdx, str.userCID
lea rcx, [rsp + 0xb0]
call fcn.005407dc
cmp rdi, rax
je 0x4e7a58
mov r8, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
mov rcx, rax
call fcn.0040289c
nop
lea rax, [rsp + 0x118]
mov rcx, qword [rsp + 0x140]
cmp rcx, rax
je 0x4e7a8e
cmp rcx, rbx
je 0x4e7a8e
mov rdx, qword [rsp + 0x118]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4e7a89
call fcn.006a4944
jmp 0x4e7a8e
call fcn.006a3610
mov rcx, qword [r13 + 0xeb0]
cmp rcx, rbx
je 0x4e7acf
call fcn.005db44c
cmp byte [rax + 0x2e10], bl
jne 0x4e7abf
mov rcx, qword [rax + 0x30]
cmp rcx, rbx
je 0x4e7abf
mov edx, 0x18
call fcn.004083bc
mov r12, rax
jmp 0x4e7ac6
lea r12, [rax + 0x4b8]
mov rdi, qword [0x00862cb8]
jmp 0x4e7b00
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x2e98], bl
jne 0x4e7af9
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4e7af9
mov edx, 0x18
call fcn.004083bc
mov r12, rax
jmp 0x4e7b00
lea r12, [rdi + 0x540]
mov rcx, qword [r13 + 0xeb0]
cmp rcx, rbx
je 0x4e7b3a
call fcn.005db44c
cmp byte [rax + 0x2e0e], bl
jne 0x4e7b31
mov rcx, qword [rax + 0x30]
cmp rcx, rbx
je 0x4e7b31
mov edx, reloc.WS2_32.dll_shutdown
call fcn.004083bc
mov rdi, rax
jmp 0x4e7b64
lea rdi, [rax + 0x458]
jmp 0x4e7b64
cmp byte [rdi + 0x2e96], bl
jne 0x4e7b5d
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4e7b5d
mov edx, reloc.WS2_32.dll_shutdown
call fcn.004083bc
mov rdi, rax
jmp 0x4e7b64
add rdi, 0x4e0
xor r9d, r9d
lea r8, [rsp + 0xb0]
mov rdx, r12
lea rcx, [rsp + 0x148]
call fcn.0058b150
nop
mov r8, rax
mov rdx, rdi
lea rcx, [rsp + 0x2b8]
call fcn.00402448
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.0058904c
nop
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x170]
cmp rcx, rax
je 0x4e7bdb
cmp rcx, rbx
je 0x4e7bdb
mov rdx, qword [rsp + 0x148]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4e7bd5
call fcn.006a4944
jmp 0x4e7bdb
call fcn.006a3610
nop
mov r9d, 1
mov r8d, 0x80000000
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x58]
call fcn.005944d4
nop
lea rdx, [rsp + 0x338]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
or edx, 0xffffffff
cmp eax, edx
jne 0x4e7c26
lea rcx, [rsp + 0x338]
call fcn.00594950
mov rcx, rax
jmp 0x4e7c36
mov ecx, dword [rsp + 0x338]
shl rcx, 0x20
mov eax, eax
or rcx, rax
mov edi, 0x8000
cmp rcx, rdi
jle 0x4e7c68
lea rax, [rcx - 0x8000]
sar rax, 0x20
mov dword [rsp + 0x38], eax
xor r9d, r9d
lea r8, [rsp + 0x38]
lea edx, [rcx - 0x8000]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov r8, rdi
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.00595438
nop
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbx
mov edi, 3
mov r8, rdi
lea rdx, [0x007955b0]
mov rcx, qword [rsp + 0xa0]
call fcn.006a62c8
cmp eax, ebx
jne 0x4e7d34
or r9, 0xffffffffffffffff
mov r8, rdi
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x78]
call fcn.00420df8
nop
lea r8, [0x0078cb38]
mov rdx, rax
lea rcx, [rsp + 0x250]
call fcn.0049cb7c
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.00466540
nop
lea rcx, [rsp + 0x250]
call fcn.00401d58
nop
lea rax, [rsp + 0x1a8]
mov rcx, qword [rsp + 0x1d0]
cmp rcx, rax
je 0x4e7d69
cmp rcx, rbx
je 0x4e7d69
mov rdx, qword [rsp + 0x1a8]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4e7d2d
call fcn.006a4944
jmp 0x4e7d69
call fcn.006a3610
jmp 0x4e7d69
lea r8, [0x0078cb38]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x208]
call fcn.0049cb7c
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.00466540
nop
lea rcx, [rsp + 0x208]
call fcn.00401d58
mov rcx, qword [rsp + 0x48]
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov r12, rdx
sar r12, 3
mov rax, r12
shr rax, 0x3f
add r12, rax
mov rcx, qword [r13 + 0xeb0]
cmp rcx, rbx
je 0x4e7dc7
call fcn.005db44c
cmp byte [rax + 0x2f21], bl
jne 0x4e7dbf
mov rcx, qword [rax + 0x30]
cmp rcx, rbx
je 0x4e7dbf
mov edx, 0x129
call fcn.0040a51c
jmp 0x4e7df4
mov eax, dword [rax + 0x2840]
jmp 0x4e7df4
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x2fa9], bl
jne 0x4e7dee
mov rcx, qword [rax + 0xb8]
cmp rcx, rbx
je 0x4e7dee
mov edx, 0x129
call fcn.0040a51c
jmp 0x4e7df4
mov eax, dword [rax + 0x28c8]
inc eax
movsxd rcx, eax
cmp r12, rcx
jbe 0x4e7e6b
mov rcx, qword [r13 + 0xeb0]
cmp rcx, rbx
je 0x4e7e34
call fcn.005db44c
cmp byte [rax + 0x2f21], bl
jne 0x4e7e2c
mov rcx, qword [rax + 0x30]
cmp rcx, rbx
je 0x4e7e2c
mov edx, 0x129
call fcn.0040a51c
jmp 0x4e7e61
mov eax, dword [rax + 0x2840]
jmp 0x4e7e61
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x2fa9], bl
jne 0x4e7e5b
mov rcx, qword [rax + 0xb8]
cmp rcx, rbx
je 0x4e7e5b
mov edx, 0x129
call fcn.0040a51c
jmp 0x4e7e61
mov eax, dword [rax + 0x28c8]
cdqe
mov rdi, r12
sub rdi, rax
jmp 0x4e7e6e
mov rdi, rbx
cmp rdi, r12
jae 0x4e7f28
mov qword [rsp + 0x30], rbx
lea rdx, [rdi + rdi*2]
shl rdx, 4
add rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x268]
call fcn.00401f00
nop
lea rcx, [r13 + 0x3c0]
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x20], 1
mov r9d, reloc.WS2_32.dll_ntohs
mov r8, qword [rax + 0x48]
lea rdx, [rsp + 0x30]
call fcn.0041995c
nop
lea rax, [rsp + 0x268]
mov rcx, qword [rsp + 0x2b0]
cmp rcx, rax
je 0x4e7efa
cmp rcx, rbx
je 0x4e7efa
mov rax, qword [rsp + 0x268]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, rsi
jbe 0x4e7ef4
call fcn.006a4944
jmp 0x4e7efa
call fcn.006a3610
nop
mov rax, qword [rsp + 0x30]
cmp rax, rbx
je 0x4e7f20
or ecx, 0xffffffff
lock xadd dword [rax + 8], ecx
add ecx, 0xffffffff
jne 0x4e7f20
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
inc rdi
jmp 0x4e7e6e
lea rcx, [rsp + 0x58]
call fcn.0059492c
nop
lea rcx, [rsp + 0x40]
call fcn.00401d58
nop
lea rax, [rsp + 0x78]
mov rcx, qword [rsp + 0xa0]
cmp rcx, rax
je 0x4e7f6f
cmp rcx, rbx
je 0x4e7f6f
mov rdx, qword [rsp + 0x78]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4e7f69
call fcn.006a4944
jmp 0x4e7f6f
call fcn.006a3610
nop
lea rax, [0x007955b8]
mov qword [rsp + 0x58], rax
lea rax, [0x007955c8]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.0059492c
nop
jmp 0x4e7f9b
lea rax, [rsp + 0xe8]
mov rcx, qword [rsp + 0x110]
cmp rcx, rax
je 0x4e7fd2
cmp rcx, rbx
je 0x4e7fd2
mov rdx, qword [rsp + 0xe8]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4e7fcc
call fcn.006a4944
jmp 0x4e7fd2
call fcn.006a3610
nop
lea rcx, [rsp + 0xb0]
call fcn.00415b98
add rsp, 0x2f0
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret