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

Disassembly:
lea r12, [rsp - 0x170]
cmp r12, qword [r14 + 0x10]
jbe 0x61560f
sub rsp, 0x1f0
mov qword [rsp + 0x1e8], rbp
lea rbp, [rsp + 0x1e8]
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x220], r8
mov qword [rsp + 0xe0], rax
test rbx, rbx
je 0x6155ba
cmp qword [rax + 0x10], 0
je 0x615562
cmp qword [rax + 0xc8], 0
je 0x614b3c
nop
mov rcx, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
test rcx, rcx
je 0x614afb
mov rcx, qword [rcx + 0x18]
call rcx
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x38
lea rcx, [0x006dc409]
mov qword [rax], rcx
lea rbx, [0x006fa910]
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x60], rsi
cmp qword [rax + 0x38], 0
jne 0x614c45
nop
cmp rax, rax
jne 0x614bf4
lea rax, [0x006c10c0]
nop
call fcn.0040d960
mov qword [rsp + 0xe0], rax
cmp dword [0x0092b0b0], 0
jne 0x614bd5
mov rsi, qword [rsp + 0x1f8]
mov rcx, qword [rsi]
mov qword [rax], rcx
lea rdi, [rax + 8]
lea rax, [rsi + 8]
mov rcx, rsi
mov rsi, rax
nop word [rax + rax]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046634e
mov rbp, qword [rbp]
jmp 0x614bf4
mov rbx, rax
mov rcx, qword [rsp + 0x1f8]
lea rax, [0x006c10c0]
call fcn.00413e40
mov rcx, qword [rsp + 0x1f8]
call fcn.0040e4a0
mov rdi, qword [rsp + 0xe0]
test byte [rdi], al
cmp dword [0x0092b0b0], 0
jne 0x614c12
mov qword [rdi + 0x38], rax
jmp 0x614c1b
add rdi, 0x38
call fcn.00465900
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x110]
mov rdx, qword [rsp + 0xe0]
mov r9, qword [rdx + 0x10]
mov r9, qword [r9 + 0x20]
test r9, r9
jne 0x614c5e
xor edx, edx
jmp 0x614cb3
mov qword [rsp + 0xd0], r9
mov rax, qword [rdx + 0x38]
lea rbx, [0x006cbbe5]
mov ecx, 0xd
call fcn.0051f6e0
test rbx, rbx
sete dl
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0xd0]
test dl, dl
je 0x614f26
nop dword [rax + rax]
test r9, r9
je 0x614cce
mov rdx, qword [r9]
mov r10, qword [r9 + 8]
jmp 0x614cd9
mov r10d, 0
mov edx, 0
je 0x614ce5
mov r11, qword [r9 + 0x10]
mov r9, qword [r9 + 0x18]
jmp 0x614ceb
xor r9d, r9d
xor r11d, r11d
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0x40], r10
mov qword [rsp + 0xb0], r11
mov qword [rsp + 0x38], r9
nop
cmp qword [rsp + 0xe0], rax
jne 0x614d7d
lea rax, [0x006c10c0]
call fcn.0040d960
mov qword [rsp + 0xe0], rax
cmp dword [0x0092b0b0], 0
jne 0x614d5e
mov rsi, qword [rsp + 0x1f8]
mov rcx, qword [rsi]
mov qword [rax], rcx
lea rcx, [rsi + 8]
lea rdi, [rax + 8]
mov rax, rsi
mov rsi, rcx
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046634e
mov rbp, qword [rbp]
jmp 0x614d7d
mov rbx, rax
mov rcx, qword [rsp + 0x1f8]
lea rax, [0x006c10c0]
call fcn.00413e40
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rax + 0x38]
mov rax, rcx
call fcn.00618440
mov rdi, qword [rsp + 0xe0]
test byte [rdi], al
cmp dword [0x0092b0b0], 0
jne 0x614da2
mov qword [rdi + 0x38], rax
jmp 0x614dab
add rdi, 0x38
call fcn.00465900
lea rax, [rsp + 0x90]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x40]
lea rdi, [0x00740158]
mov esi, 1
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x38]
call fcn.0044e800
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x70]
call fcn.0044ed00
mov rdx, qword [0x008d47e0]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.00494f00
mov rdx, qword [rsp + 0xe0]
mov rdx, qword [rdx + 0x38]
mov qword [rsp + 0xe8], rdx
mov ecx, 6
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006c9b4c]
call fcn.0044e760
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x48], rbx
nop
lea rax, [0x006cbbe5]
mov ebx, 0xd
call fcn.00520e80
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x58], rbx
lea rax, [0x0067a9e0]
call fcn.0040d960
mov qword [rsp + 0x100], rax
mov rdx, qword [rsp + 0x48]
mov qword [rax + 8], rdx
cmp dword [0x0092b0b0], 0
jne 0x614e92
mov rdx, qword [rsp + 0xc8]
mov qword [rax], rdx
jmp 0x614ea5
mov rdi, rax
mov rdx, qword [rsp + 0xc8]
nop dword [rax]
call fcn.00465a20
lea rax, [0x006a9320]
mov rbx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x58]
call fcn.004131e0
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
cmp dword [0x0092b0b0], 0
jne 0x614eec
mov rdx, qword [rsp + 0x100]
mov qword [rax], rdx
jmp 0x614efc
mov rdi, rax
mov rdx, qword [rsp + 0x100]
call fcn.00465a20
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x110]
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], r8
mov rdx, qword [rsp + 0x160]
bt rdx, 0x3f
jae 0x614f66
mov r9, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r10, 0xdd7b17f80
add rdx, r10
jmp 0x614f76
mov r9, rdx
movabs r10, 0xdd7b17f80
mov rdx, rsi
test rdx, rdx
jne 0x614f8b
and r9d, 0x3fffffff
test r9d, r9d
je 0x615038
nop
cmp qword [rsp + 0xe0], rax
jne 0x615038
lea rax, [0x006c10c0]
call fcn.0040d960
mov qword [rsp + 0xe0], rax
cmp dword [0x0092b0b0], 0
jne 0x614ff5
mov rsi, qword [rsp + 0x1f8]
mov rdx, qword [rsi]
mov qword [rax], rdx
add rsi, 8
lea rdi, [rax + 8]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046634e
mov rbp, qword [rbp]
jmp 0x61500c
mov rbx, rax
mov rcx, qword [rsp + 0x1f8]
lea rax, [0x006c10c0]
call fcn.00413e40
mov rcx, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x110]
movabs r10, 0xdd7b17f80
mov rax, qword [rsp + 0xe0]
call fcn.00615860
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xf8], rbx
mov rdx, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x200]
mov r10, qword [r9 + 0x18]
mov rax, qword [rsp + 0x208]
mov rbx, rdx
call r10
mov qword [rsp + 0xf0], rax
nop
test rbx, rbx
jne 0x61542e
test rax, rax
je 0x6153b6
cmp qword [rax + 0x40], 0
je 0x6150a5
mov rdi, rax
nop dword [rax]
jmp 0x61527e
cmp qword [rax + 0x50], 0
jle 0x61517e
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rcx]
cmp qword [rcx + 8], 4
je 0x6150cf
mov rcx, qword [rsp + 0x200]
test rcx, rcx
jmp 0x6150e6
cmp dword [rdx], 0x44414548
je 0x61517e
mov rcx, qword [rsp + 0x200]
test rcx, rcx
movups xmmword [rsp + 0x178], xmm15
movups xmmword [rsp + 0x188], xmm15
je 0x615102
mov rbx, qword [rcx + 8]
nop
jmp 0x615105
mov rbx, rcx
mov qword [rsp + 0x178], rbx
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 0x180], rcx
mov rax, qword [rax + 0x50]
call fcn.0040af40
lea rcx, [0x00678e00]
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rax
lea rax, [0x006debbf]
mov ebx, 0x61
lea rcx, [rsp + 0x178]
mov edi, 2
mov rsi, rdi
call fcn.004c8440
mov rcx, rax
mov rdi, rbx
xor eax, eax
mov rbx, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
lea rax, [0x006a30e0]
call fcn.0040d960
mov qword [rsp + 0xc0], rax
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xffffffffffffffff
lea rbx, [0x00743060]
mov rcx, rax
lea rax, [0x0068d4a0]
call fcn.0040b260
nop
test rax, rax
je 0x61520e
movups xmmword [rsp + 0x128], xmm15
lea rcx, [0x00743060]
mov qword [rsp + 0x128], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x130], rcx
lea rax, [0x006a1160]
lea rbx, [rsp + 0x128]
nop dword [rax]
call fcn.0040ad40
lea rcx, [0x007445d0]
jmp 0x615251
movups xmmword [rsp + 0x118], xmm15
lea rcx, [0x00743060]
mov qword [rsp + 0x118], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rcx
lea rax, [0x0069d240]
lea rbx, [rsp + 0x118]
call fcn.0040ad40
lea rcx, [0x007445a8]
mov rdi, qword [rsp + 0xf0]
mov qword [rdi + 0x40], rcx
cmp dword [0x0092b0b0], 0
jne 0x61526c
mov qword [rdi + 0x48], rax
jmp 0x61527e
lea rdx, [rdi + 0x48]
mov rcx, rdi
mov rdi, rdx
call fcn.00465900
mov rdi, rcx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x150], rdx
mov rsi, qword [rsp + 0x110]
mov qword [rsp + 0x158], rsi
mov rsi, qword [rsp + 0x148]
bt rsi, 0x3f
jae 0x6152d0
mov rdx, rsi
shl rsi, 1
shr rsi, 0x1f
movabs r8, 0xdd7b17f80
add rsi, r8
jmp 0x6152d8
mov rdx, rsi
mov rsi, qword [rsp + 0x60]
test rsi, rsi
jne 0x6152eb
and edx, 0x3fffffff
test edx, edx
je 0x61539d
lea rax, [0x006a19a0]
call fcn.0040d960
cmp dword [0x0092b0b0], 0
nop
jne 0x61530f
mov rdx, qword [rsp + 0xd8]
mov qword [rax], rdx
jmp 0x61531f
mov rdi, rax
mov rdx, qword [rsp + 0xd8]
call fcn.00465a20
mov rdi, qword [rsp + 0xf0]
mov rdx, qword [rdi + 0x48]
mov rsi, qword [rdi + 0x40]
mov qword [rax + 8], rsi
cmp dword [0x0092b0b0], 0
jne 0x61534e
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0xf8]
mov qword [rax + 0x18], rdx
jmp 0x615371
lea rsi, [rax + 0x10]
mov rcx, rdi
mov rdi, rsi
call fcn.00465a20
lea rdi, [rax + 0x18]
mov rdx, qword [rsp + 0xf8]
call fcn.00465a20
mov rdi, rcx
lea rdx, [0x00744030]
mov qword [rdi + 0x40], rdx
cmp dword [0x0092b0b0], 0
jne 0x61538b
mov qword [rdi + 0x48], rax
jmp 0x61539d
lea rdx, [rdi + 0x48]
mov rcx, rdi
mov rdi, rdx
call fcn.00465900
mov rdi, rcx
mov rax, rdi
xor ebx, ebx
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
movups xmmword [rsp + 0x138], xmm15
mov rdx, qword [rsp + 0x200]
test rdx, rdx
je 0x6153d2
mov rbx, qword [rdx + 8]
jmp 0x6153d5
mov rbx, rdx
mov qword [rsp + 0x138], rbx
mov rdx, qword [rsp + 0x208]
mov qword [rsp + 0x140], rdx
lea rax, [0x006de4a1]
mov ebx, 0x50
lea rcx, [rsp + 0x138]
mov edi, 1
mov rsi, rdi
call fcn.004c8440
mov rcx, rax
mov rdi, rbx
xor eax, eax
mov rbx, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x50], rbx
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x61546d
lea rax, [0x006dc928]
mov ebx, 0x3b
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.005faa40
mov rdx, qword [rsp + 0x50]
lea rsi, [0x00743280]
cmp rdx, rsi
jne 0x6154ab
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsi]
mov qword [rsp + 0x1c0], r8
movups xmm0, xmmword [rsi + 8]
movups xmmword [rsp + 0x1c8], xmm0
movups xmm0, xmmword [rsi + 0x18]
movups xmmword [rsp + 0x1d8], xmm0
jmp 0x6154ce
movups xmmword [rsp + 0x1c0], xmm15
movups xmmword [rsp + 0x1c8], xmm15
movups xmmword [rsp + 0x1d8], xmm15
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x1c0]
mov qword [rsp + 0x198], r8
movups xmm0, xmmword [rsp + 0x1c8]
movups xmmword [rsp + 0x1a0], xmm0
movups xmm0, xmmword [rsp + 0x1d8]
movups xmmword [rsp + 0x1b0], xmm0
nop
jne 0x615542
cmp dword [rsp + 0x1a8], 0x50545448
jne 0x615542
cmp byte [rsp + 0x1ac], 0x2f
jne 0x615542
nop
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x2f
lea rcx, [0x006da3d7]
mov qword [rax], rcx
lea rdx, [0x00742c00]
mov rsi, rax
xor eax, eax
mov rbx, qword [rsp + 0xf8]
mov rcx, rdx
mov rdi, rsi
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
nop
mov rcx, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
test rcx, rcx
je 0x615576
mov rcx, qword [rcx + 0x18]
call rcx
lea rax, [0x00690f40]
nop dword [rax]
call fcn.0040d960
mov qword [rax + 8], 0x15
lea rcx, [0x006cf224]
mov qword [rax], rcx
lea rbx, [0x006fa910]
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
nop
mov rcx, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
test rcx, rcx
je 0x6155ce
mov rcx, qword [rcx + 0x18]
call rcx
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x2d
lea rcx, [0x006d97a8]
mov qword [rax], rcx
lea rbx, [0x006fa910]
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.00614a80