Function at 0x18003fb30
Capabilities:
Check for time delay via gettickcount
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x370], rbx
mov rax, qword [0x1800ad0e0]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov r12, rdx
mov r13, rcx
mov qword [rbp + 0x1b8], rcx
mov qword [rbp + 0x1c0], rdx
xor eax, eax
mov qword [rsp + 0x28], rax
lea rax, [0x1800b8980]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x28], 0
lea rcx, [rsp + 0x20]
call fcn.180019d60
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, eax
mov rbx, qword [0x1800b8990]
mov qword [rsp + 0x40], rbx
xor r15d, r15d
mov rdx, qword [0x1800b8998]
cmp rbx, rdx
je 0x18003fef6
lea rsi, vtable.boost::io::basic_altstringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
movzx edi, byte [rbp + 0x1c8]
nop word [rax + rax]
mov rax, qword [rbx]
mov ecx, r14d
sub ecx, dword [rax + 0x70c]
cmp ecx, 0x2932e00
jbe 0x18003fe86
lea rdx, str.delete_url_cache__file_name_is__s__url_is__s
lea rcx, [rbp - 0x70]
call fcn.18000cdd0
nop
mov rdx, qword [rbx]
add rdx, 0x400
mov rcx, rax
call fcn.180022150
mov rdx, qword [rbx]
mov rcx, rax
call fcn.180022150
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.180027560
nop
cmp byte [rbp + 0x80], 0
je 0x18003fc6c
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x18003fc65
mov rax, qword [rcx]
call qword [rax + select]
test rax, rax
je 0x18003fc65
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov byte [rbp + 0x80], 0
mov qword [rbp], rsi
lea rcx, [rbp]
call fcn.1800178e0
lea rax, vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov qword [rbp], rax
mov rsi, qword [rbp + 0x60]
test rsi, rsi
je 0x18003fcbd
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x18003fcb0
mov rax, qword [rcx]
call qword [rax + select]
test rax, rax
je 0x18003fcb0
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov edx, select
mov rcx, rsi
call fcn.18004736c
lea rcx, [rbp - 0x28]
call fcn.180002740
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x18003fd3e
mov rax, qword [rbp - 0x48]
sub rax, rcx
sar rax, 2
movabs rdx, 0x3fffffffffffffff
cmp rax, rdx
ja 0x18003feba
lea rax, [rax*4]
cmp rax, 0x1000
jb 0x18003fd2d
test cl, 0x1f
jne 0x18003feb4
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18003feae
sub rcx, rax
cmp rcx, 8
jb 0x18003fea8
cmp rcx, 0x27
ja 0x18003fea2
mov rcx, rax
call fcn.180046964
mov qword [rbp - 0x58], r15
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x18003fddf
movzx r9d, dil
lea r8, [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
call fcn.180008fa0
mov rcx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x70]
sub rcx, r8
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movabs rax, 0x1c71c71c71c71c7
cmp rdx, rax
ja 0x18003fed8
lea rax, [rdx + rdx*8]
shl rax, 4
cmp rax, 0x1000
jb 0x18003fdd6
test r8b, 0x1f
jne 0x18003fed2
mov rax, qword [r8 - 8]
cmp rax, r8
jae 0x18003fecc
sub r8, rax
cmp r8, 8
jb 0x18003fec6
cmp r8, 0x27
ja 0x18003fec0
mov r8, rax
mov rcx, r8
call fcn.180046964
nop
lea rcx, [rbp + 0x1d0]
cmp qword [rbp + 0x1e8], 0x10
cmovae rcx, qword [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, 0x710
mov rcx, qword [rbx]
call fcn.18004736c
lea rdx, [rbx + 8]
mov r8, qword [0x1800b8998]
sub r8, rdx
mov rcx, rbx
call fcn.18004df20
mov rdx, qword [0x1800b8998]
sub rdx, 8
mov qword [0x1800b8998], rdx
mov rax, qword [rbp + 0x1e8]
cmp rax, 0x10
jb 0x18003fe91
inc rax
mov rcx, qword [rbp + 0x1d0]
cmp rax, 0x1000
jb 0x18003fe78
test cl, 0x1f
jne 0x18003fef0
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18003feea
sub rcx, rax
cmp rcx, 8
jb 0x18003fee4
cmp rcx, 0x27
ja 0x18003fede
mov rcx, rax
call fcn.180046964
mov rdx, qword [0x1800b8998]
jmp 0x18003fe91
add rbx, 8
mov qword [rsp + 0x40], rbx
jmp 0x18003fe98
lea rsi, vtable.boost::io::basic_altstringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
cmp rbx, rdx
je 0x18003fef6
jmp 0x18003fbe0
call fcn.180057aec
int3
call fcn.180057aec
int3
call fcn.180057aec
int3
call fcn.180057aec
int3
call fcn.180057aec
nop
call fcn.180057aec
int3
call fcn.180057aec
int3
call fcn.180057aec
int3
call fcn.180057aec
int3
call fcn.180057aec
nop
call fcn.180057aec
int3
call fcn.180057aec
int3
call fcn.180057aec
int3
call fcn.180057aec
nop
cmp byte [rsp + 0x28], 0
je 0x18003ff61
mov ecx, 0x80000000
mov rax, qword [rsp + 0x20]
lock xadd dword [rax], ecx
bt ecx, 0x1e
jb 0x18003ff61
cmp ecx, 0x80000000
jle 0x18003ff61
mov rax, qword [rsp + 0x20]
lock bts dword [rax], 0x1e
jb 0x18003ff61
mov rdi, qword [rsp + 0x20]
mov rbx, qword [rdi + 8]
test rbx, rbx
jne 0x18003ff57
xor edx, edx
xor ecx, ecx
call fcn.1800177f0
mov rcx, rax
xor eax, eax
lock cmpxchg qword [rdi + 8], rcx
mov rbx, rax
je 0x18003ff54
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18003ff57
mov rbx, rcx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop
mov ecx, 0x710
call fcn.180046b20
mov r14, rax
mov qword [rbp + 0x1b0], rax
test rax, rax
je 0x1800403e7
xor edx, edx
mov r8d, 0x710
mov rcx, rax
call fcn.18004c910
mov r8, r13
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x1c8]
call fcn.180002bd0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18003ffaf
mov rdx, qword [rax]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x18003ffb3
mov r8d, 0x3ff
cmp rax, r8
ja 0x18003ffda
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18003ffd0
mov rcx, r14
call fcn.180059080
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x18004003a
inc rax
mov rcx, qword [rsp + 0x50]
cmp rax, 0x1000
jb 0x180040035
test cl, 0x1f
je 0x180040008
call fcn.180057aec
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180040017
call fcn.180057aec
int3
sub rcx, rax
cmp rcx, 8
jae 0x180040026
call fcn.180057aec
int3
cmp rcx, 0x27
jbe 0x180040032
call fcn.180057aec
int3
mov rcx, rax
call fcn.180046964
mov r8, r12
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x1c8]
call fcn.180002bd0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18004005b
mov rdx, qword [rax]
lea rsi, [r14 + 0x400]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180040066
mov ebx, 0x103
cmp rax, rbx
jbe 0x18004007e
mov r8d, ebx
jmp 0x18004008c
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x180040082
mov rcx, rsi
call fcn.180059080
mov rax, qword [rbp - 0x78]
cmp rax, 0x10
jb 0x1800400eb
inc rax
mov rcx, qword [rsp + 0x70]
cmp rax, 0x1000
jb 0x1800400e6
test cl, 0x1f
je 0x1800400b9
call fcn.180057aec
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800400c8
call fcn.180057aec
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800400d7
call fcn.180057aec
int3
cmp rcx, 0x27
jbe 0x1800400e3
call fcn.180057aec
int3
mov rcx, rax
call fcn.180046964
mov edx, 0x2e
mov rcx, rsi
call fcn.18004ed38
mov rdi, rax
test rax, rax
je 0x180040163
or r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x180040104
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x180040112
sub r8, rax
lea rcx, [r14 + 0x504]
mov rdx, rsi
call fcn.180059080
lea rcx, [r14 + 0x608]
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdi + rax + 1], 0
jne 0x180040140
cmp rax, rbx
ja 0x18004015d
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx + 1], 0
jne 0x180040153
lea rdx, [rdi + 1]
jmp 0x18004018e
lea rcx, [r14 + 0x504]
or rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rsi + rax], 0
jne 0x180040170
cmp rax, rbx
ja 0x18004018b
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x180040182
mov rdx, rsi
mov r8, rbx
call fcn.180059080
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r14 + 0x70c], eax
xor eax, eax
mov qword [rsp + 0x38], rax
lea rax, [0x1800b8980]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], 0
lea rcx, [rsp + 0x30]
call fcn.180019d60
nop
lea rax, [rbp + 0x1b0]
mov r8, qword [0x1800b8990]
mov rcx, qword [0x1800b8998]
cmp rax, rcx
jae 0x18004029c
lea rax, [rbp + 0x1b0]
cmp r8, rax
ja 0x18004029c
lea rbx, [rbp + 0x1b0]
sub rbx, r8
sar rbx, 3
mov r9, qword [0x1800b89a0]
cmp rcx, r9
jne 0x180040287
mov rax, r9
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x180040287
sub rcx, r8
sar rcx, 3
movabs r10, 0x1fffffffffffffff
mov rax, r10
sub rax, rcx
cmp rax, 1
jae 0x180040248
lea rcx, str.vector_T__too_long
call fcn.180047df8
int3
lea rdx, [rcx + 1]
sub r9, r8
sar r9, 3
mov rax, r9
shr rax, 1
sub r10, rax
add rax, r9
cmp r10, r9
cmovae r15, rax
cmp r15, rdx
cmovae rdx, r15
lea rcx, [0x1800b8990]
call fcn.180035b90
mov rcx, qword [0x1800b8998]
mov r8, qword [0x1800b8990]
test rcx, rcx
je 0x180040329
mov rax, qword [r8 + rbx*8]
mov qword [rcx], rax
jmp 0x180040322
mov r9, qword [0x1800b89a0]
cmp rcx, r9
jne 0x18004031a
mov rax, r9
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x18004031a
sub rcx, r8
sar rcx, 3
movabs r10, 0x1fffffffffffffff
mov rax, r10
sub rax, rcx
cmp rax, 1
jae 0x1800402e2
lea rcx, str.vector_T__too_long
call fcn.180047df8
int3
lea rdx, [rcx + 1]
sub r9, r8
sar r9, 3
mov rax, r9
shr rax, 1
sub r10, rax
add rax, r9
cmp r10, r9
cmovae r15, rax
cmp r15, rdx
cmovae rdx, r15
lea rcx, [0x1800b8990]
call fcn.180035b90
mov rcx, qword [0x1800b8998]
test rcx, rcx
je 0x180040329
mov qword [rcx], r14
mov rcx, qword [0x1800b8998]
add rcx, 8
mov qword [0x1800b8998], rcx
lea rdx, str.should_insert_load_url:_url_is__s__filename_is__s
lea rcx, [rbp + 0xa0]
call fcn.18000cdd0
nop
mov rdx, r14
mov rcx, rax
call fcn.180022150
mov rdx, rsi
mov rcx, rax
call fcn.180022150
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.180027560
nop
lea rcx, [rbp + 0xa0]
call fcn.18000f5f0
lea rcx, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 0x10
cmovae rcx, qword [rbp + 0x1f0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, [rbp + 0x1f0]
call fcn.180002740
nop
cmp byte [rsp + 0x38], 0
je 0x1800403e7
mov ecx, 0x80000000
mov rax, qword [rsp + 0x30]
lock xadd dword [rax], ecx
bt ecx, 0x1e
jb 0x1800403e7
cmp ecx, 0x80000000
jle 0x1800403e7
mov rax, qword [rsp + 0x30]
lock bts dword [rax], 0x1e
jb 0x1800403e7
mov rcx, qword [rsp + 0x30]
call fcn.1800195d0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop
mov rcx, r13
call fcn.180002740
nop
mov rcx, r12
call fcn.180002740
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.180046a00
mov rbx, qword [rsp + 0x370]
add rsp, 0x320
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret