Function at 0x689ba0
Capabilities:
Reference http user-agent string

Disassembly:
lea r12, [rsp - 0xd8]
cmp r12, qword [r14 + 0x10]
jbe 0x68a34a
sub rsp, 0x158
mov qword [rsp + 0x150], rbp
lea rbp, [rsp + 0x150]
mov r13, 0
mov qword [rsp + 0x148], r13
mov qword [rsp + 0x160], rax
mov byte [rsp + 0x178], dil
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x180], rsi
mov qword [rsp + 0x188], r8
mov byte [rsp + 0x2f], 0
nop
mov rdx, rax
xor eax, eax
lea r9, [0x00a04a98]
mov r10d, 1
lock cmpxchg dword [r9], r10d
sete r9b
test r9b, r9b
jne 0x689c42
lea rax, [0x00a04a98]
call fcn.0047d500
mov rdx, qword [rsp + 0x160]
movups xmmword [rsp + 0xd8], xmm15
lea rcx, [0x00689160]
mov qword [rsp + 0xd8], rcx
lea rcx, [0x00a04a98]
mov qword [rsp + 0xe0], rcx
lea rcx, [rsp + 0xd8]
mov qword [rsp + 0x148], rcx
mov byte [rsp + 0x2f], 1
mov rax, qword [rdx]
call fcn.0068a3a0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x38], rdi
mov rdx, qword [rsp + 0x160]
mov rdx, qword [rdx + 8]
mov rax, rdx
call fcn.00685200
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x30], rdi
mov rdx, qword [rsp + 0x40]
mov rsi, qword [rdx + 0x78]
mov r8, rax
mov rax, qword [rsp + 0x90]
mov r9, rbx
mov rbx, r8
mov rcx, r9
call rsi
test al, al
je 0x68a26e
movzx edx, byte [rsp + 0x178]
test dl, dl
je 0x689d16
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xc0]
jmp 0x689dba
lea rcx, [0x006b1ae0]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], 0
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x689d47
lea rax, [0x007f7248]
jmp 0x689d4b
xor eax, eax
xor ecx, ecx
mov rdx, qword [rax + 0x48]
mov rax, rcx
call rdx
mov rcx, qword [rsp + 0x40]
cmp rcx, rax
jne 0x689d7e
mov rax, rcx
mov rcx, rbx
mov rbx, qword [rsp + 0x90]
call fcn.00403fe0
test al, al
jne 0x68a205
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xc0]
cmp rdx, rcx
jne 0x689dba
mov rax, rcx
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb8]
nop
call fcn.00403fe0
test al, al
jne 0x68a19f
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xc0]
cmp rcx, rdx
jne 0x689de3
mov rax, rcx
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb8]
call fcn.00403fe0
test al, al
je 0x689de3
xor edx, edx
xor esi, esi
xor ecx, ecx
jmp 0x689e19
mov rbx, qword [0x009ad4c0]
lea rax, [0x006cc300]
mov rcx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x30]
nop
call fcn.00412b00
mov rdx, qword [rax]
test rdx, rdx
je 0x68a10c
mov rcx, qword [rdx + 0x30]
mov rsi, qword [rdx + 0x38]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdx
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x170]
nop
call fcn.00673c80
movups xmm0, xmmword [rsp]
movups xmmword [rsp + 0x68], xmm0
test rax, rax
jne 0x68a06a
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rsp], xmm0
call fcn.00673d60
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x60], rbx
lea rax, [0x006fc7a0]
call fcn.0040daa0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x188]
lea rbx, [rdx + rcx]
cmp dword [0x00a04ed0], 0
jne 0x689ea5
mov rsi, qword [rsp + 0xa0]
mov qword [rax], rsi
jmp 0x689eb5
mov rdi, rax
mov rsi, qword [rsp + 0xa0]
call fcn.00465b80
mov rsi, qword [rsp + 0x38]
mov qword [rax + 0x10], rsi
cmp dword [0x00a04ed0], 0
jne 0x689ed5
mov r8, qword [rsp + 0x88]
mov qword [rax + 8], r8
jmp 0x689ee6
lea rdi, [rax + 8]
mov r8, qword [rsp + 0x88]
call fcn.00465ba0
mov qword [rsp + 0x78], rax
mov r9, qword [rsp + 0x60]
mov qword [rax + 0x20], r9
cmp dword [0x00a04ed0], 0
jne 0x689f0b
mov rdi, qword [rsp + 0xc0]
mov qword [rax + 0x18], rdi
jmp 0x689f1c
lea rdi, [rax + 0x18]
mov r9, qword [rsp + 0xc0]
call fcn.00465bc0
mov rax, rbx
nop
call fcn.006846c0
mov rdx, qword [rsp + 0x78]
mov qword [rdx + 0x28], rax
mov qword [rdx + 0x38], rcx
mov qword [rdx + 0x40], rdi
cmp dword [0x00a04ed0], 0
jne 0x689f45
mov qword [rdx + 0x30], rbx
jmp 0x689f4e
lea rdi, [rdx + 0x30]
call fcn.00465b60
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0x48]
xor eax, eax
jmp 0x689f66
mov qword [r10 + rax*8], r9
inc rax
cmp rax, r8
jge 0x689f85
mov r9, qword [rsi + rax*8]
mov rcx, qword [rdx + 0x38]
mov r10, qword [rdx + 0x30]
cmp rax, rcx
jb 0x689f5f
nop dword [rax]
jmp 0x68a065
mov rsi, qword [rsp + 0x180]
xor eax, eax
jmp 0x689fa8
mov qword [rsi + r9*8], rax
mov rsi, qword [rsp + 0xb0]
add rsi, 0x10
lea rax, [r8 + 1]
mov r8, rdi
mov r9, qword [rsp + 0x188]
cmp r9, rax
jle 0x689ff6
mov qword [rsp + 0x50], rax
mov qword [rsp + 0xb0], rsi
mov rax, qword [rsi]
mov rbx, qword [rsi + 8]
nop
mov ecx, 1
call fcn.004619e0
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rdx + 0x38]
mov rsi, qword [rdx + 0x30]
mov rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
lea r9, [r8 + rdi]
cmp rcx, r9
ja 0x689f91
jmp 0x68a05b
mov rbx, qword [0x009ad4c0]
lea rax, [0x006cc300]
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x38]
call fcn.00413320
test byte [rax], al
cmp dword [0x00a04ed0], 0
nop
jne 0x68a02c
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
jmp 0x68a039
mov rdi, rax
mov rax, qword [rsp + 0x78]
call fcn.00465a20
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0x148]
mov rax, qword [rdx]
call rax
mov rbp, qword [rsp + 0x150]
add rsp, 0x158
ret
mov rax, r9
nop
call fcn.00465ec0
call fcn.00465ec0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xa8], rbx
movups xmmword [rsp + 0xf8], xmm15
movups xmmword [rsp + 0x108], xmm15
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x68a107
mov rax, qword [rcx + 8]
mov qword [rsp + 0x108], rax
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x110], rdx
lea rax, [0x0072944c]
mov ebx, 0x25
lea rcx, [rsp + 0xf8]
mov edi, 2
mov rsi, rdi
call fcn.004c2160
test rax, rax
je 0x68a102
mov rax, qword [rax + 8]
call fcn.00436580
mov rax, rcx
jmp 0x68a0c0
movups xmmword [rsp + 0xf8], xmm15
movups xmmword [rsp + 0x108], xmm15
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x30]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
lea rax, [0x0072ee5e]
mov ebx, 0x36
lea rcx, [rsp + 0xf8]
mov edi, 2
mov rsi, rdi
call fcn.004c2160
test rax, rax
je 0x68a19a
mov rax, qword [rax + 8]
call fcn.00436580
movups xmmword [rsp + 0xe8], xmm15
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
lea rax, [0x0072f918]
mov ebx, 0x39
lea rcx, [rsp + 0xe8]
mov edi, 1
mov rsi, rdi
call fcn.004c2160
test rax, rax
je 0x68a200
mov rax, qword [rax + 8]
nop dword [rax + rax]
call fcn.00436580
movups xmmword [rsp + 0xe8], xmm15
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
nop dword [rax + rax]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
lea rax, [0x0072d77d]
mov ebx, 0x30
lea rcx, [rsp + 0xe8]
mov edi, 1
mov rsi, rdi
call fcn.004c2160
nop dword [rax]
test rax, rax
je 0x68a269
mov rax, qword [rax + 8]
call fcn.00436580
movups xmmword [rsp + 0x118], xmm15
movups xmmword [rsp + 0x128], xmm15
movups xmmword [rsp + 0x138], xmm15
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
nop
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x30]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
lea rax, [0x0072c60e]
mov ebx, 0x2d
lea rcx, [rsp + 0x118]
mov edi, 3
mov rsi, rdi
call fcn.004c2160
test rax, rax
je 0x68a32f
mov rax, qword [rax + 8]
call fcn.00436580
nop
call fcn.00435a20
mov rbp, qword [rsp + 0x150]
add rsp, 0x158
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
call fcn.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
jmp fcn.00689ba0