Function at 0x180077340
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x18017a408]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov r13d, r9d
mov dword [rsp + 0x40], r9d
mov esi, r8d
mov dword [rsp + 0x64], r8d
mov r12, rdx
mov qword [rsp + 0x48], rdx
mov rbx, rcx
mov r14, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x108]
cmp dword [rcx + 0x460], 0x991144aa
je 0x1800773ad
xor ecx, ecx
call fcn.18000a020
mov dword [rbx + 0xb34], 0
mov r15d, 1
test r13d, r13d
cmovne r15d, r13d
mov dword [rsp + 0x44], r15d
cmp byte [rbx + 0xb32], 0
je 0x1800773f3
mov dword [rbx + 0xb34], 3
mov rax, qword [rdi]
lea rdx, str.Already_at_end_of_stream
mov rcx, rdi
call qword [rax + 0x28]
xor al, al
jmp 0x18007796c
lea rcx, [rbx + 0xcc8]
call fcn.180008740
test al, al
jne 0x1800775b4
cmp qword [rbx + 0xb08], 0
jne 0x1800775c2
mov ecx, 0x118
call fcn.1800c96b8
mov rsi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x180077445
xor edx, edx
mov r8d, 0x118
mov rcx, rax
call fcn.1800cae70
mov rcx, rsi
call fcn.180050b00
nop
mov qword [rbx + 0xb08], rax
mov r8, rdi
lea rdx, [rbx + 0xcc8]
mov rcx, rax
call fcn.180051610
test al, al
jne 0x180077472
mov ecx, 4
mov dword [rbx + 0xb34], ecx
jmp 0x18007796c
mov rdx, rdi
mov rcx, qword [rbx + 0xb08]
call fcn.180051580
mov rsi, rax
xor edx, edx
mov ebp, edx
test rax, rax
jg 0x1800774ca
mov byte [rbx + 0xb32], 1
mov qword [rbx + 0xb10], rdx
mov rcx, qword [rbx + 0xb08]
test rcx, rcx
je 0x1800774b2
mov rax, qword [rcx]
lea edx, [rbp + 1]
call qword [rax + 0x50]
xor edx, edx
mov qword [rbx + 0xb08], rdx
mov dword [rbx + 0xb34], 3
xor al, al
jmp 0x18007796c
movsxd rax, dword [rbx + 0x528]
test eax, eax
jle 0x18007758f
movsxd rcx, dword [rbx + 0x52c]
test ecx, ecx
jle 0x18007758f
mov rbp, rcx
imul rbp, rax
mov rcx, qword [rbx + 0xb08]
cmp rbp, rsi
jl 0x180077533
mov byte [rbx + 0xb32], 1
mov qword [rbx + 0xb10], rdx
test rcx, rcx
je 0x1800774b2
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x50]
xor edx, edx
mov qword [rbx + 0xb08], rdx
mov dword [rbx + 0xb34], 3
xor al, al
jmp 0x18007796c
mov r8, rdi
mov rdx, rbp
call fcn.180093250
test al, al
jne 0x18007758f
mov rax, qword [rdi]
lea rdx, str.Failed_to_skip_forward_to_source_file_part.
mov rcx, rdi
call qword [rax + 0x28]
mov byte [rbx + 0xb32], 1
xor edi, edi
mov qword [rbx + 0xb10], rdi
mov rcx, qword [rbx + 0xb08]
test rcx, rcx
je 0x180077577
mov rax, qword [rcx]
lea edx, [rdi + 1]
call qword [rax + 0x50]
mov qword [rbx + 0xb08], rdi
mov dword [rbx + 0xb34], 3
xor al, al
jmp 0x18007796c
movsxd rax, dword [rbx + 0x52c]
test eax, eax
jle 0x1800775a9
sub rsi, rbp
mov qword [rbx + 0xb10], rax
cmp rax, rsi
jle 0x1800775b0
mov qword [rbx + 0xb10], rsi
mov esi, dword [rsp + 0x64]
cmp qword [rbx + 0xb08], 0
je 0x1800776e7
mov eax, esi
cmp qword [rbx + 0xb10], rax
jg 0x1800775dc
mov byte [rbx + 0xb32], 1
mov esi, dword [rbx + 0xb10]
jmp 0x1800775e3
mov byte [rbx + 0xb32], 0
mov rcx, r12
call fcn.180015e00
mov r15d, eax
lea edx, [rax + rsi]
mov rcx, r12
call fcn.1800157f0
test al, al
jne 0x18007760c
mov dword [rbx + 0xb34], 5
jmp 0x18007796c
mov edx, r15d
mov rcx, r12
call fcn.180015b00
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x60], 0
mov rcx, qword [rbx + 0xb08]
mov r10, qword [rcx]
mov qword [rsp + 0x38], rdi
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x28], r14
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x64]
mov r8d, esi
mov rdx, rax
call qword [r10 + 8]
movzx esi, al
cmp byte [rsp + 0x60], 0
je 0x18007766a
mov byte [rbx + 0xb32], 1
mov r8d, dword [rsp + 0x64]
test r8d, r8d
je 0x1800776a2
sub qword [rbx + 0xb10], r8
lea edx, [r8 + r15]
mov rcx, r12
call fcn.180016ad0
mov eax, dword [rsp + 0x64]
add qword [rbx + 0x518], rax
cmp byte [rbx + 0xcb4], 0
jne 0x1800776a2
add qword [rbx + 0x520], rax
test sil, sil
jne 0x1800776de
mov ecx, 4
mov dword [rbx + 0xb34], ecx
mov rax, qword [r14]
mov rdx, rdi
mov rcx, r14
call qword [rax + 0x18]
test al, al
je 0x1800776cd
mov ebp, 2
mov dword [rbx + 0xb34], ebp
cmp byte [rsp + 0x60], 0
je 0x1800776de
mov dword [rbx + 0xb34], 3
movzx eax, sil
jmp 0x18007796c
mov rdx, qword [rbx + 0xb20]
test rdx, rdx
je 0x180077821
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x68]
call fcn.18002ed20
nop
mov rcx, r12
call fcn.180015e00
mov ebp, eax
mov rcx, qword [rbx + 0xb20]
mov r10, qword [rcx]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
mov r9d, r15d
mov r8d, esi
mov rdx, r12
call qword [r10 + 0x18]
movzx esi, al
mov rcx, r12
call fcn.180015e00
cmp eax, ebp
jbe 0x180077768
sub eax, ebp
mov ecx, eax
add qword [rbx + 0x518], rcx
cmp byte [rbx + 0xcb4], 0
jne 0x180077768
add qword [rbx + 0x520], rcx
mov rcx, qword [rbx + 0xb20]
mov rax, qword [rcx]
call qword [rax + 0x30]
test al, al
je 0x180077799
cmp byte [rdi + 0xd1], 0
je 0x180077792
mov rax, qword [rdi]
lea rdx, str.Reached_end_of_stream.
mov rcx, rdi
call qword [rax + 0x30]
mov byte [rbx + 0xb32], 1
test sil, sil
jne 0x18007780e
cmp byte [rbx + 0xb32], sil
je 0x1800777b3
mov dword [rbx + 0xb34], 3
jmp 0x1800777ee
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x20]
test al, al
je 0x1800777cd
mov edx, 1
mov dword [rbx + 0xb34], edx
jmp 0x1800777ee
mov rax, qword [r14]
mov rdx, rdi
mov rcx, r14
call qword [rax + 0x18]
mov ecx, 4
mov ebp, 2
test al, al
cmovne ecx, ebp
mov dword [rbx + 0xb34], ecx
cmp byte [rdi + 0xd1], 0
je 0x18007780e
mov r8d, dword [rbx + 0xb34]
lea rdx, str.readFailReason
mov rcx, rdi
call fcn.1800397c0
nop
lea rcx, [rsp + 0x68]
call fcn.18002ee00
movzx eax, sil
jmp 0x18007796c
lea rcx, [rbx + 0xa70]
call fcn.180078230
mov rsi, rax
test rax, rax
jne 0x1800778ab
mov r12d, r13d
mov eax, 0xfa
cmp r13d, eax
cmovb r12d, eax
call sub.KERNEL32.dll_GetTickCount
mov r13d, eax
mov ebp, 2
mov ecx, ebp
call sub.KERNEL32.dll_Sleep
lea rcx, [rbx + 0xa70]
call fcn.180078230
mov rsi, rax
call sub.KERNEL32.dll_GetTickCount
sub eax, r13d
cmp eax, r12d
ja 0x18007787b
test rsi, rsi
je 0x180077851
jmp 0x1800778a1
test rsi, rsi
jne 0x1800778a1
mov dword [rbx + 0xb34], 5
mov rax, qword [rdi]
lea rdx, str.No_stream_source.
mov rcx, rdi
call qword [rax + 0x28]
xor al, al
jmp 0x18007796c
mov r13d, dword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov byte [rsp + 0x60], 0
mov rcx, r12
call fcn.180015e00
mov ebp, eax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r12
mov r9d, dword [rsp + 0x64]
lea r8, [rsp + 0x60]
mov edx, r13d
mov rcx, rsi
call fcn.1800784c0
movzx edi, al
mov rcx, rsi
call fcn.180077ed0
test al, al
je 0x1800778ef
mov byte [rbx + 0xb32], 1
mov rcx, r12
call fcn.180015e00
cmp eax, ebp
jbe 0x180077916
sub eax, ebp
mov ecx, eax
add qword [rbx + 0x518], rcx
cmp byte [rbx + 0xcb4], 0
jne 0x180077916
add qword [rbx + 0x520], rcx
test dil, dil
jne 0x18007795c
movzx eax, byte [rsp + 0x60]
test al, al
je 0x180077932
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x30]
movzx eax, byte [rsp + 0x60]
cmp byte [rbx + 0xb32], 0
je 0x180077947
mov dword [rbx + 0xb34], 3
jmp 0x18007795c
mov ecx, 4
test al, al
mov edx, 1
cmovne ecx, edx
mov dword [rbx + 0xb34], ecx
lea rcx, [rbx + 0xa70]
call fcn.180078360
movzx eax, dil
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1800c9b90
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret