Function at 0x180050910
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 [0x1800f30e0]
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, [0x1800ffc30]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x28], 0
lea rcx, [rsp + 0x20]
call fcn.180029cf0
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, eax
mov rbx, qword [0x1800ffc40]
mov qword [rsp + 0x40], rbx
xor r15d, r15d
mov rdx, qword [0x1800ffc48]
cmp rbx, rdx
je 0x180050cd6
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 0x180050c66
lea rdx, str.delete_url_cache__file_name_is__s__url_is__s
lea rcx, [rbp - 0x70]
call fcn.180012550
nop
mov rdx, qword [rbx]
add rdx, 0x400
mov rcx, rax
call fcn.180032b10
mov rdx, qword [rbx]
mov rcx, rax
call fcn.180032b10
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.180010fb0
nop
cmp byte [rbp + 0x80], 0
je 0x180050a4c
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x180050a45
mov rax, qword [rcx]
call qword [rax + select]
test rax, rax
je 0x180050a45
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.180025bc0
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 0x180050a9d
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x180050a90
mov rax, qword [rcx]
call qword [rax + select]
test rax, rax
je 0x180050a90
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov edx, SafeArrayGetLBound
mov rcx, rsi
call fcn.180059820
lea rcx, [rbp - 0x28]
call fcn.180002870
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x180050b1e
mov rax, qword [rbp - 0x48]
sub rax, rcx
sar rax, 2
movabs rdx, 0x3fffffffffffffff
cmp rax, rdx
ja 0x180050c9a
lea rax, [rax*4]
cmp rax, 0x1000
jb 0x180050b0d
test cl, 0x1f
jne 0x180050c94
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x180050c8e
sub rcx, rax
cmp rcx, 8
jb 0x180050c88
cmp rcx, 0x27
ja 0x180050c82
mov rcx, rax
call fcn.1800591c4
mov qword [rbp - 0x58], r15
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x180050bbf
movzx r9d, dil
lea r8, [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
call fcn.18000a380
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 0x180050cb8
lea rax, [rdx + rdx*8]
shl rax, 4
cmp rax, 0x1000
jb 0x180050bb6
test r8b, 0x1f
jne 0x180050cb2
mov rax, qword [r8 - 8]
cmp rax, r8
jae 0x180050cac
sub r8, rax
cmp r8, 8
jb 0x180050ca6
cmp r8, 0x27
ja 0x180050ca0
mov r8, rax
mov rcx, r8
call fcn.1800591c4
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.180059820
lea rdx, [rbx + 8]
mov r8, qword [0x1800ffc48]
sub r8, rdx
mov rcx, rbx
call fcn.180079c20
mov rdx, qword [0x1800ffc48]
sub rdx, 8
mov qword [0x1800ffc48], rdx
mov rax, qword [rbp + 0x1e8]
cmp rax, 0x10
jb 0x180050c71
inc rax
mov rcx, qword [rbp + 0x1d0]
cmp rax, 0x1000
jb 0x180050c58
test cl, 0x1f
jne 0x180050cd0
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x180050cca
sub rcx, rax
cmp rcx, 8
jb 0x180050cc4
cmp rcx, 0x27
ja 0x180050cbe
mov rcx, rax
call fcn.1800591c4
mov rdx, qword [0x1800ffc48]
jmp 0x180050c71
add rbx, 8
mov qword [rsp + 0x40], rbx
jmp 0x180050c78
lea rsi, vtable.boost::io::basic_altstringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
cmp rbx, rdx
je 0x180050cd6
jmp 0x1800509c0
call fcn.1800837e4
int3
call fcn.1800837e4
int3
call fcn.1800837e4
int3
call fcn.1800837e4
int3
call fcn.1800837e4
nop
call fcn.1800837e4
int3
call fcn.1800837e4
int3
call fcn.1800837e4
int3
call fcn.1800837e4
int3
call fcn.1800837e4
nop
call fcn.1800837e4
int3
call fcn.1800837e4
int3
call fcn.1800837e4
int3
call fcn.1800837e4
nop
cmp byte [rsp + 0x28], 0
je 0x180050d41
mov ecx, 0x80000000
mov rax, qword [rsp + 0x20]
lock xadd dword [rax], ecx
bt ecx, 0x1e
jb 0x180050d41
cmp ecx, 0x80000000
jle 0x180050d41
mov rax, qword [rsp + 0x20]
lock bts dword [rax], 0x1e
jb 0x180050d41
mov rdi, qword [rsp + 0x20]
mov rbx, qword [rdi + 8]
test rbx, rbx
jne 0x180050d37
xor edx, edx
xor ecx, ecx
call fcn.180025ad0
mov rcx, rax
xor eax, eax
lock cmpxchg qword [rdi + 8], rcx
mov rbx, rax
je 0x180050d34
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180050d37
mov rbx, rcx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop
mov ecx, 0x710
call fcn.180059380
mov r14, rax
mov qword [rbp + 0x1b0], rax
test rax, rax
je 0x1800511c7
xor edx, edx
mov r8d, 0x710
mov rcx, rax
call fcn.180078610
mov r8, r13
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x1c8]
call fcn.180002d00
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x180050d8f
mov rdx, qword [rax]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180050d93
mov r8d, 0x3ff
cmp rax, r8
ja 0x180050dba
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180050db0
mov rcx, r14
call fcn.180085ad0
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x180050e1a
inc rax
mov rcx, qword [rsp + 0x50]
cmp rax, 0x1000
jb 0x180050e15
test cl, 0x1f
je 0x180050de8
call fcn.1800837e4
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180050df7
call fcn.1800837e4
int3
sub rcx, rax
cmp rcx, 8
jae 0x180050e06
call fcn.1800837e4
int3
cmp rcx, 0x27
jbe 0x180050e12
call fcn.1800837e4
int3
mov rcx, rax
call fcn.1800591c4
mov r8, r12
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x1c8]
call fcn.180002d00
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x180050e3b
mov rdx, qword [rax]
lea rsi, [r14 + 0x400]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180050e46
mov ebx, 0x103
cmp rax, rbx
jbe 0x180050e5e
mov r8d, ebx
jmp 0x180050e6c
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x180050e62
mov rcx, rsi
call fcn.180085ad0
mov rax, qword [rbp - 0x78]
cmp rax, 0x10
jb 0x180050ecb
inc rax
mov rcx, qword [rsp + 0x70]
cmp rax, 0x1000
jb 0x180050ec6
test cl, 0x1f
je 0x180050e99
call fcn.1800837e4
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180050ea8
call fcn.1800837e4
int3
sub rcx, rax
cmp rcx, 8
jae 0x180050eb7
call fcn.1800837e4
int3
cmp rcx, 0x27
jbe 0x180050ec3
call fcn.1800837e4
int3
mov rcx, rax
call fcn.1800591c4
mov edx, 0x2e
mov rcx, rsi
call fcn.18007ad58
mov rdi, rax
test rax, rax
je 0x180050f43
or r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x180050ee4
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x180050ef2
sub r8, rax
lea rcx, [r14 + 0x504]
mov rdx, rsi
call fcn.180085ad0
lea rcx, [r14 + 0x608]
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdi + rax + 1], 0
jne 0x180050f20
cmp rax, rbx
ja 0x180050f3d
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx + 1], 0
jne 0x180050f33
lea rdx, [rdi + 1]
jmp 0x180050f6e
lea rcx, [r14 + 0x504]
or rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rsi + rax], 0
jne 0x180050f50
cmp rax, rbx
ja 0x180050f6b
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x180050f62
mov rdx, rsi
mov r8, rbx
call fcn.180085ad0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r14 + 0x70c], eax
xor eax, eax
mov qword [rsp + 0x38], rax
lea rax, [0x1800ffc30]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], 0
lea rcx, [rsp + 0x30]
call fcn.180029cf0
nop
lea rax, [rbp + 0x1b0]
mov r8, qword [0x1800ffc40]
mov rcx, qword [0x1800ffc48]
cmp rax, rcx
jae 0x18005107c
lea rax, [rbp + 0x1b0]
cmp r8, rax
ja 0x18005107c
lea rbx, [rbp + 0x1b0]
sub rbx, r8
sar rbx, 3
mov r9, qword [0x1800ffc50]
cmp rcx, r9
jne 0x180051067
mov rax, r9
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x180051067
sub rcx, r8
sar rcx, 3
movabs r10, 0x1fffffffffffffff
mov rax, r10
sub rax, rcx
cmp rax, 1
jae 0x180051028
lea rcx, str.vector_T__too_long
call fcn.18005a698
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, [0x1800ffc40]
call fcn.180046170
mov rcx, qword [0x1800ffc48]
mov r8, qword [0x1800ffc40]
test rcx, rcx
je 0x180051109
mov rax, qword [r8 + rbx*8]
mov qword [rcx], rax
jmp 0x180051102
mov r9, qword [0x1800ffc50]
cmp rcx, r9
jne 0x1800510fa
mov rax, r9
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x1800510fa
sub rcx, r8
sar rcx, 3
movabs r10, 0x1fffffffffffffff
mov rax, r10
sub rax, rcx
cmp rax, 1
jae 0x1800510c2
lea rcx, str.vector_T__too_long
call fcn.18005a698
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, [0x1800ffc40]
call fcn.180046170
mov rcx, qword [0x1800ffc48]
test rcx, rcx
je 0x180051109
mov qword [rcx], r14
mov rcx, qword [0x1800ffc48]
add rcx, 8
mov qword [0x1800ffc48], rcx
lea rdx, str.should_insert_load_url:_url_is__s__filename_is__s
lea rcx, [rbp + 0xa0]
call fcn.180012550
nop
mov rdx, r14
mov rcx, rax
call fcn.180032b10
mov rdx, rsi
mov rcx, rax
call fcn.180032b10
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.180010fb0
nop
lea rcx, [rbp + 0xa0]
call fcn.180017930
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.180002870
nop
cmp byte [rsp + 0x38], 0
je 0x1800511c7
mov ecx, 0x80000000
mov rax, qword [rsp + 0x30]
lock xadd dword [rax], ecx
bt ecx, 0x1e
jb 0x1800511c7
cmp ecx, 0x80000000
jle 0x1800511c7
mov rax, qword [rsp + 0x30]
lock bts dword [rax], 0x1e
jb 0x1800511c7
mov rcx, qword [rsp + 0x30]
call fcn.180028f50
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop
mov rcx, r13
call fcn.180002870
nop
mov rcx, r12
call fcn.180002870
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.180059260
mov rbx, qword [rsp + 0x370]
add rsp, 0x320
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret