Function at 0x61c644
Capabilities:
Get file size

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbx
push rsi
push rdi
sub rsp, 0x140
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov rsi, rdx
and dword [rax + 0x20], 0
lea r8, [rax + 0x18]
lea rdx, [0x007986b0]
mov rcx, rsi
call fcn.004021a8
mov dword [rsp + 0x178], 1
lea r8, [0x007bdfac]
lea rdx, str._h1_System_Logs__h1_
mov rcx, rsi
call fcn.00402720
mov rbx, qword [0x00862cb8]
cmp byte [rbx + 0x2e9c], 0
jne 0x61c6c7
mov rcx, qword [rbx + 0xb8]
test rcx, rcx
je 0x61c6c7
mov edx, 0x1c
call fcn.004083bc
mov rdi, rax
jmp 0x61c6ce
lea rdi, [rbx + 0x600]
cmp byte [rbx + 0x2e96], 0
jne 0x61c6ef
mov rcx, qword [rbx + 0xb8]
test rcx, rcx
je 0x61c6ef
mov edx, reloc.WS2_32.dll_shutdown
call fcn.004083bc
jmp 0x61c6f6
lea rax, [rbx + 0x4e0]
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x110]
call fcn.00402448
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.0058904c
nop
mov r9d, 1
mov r8d, 0x80000000
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x28]
call fcn.005944d4
nop
lea rdx, [rsp + 0x170]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
or edx, 0xffffffff
cmp eax, edx
jne 0x61c765
lea rcx, [rsp + 0x170]
call fcn.00594950
mov rcx, rax
jmp 0x61c775
mov ecx, dword [rsp + 0x170]
shl rcx, 0x20
mov eax, eax
or rcx, rax
mov ebx, 0x8000
cmp rcx, rbx
jle 0x61c7a7
lea rax, [rcx - 0x8000]
sar rax, 0x20
mov dword [rsp + 0x20], eax
xor r9d, r9d
lea r8, [rsp + 0x20]
lea edx, [rcx - 0x8000]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x30ba], 0
jne 0x61c7cf
mov rcx, qword [rax + 0xb8]
test rcx, rcx
je 0x61c7cf
mov edx, 0x23a
call fcn.0041024c
jmp 0x61c7d5
mov al, byte [rax + 0x2cdb]
test al, al
je 0x61c91b
mov r8, rbx
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x28]
call fcn.00595438
nop
lea r8, [0x0078cb38]
mov rdx, rax
lea rcx, [rsp + 0xc8]
call fcn.0049cb7c
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.004446d4
nop
lea rcx, [rsp + 0xc8]
call fcn.00401d58
nop
lea rax, [rsp + 0xe0]
mov rcx, qword [rsp + 0x108]
cmp rcx, rax
je 0x61c861
test rcx, rcx
je 0x61c861
mov rdx, qword [rsp + 0xe0]
sub rdx, rcx
cmp rdx, 0x100
jbe 0x61c85c
call fcn.006a4944
jmp 0x61c861
call fcn.006a3610
mov rcx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
sub rcx, r9
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rdi, rdx
sar rdi, 3
mov rax, rdi
shr rax, 0x3f
add rdi, rax
lea rax, [rdi - 0xb]
xor ebx, ebx
cmp rdi, 0xb
cmova rbx, rax
lea rax, [rdi - 1]
cmp rbx, rax
jae 0x61c90f
lea r8, [rbx + rbx*2]
shl r8, 4
add r8, r9
lea rdx, str._br___nbsp_
lea rcx, [rsp + 0x58]
call fcn.0040fe34
nop
mov r8, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
mov rcx, rsi
call fcn.00402720
nop
lea rax, [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
cmp rcx, rax
je 0x61c905
test rcx, rcx
je 0x61c905
mov rdx, qword [rsp + 0x58]
sub rdx, rcx
cmp rdx, 0x100
jbe 0x61c900
call fcn.006a4944
jmp 0x61c905
call fcn.006a3610
inc rbx
mov r9, qword [rsp + 0x40]
jmp 0x61c89a
lea rcx, [rsp + 0x40]
call fcn.00401d58
jmp 0x61c931
lea r8, [0x007bdfd7]
lea rdx, str._br___nbsp_System_logging_not_enabled.
mov rcx, rsi
call fcn.00402720
lea rcx, [rsp + 0x28]
call fcn.0059492c
nop
lea rax, [0x007955b8]
mov qword [rsp + 0x28], rax
lea rax, [0x007955c8]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x28]
call fcn.0059492c
lea r11, [0x007955f8]
mov qword [rsp + 0x30], r11
lea rax, [0x007955e8]
mov qword [rsp + 0x28], rax
jmp 0x61c980
lea rax, [rsp + 0x98]
mov rcx, qword [rsp + 0xc0]
cmp rcx, rax
je 0x61c9ba
test rcx, rcx
je 0x61c9ba
mov rdx, qword [rsp + 0x98]
sub rdx, rcx
cmp rdx, 0x100
jbe 0x61c9b5
call fcn.006a4944
jmp 0x61c9ba
call fcn.006a3610
mov rax, rsi
add rsp, 0x140
pop rdi
pop rsi
pop rbx
ret