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

Disassembly:
lea r12, [rsp - 0x230]
cmp r12, qword [r14 + 0x10]
jbe 0x611337
sub rsp, 0x2b0
mov qword [rsp + 0x2a8], rbp
lea rbp, [rsp + 0x2a8]
mov qword [rsp + 0x2c0], rbx
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x2c8], rcx
mov byte [rsp + 0x2d0], dil
mov qword [rsp + 0x2b8], rax
lea rax, [0x006b9600]
xor ebx, ebx
call fcn.00405660
mov qword [rsp + 0x148], rax
call fcn.0040e5e0
mov qword [rsp + 0x140], rax
call fcn.0040e5e0
mov qword [rsp + 0x138], rax
mov ebx, 1
lea rax, [0x006b9600]
call fcn.00405660
mov qword [rsp + 0x130], rax
lea rax, [0x00716260]
call fcn.0040daa0
cmp dword [0x00a04ed0], 0
jne 0x61073c
mov rcx, qword [rsp + 0x2b8]
mov qword [rax], rcx
jmp 0x61074c
mov rdi, rax
mov rcx, qword [rsp + 0x2b8]
call fcn.00465b20
mov rdx, qword [rsp + 0x150]
mov qword [rax + 8], rdx
cmp dword [0x00a04ed0], 0
nop
jne 0x61077c
mov rbx, qword [rsp + 0x2c8]
mov qword [rax + 0x10], rbx
mov rsi, qword [rsp + 0x148]
mov qword [rax + 0x30], rsi
jmp 0x61079e
lea rdi, [rax + 0x10]
mov rbx, qword [rsp + 0x2c8]
call fcn.00465b60
lea rdi, [rax + 0x30]
mov rsi, qword [rsp + 0x148]
call fcn.00465b80
mov dword [rax + 0xb8], 1
mov dword [rax + 0x108], 0x4000
mov dword [rax + 0x11c], 0xffff
mov dword [rax + 0x10c], 0x64
mov qword [rax + 0x110], 0xffffffffffffffff
cmp dword [0x00a04ed0], 0
jne 0x6107eb
mov rsi, qword [rsp + 0x140]
mov qword [rax + 0xa8], rsi
jmp 0x6107ff
lea rdi, [rax + 0xa8]
mov rsi, qword [rsp + 0x140]
call fcn.00465b80
movzx esi, byte [rsp + 0x2d0]
mov byte [rax + 0x2c], sil
mov byte [rax + 0x8c], 1
cmp dword [0x00a04ed0], 0
jne 0x61083b
mov rsi, qword [rsp + 0x138]
mov qword [rax + 0xc8], rsi
mov rsi, qword [rsp + 0x130]
mov qword [rax + 0x120], rsi
jmp 0x610865
lea rdi, [rax + 0xc8]
mov rsi, qword [rsp + 0x138]
call fcn.00465b80
lea rdi, [rax + 0x120]
mov rsi, qword [rsp + 0x130]
nop
call fcn.00465b80
mov rsi, qword [rcx + 0x60]
test rsi, rsi
je 0x610877
mov rsi, qword [rsi + 0xd0]
jmp 0x610879
xor esi, esi
mov qword [rsp + 0x110], rax
test rsi, rsi
je 0x610933
mov qword [rsp + 0xc8], rsi
mov qword [rax + 0x48], rsi
lea rax, [0x006db700]
nop dword [rax]
call fcn.0040daa0
lea rcx, [0x0063fe60]
mov qword [rax], rcx
cmp dword [0x00a04ed0], 0
jne 0x6108c6
mov rcx, qword [rsp + 0x110]
mov qword [rax + 8], rcx
jmp 0x6108d7
lea rdi, [rax + 8]
mov rcx, qword [rsp + 0x110]
call fcn.00465b20
mov rbx, rax
mov rax, qword [rsp + 0xc8]
call fcn.004afb40
cmp dword [0x00a04ed0], 0
jne 0x6108fe
mov rcx, qword [rsp + 0x110]
mov qword [rcx + 0x50], rax
jmp 0x610918
mov rdi, qword [rsp + 0x110]
lea rcx, [rdi + 0x50]
mov rdx, rdi
mov rdi, rcx
call fcn.00465a20
mov rcx, rdx
mov rax, rcx
mov rcx, qword [rsp + 0x2b8]
mov rdx, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x2c8]
cmp byte [0x00a049f1], 0
nop word [rax + rax]
je 0x6109cd
mov rcx, qword [rdx + 0x30]
mov rax, rbx
call rcx
movups xmmword [rsp + 0x180], xmm15
movups xmmword [rsp + 0x190], xmm15
lea rcx, [0x007109a0]
mov qword [rsp + 0x180], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x188], rcx
test rax, rax
je 0x610989
mov rax, qword [rax + 8]
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x198], rbx
cmp byte [0x00a049f1], 0
je 0x6109cd
nop
lea rax, [0x0072cd1f]
mov ebx, 0x2e
lea rcx, [rsp + 0x180]
mov edi, 2
mov rsi, rdi
nop
call fcn.004cde40
mov rcx, qword [rsp + 0x110]
lea rax, [0x006f9380]
call fcn.0040daa0
lea rcx, [0x007f35c0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x110]
lea rdx, [rcx + 0x58]
cmp dword [0x00a04ed0], 0
jne 0x610a02
mov qword [rax + 8], rdx
mov qword [rcx + 0x60], rax
jmp 0x610a14
lea rdi, [rax + 8]
call fcn.00465b40
lea rdi, [rcx + 0x60]
call fcn.00465a20
mov edx, dword [rcx + 0x68]
lea esi, [rdx + 0xffff]
cmp esi, 0xffff
setg dil
test edx, edx
setg dl
nop
cmp dl, dil
jne 0x610a35
mov dword [rcx + 0x68], esi
movups xmmword [rsp + 0x160], xmm15
movups xmmword [rsp + 0x170], xmm15
mov rdx, qword [rsp + 0x150]
mov qword [rsp + 0x160], rdx
mov rsi, qword [rsp + 0x2c8]
mov qword [rsp + 0x168], rsi
mov rdi, qword [rsp + 0x2b8]
mov r8, qword [rdi + 0x50]
mov qword [rsp + 0x170], r8
lea r8, [rcx + 0x140]
mov qword [rsp + 0x178], r8
lea rax, [0x006f5c00]
lea rbx, [rsp + 0x160]
call fcn.0040ae80
mov qword [rsp + 0x128], rax
nop
mov ebx, 0x1000
mov rcx, rbx
lea rax, [0x006bb680]
call fcn.0044a940
mov qword [rsp + 0x120], rax
lea rax, [0x006f5fc0]
call fcn.0040daa0
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x00a04ed0], 0
jne 0x610af6
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
jmp 0x610b07
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x120]
call fcn.00465b20
lea rcx, [0x007f2700]
mov qword [rax + 0x30], rcx
cmp dword [0x00a04ed0], 0
jne 0x610b38
mov rcx, qword [rsp + 0x128]
mov qword [rax + 0x38], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rcx + 0x130], rax
jmp 0x610b65
lea rdi, [rax + 0x38]
mov rcx, qword [rsp + 0x128]
call fcn.00465b20
mov rdi, qword [rsp + 0x110]
lea rcx, [rdi + 0x130]
mov rdi, rcx
nop dword [rax + rax]
call fcn.00465a20
lea rax, [0x006d3f00]
mov rbx, qword [rsp + 0x150]
call fcn.0040b260
lea rcx, [0x007f19a0]
cmp rax, rcx
jne 0x610b8f
mov rdx, qword [rsp + 0x2c8]
jmp 0x610b94
mov edx, 0
mov qword [rsp + 0x118], rax
jne 0x610bb8
cmp qword [rdx + 8], 0x1000
jl 0x610bb8
mov rcx, qword [rsp + 0x2c8]
mov rax, rdx
jmp 0x610ce1
lea rax, [0x00702580]
nop
call fcn.0040daa0
mov qword [rsp + 0xf8], rax
mov ebx, 0x1000
mov rcx, rbx
lea rax, [0x006bb680]
nop dword [rax]
call fcn.0044a940
movups xmmword [rsp + 0x1a0], xmm15
lea rdi, [rsp + 0x1a8]
lea rdi, [rdi - 0x30]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466190
mov rbp, qword [rbp]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], 0x1000
mov qword [rsp + 0x1b0], 0x1000
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x1b8], rcx
mov rcx, qword [rsp + 0x2c8]
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1e8], 0xffffffffffffffff
mov qword [rsp + 0x1f0], 0xffffffffffffffff
cmp dword [0x00a04ed0], 0
jne 0x610cb5
mov rdx, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0xf8]
mov qword [rdi], rdx
lea rdx, [rdi + 8]
lea rsi, [rsp + 0x1a8]
mov rax, rdi
mov rdi, rdx
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004664fa
mov rbp, qword [rbp]
jmp 0x610ce1
lea rax, [0x00702580]
mov rbx, qword [rsp + 0xf8]
lea rcx, [rsp + 0x1a0]
call fcn.00413f80
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x2c8]
cmp dword [0x00a04ed0], 0
jne 0x610cfb
mov rdx, qword [rsp + 0x110]
mov qword [rdx + 0xd0], rax
jmp 0x610d18
mov rdi, qword [rsp + 0x110]
lea rdx, [rdi + 0xd0]
mov rbx, rdi
mov rdi, rdx
call fcn.00465a20
mov rdx, rbx
mov rbx, qword [rdx + 0x130]
lea rcx, [0x007f19a0]
mov rdi, rax
lea rax, [0x007f19c0]
call fcn.00607760
cmp dword [0x00a04ed0], 0
jne 0x610d4f
mov rcx, qword [rsp + 0x110]
mov qword [rcx + 0x138], rax
jmp 0x610d6c
mov rdi, qword [rsp + 0x110]
lea rcx, [rdi + 0x138]
mov rdx, rdi
mov rdi, rcx
call fcn.00465a20
mov rcx, rdx
mov rdx, qword [rsp + 0x2b8]
mov esi, dword [rdx + 0x30]
test esi, esi
jne 0x610d80
xor ebx, ebx
jmp 0x610da0
cmp esi, 0x4000
jae 0x610d8f
mov ebx, 0x4000
jmp 0x610da0
cmp esi, 0xffffff
jbe 0x610d9e
mov ebx, 0xffffff
jmp 0x610da0
mov ebx, esi
test ebx, ebx
je 0x610de0
test esi, esi
jne 0x610dac
xor esi, esi
jmp 0x610dcd
cmp esi, 0x4000
jae 0x610dc0
mov esi, 0x4000
jmp 0x610dcd
cmp esi, 0xffffff
jbe 0x610dcd
mov esi, 0xffffff
cmp esi, 0xffffff
mov r8d, 0xffffff
cmova esi, r8d
mov dword [rax + 0x3c], esi
mov rsi, qword [rdx + 0x58]
test rsi, rsi
je 0x610e0b
mov rdi, qword [rcx + 0x138]
test byte [rdi], al
cmp dword [0x00a04ed0], 0
jne 0x610e02
mov qword [rdi + 0x30], rsi
nop
jmp 0x610e0b
add rdi, 0x30
call fcn.00465b80
mov ecx, dword [rdx + 0x34]
test ecx, ecx
mov eax, 0x1000
cmova eax, ecx
mov dword [rsp + 0xc4], eax
xor ebx, ebx
call fcn.005f7e60
mov rbx, qword [rsp + 0x110]
mov rdi, qword [rbx + 0x138]
test byte [rdi], al
cmp dword [0x00a04ed0], 0
nop
jne 0x610e4b
mov qword [rdi + 0xa8], rax
jmp 0x610e57
add rdi, 0xa8
call fcn.00465a20
mov rcx, qword [rsp + 0x2b8]
mov edx, dword [rcx + 0x2c]
test edx, edx
jne 0x610e6d
mov edx, 0xa00000
jmp 0x610e74
cmp edx, 0xffffffff
jne 0x610e74
xor edx, edx
mov rcx, qword [rbx + 0x138]
mov dword [rcx + 0xb0], edx
lea rcx, [rbx + 0x150]
lea rax, [0x007f1a00]
mov rbx, rcx
call fcn.005f6960
cmp dword [0x00a04ed0], 0
nop
jne 0x610eb3
mov rcx, qword [rsp + 0x110]
mov qword [rcx + 0x178], rax
jmp 0x610eca
mov rdi, qword [rsp + 0x110]
lea rcx, [rdi + 0x178]
mov rdi, rcx
call fcn.00465a20
mov rcx, qword [rsp + 0x2b8]
mov edx, dword [rcx + 0x38]
test edx, edx
mov ebx, 0x1000
cmova ebx, edx
nop
call fcn.005f7420
mov rcx, qword [rsp + 0x110]
mov dword [rcx + 0x118], 0x1000
mov rdx, qword [rsp + 0x2b8]
cmp byte [rdx + 0x29], 0
je 0x610f0f
mov dword [rcx + 0xb8], 3
lea rax, [0x006d4580]
mov rbx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x2c8]
call fcn.0040b3a0
test rax, rax
jne 0x610f3d
mov r8, qword [rsp + 0x110]
jmp 0x611031
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0xe0], rax
lea rax, [0x0070aa00]
call fcn.0040daa0
mov qword [rsp + 0x158], rax
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x108]
call rcx
cmp dword [0x00a04ed0], 0
nop
jne 0x610fc9
mov rdi, qword [rsp + 0x158]
mov rsi, rsp
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004664a6
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x158]
mov r8, qword [rsp + 0x110]
mov qword [r8 + 0x20], rdx
jmp 0x611031
lea rdi, [rsp + 0x1f8]
mov rsi, rsp
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004664a6
mov rbp, qword [rbp]
lea rax, [0x0070aa00]
mov rbx, qword [rsp + 0x158]
lea rcx, [rsp + 0x1f8]
call fcn.00413f80
mov rdi, qword [rsp + 0x110]
lea rdx, [rdi + 0x20]
mov rax, rdi
mov rdi, rdx
mov r8, qword [rsp + 0x158]
call fcn.00465ba0
mov r8, rax
movups xmmword [rsp + 0xe8], xmm15
mov word [rsp + 0xe8], 2
mov word [rsp + 0xf0], 4
mov dword [rsp + 0xf4], 0x400000
mov rdx, qword [rsp + 0x2b8]
mov r9d, dword [rdx + 0x30]
test r9d, r9d
jne 0x61106f
xor r9d, r9d
jmp 0x611091
cmp r9d, 0x4000
jae 0x611082
mov r9d, 0x4000
nop
jmp 0x611091
cmp r9d, 0xffffff
jbe 0x611091
mov r9d, 0xffffff
test r9d, r9d
jne 0x6110aa
mov ecx, 2
lea rax, [rsp + 0xe8]
mov ebx, 2
jmp 0x6110fa
mov dword [rsp + 0xc0], r9d
lea rax, [rsp + 0xe8]
mov ebx, 3
mov ecx, 2
mov edi, 1
lea rsi, [0x006f0140]
call fcn.0044aa20
mov word [rax + 0x10], 5
mov edx, dword [rsp + 0xc0]
mov dword [rax + 0x14], edx
mov rdx, qword [rsp + 0x2b8]
mov r8, qword [rsp + 0x110]
mov ebx, 3
mov edx, dword [rdx + 0x2c]
nop dword [rax]
test edx, edx
jne 0x61110b
mov edx, 0xa00000
jmp 0x611112
cmp edx, 0xffffffff
jne 0x611112
xor edx, edx
test edx, edx
je 0x611157
inc rbx
cmp rcx, rbx
jae 0x611145
mov dword [rsp + 0xbc], edx
mov edi, 1
lea rsi, [0x006f0140]
call fcn.0044aa20
mov edx, dword [rsp + 0xbc]
mov r8, qword [rsp + 0x110]
lea r9, [rax + rbx*8]
lea r9, [r9 - 8]
mov word [r9], 6
mov dword [rax + rbx*8 - 4], edx
mov edx, dword [rsp + 0xc4]
nop
cmp edx, 0x1000
je 0x6111a5
inc rbx
cmp rcx, rbx
jae 0x611194
mov edi, 1
lea rsi, [0x006f0140]
nop dword [rax]
call fcn.0044aa20
mov edx, dword [rsp + 0xc4]
mov r8, qword [rsp + 0x110]
lea rsi, [rax + rbx*8]
lea rsi, [rsi - 8]
mov word [rsi], 1
mov dword [rax + rbx*8 - 4], edx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0x100], rax
mov rdx, qword [r8 + 0x130]
mov rsi, qword [str.PRI__HTTP_2.0_r_n_r_nSM_r_n_r_n]
mov r9, qword [0x009a40d8]
mov rdi, qword [0x009a40e0]
mov rax, rdx
mov rbx, rsi
mov rcx, r9
call fcn.005dbbe0
mov rdx, qword [rsp + 0x110]
mov rax, qword [rdx + 0x138]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
call fcn.00608f00
mov rdx, qword [rsp + 0x110]
mov rax, qword [rdx + 0x138]
xor ebx, ebx
mov ecx, 0x40000000
call fcn.00609c00
mov rdx, qword [rsp + 0x110]
mov esi, dword [rdx + 0x78]
lea r8d, [rsi + 0x4000ffff]
cmp r8d, 0x4000ffff
setg r9b
test esi, esi
setg sil
nop
cmp sil, r9b
jne 0x61125b
mov dword [rdx + 0x78], r8d
mov rax, qword [rdx + 0x130]
call fcn.005dba40
mov rcx, qword [rsp + 0x110]
cmp qword [rcx + 0x140], 0
jne 0x6112d8
lea rax, [0x006dc680]
call fcn.0040daa0
lea rcx, [0x00611380]
mov qword [rax], rcx
cmp dword [0x00a04ed0], 0
jne 0x6112a6
mov rcx, qword [rsp + 0x110]
mov qword [rax + 8], rcx
jmp 0x6112b7
lea rdi, [rax + 8]
mov rcx, qword [rsp + 0x110]
call fcn.00465b20
call fcn.00441b00
mov rax, qword [rsp + 0x110]
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0x2a8]
add rsp, 0x2b0
ret
nop
nop
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x3a
lea rcx, [0x0072fb8e]
mov qword [rax], rcx
lea rbx, [0x007f1c00]
mov rcx, rax
mov rax, qword [rsp + 0x110]
call fcn.00612160
mov rcx, qword [rsp + 0x110]
mov rbx, qword [rcx + 0x140]
mov rcx, qword [rcx + 0x148]
xor eax, eax
mov rbp, qword [rsp + 0x2a8]
add rsp, 0x2b0
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
call fcn.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
jmp fcn.00610680