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

Disassembly:
lea r12, [rsp - 0x178]
cmp r12, qword [r14 + 0x10]
jbe 0x61c2f5
push rbp
mov rbp, rsp
sub rsp, 0x1f0
mov qword [rsp + 0x200], rax
mov byte [rsp + 0x218], dil
mov qword [rsp + 0x210], rcx
mov qword [rsp + 0x208], rbx
lea rax, [0x0066dfc0]
xor ebx, ebx
call fcn.00405fe0
mov qword [rsp + 0x168], rax
call fcn.0040df00
mov qword [rsp + 0x160], rax
call fcn.0040df00
mov qword [rsp + 0x158], rax
mov ebx, 1
lea rax, [0x0066dfc0]
call fcn.00405fe0
mov qword [rsp + 0x150], rax
lea rax, [0x006c14e0]
call fcn.0040d480
cmp dword [0x0092d940], 0
jne 0x61b5f5
mov rcx, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x168]
jmp 0x61b61d
call fcn.0045fe60
mov rcx, qword [rsp + 0x200]
mov qword [r11], rcx
mov rdx, qword [rsp + 0x210]
mov qword [r11 + 8], rdx
mov rbx, qword [rsp + 0x168]
mov qword [r11 + 0x10], rbx
mov qword [rax], rcx
mov rsi, qword [rsp + 0x208]
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rdx
mov qword [rax + 0x28], rbx
mov dword [rax + 0xa8], 1
mov dword [rax + 0xf8], 0x4000
mov dword [rax + 0x10c], 0xffff
mov dword [rax + 0xfc], 0x64
mov qword [rax + 0x100], 0xffffffffffffffff
cmp dword [0x0092d940], 0
jne 0x61b68a
mov rbx, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x158]
mov r8, qword [rsp + 0x150]
jmp 0x61b6b2
call fcn.0045fe60
mov rbx, qword [rsp + 0x160]
mov qword [r11], rbx
mov rdi, qword [rsp + 0x158]
mov qword [r11 + 8], rdi
mov r8, qword [rsp + 0x150]
mov qword [r11 + 0x10], r8
mov qword [rax + 0x98], rbx
movzx ebx, byte [rsp + 0x218]
mov byte [rax + 0x24], bl
mov byte [rax + 0x7c], 1
mov qword [rax + 0xb8], rdi
mov qword [rax + 0x110], r8
mov rbx, qword [rcx + 0x60]
test rbx, rbx
je 0x61b6e8
mov rbx, qword [rbx + 0xd0]
jmp 0x61b6ea
xor ebx, ebx
mov qword [rsp + 0xf8], rax
test rbx, rbx
je 0x61b79e
mov qword [rsp + 0xd8], rbx
mov qword [rax + 0x40], rbx
lea rax, [0x0068a920]
call fcn.0040d480
lea rcx, [0x00647d60]
mov qword [rax], rcx
cmp dword [0x0092d940], 0
jne 0x61b730
mov rcx, qword [rsp + 0xf8]
jmp 0x61b740
call fcn.0045fe20
mov rcx, qword [rsp + 0xf8]
mov qword [r11], rcx
mov qword [rax + 8], rcx
mov rbx, rax
mov rax, qword [rsp + 0xd8]
call fcn.004ad2a0
cmp dword [0x0092d940], 0
jne 0x61b767
mov rcx, qword [rsp + 0xf8]
jmp 0x61b77f
call fcn.0045fe40
mov qword [r11], rax
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rcx + 0x48]
mov qword [r11 + 8], rdx
mov qword [rcx + 0x48], rax
mov rax, rcx
mov rcx, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x210]
mov rsi, qword [rsp + 0x208]
cmp byte [0x0092d4c9], 0
je 0x61b838
mov rcx, qword [rsi + 0x30]
mov rax, rdx
call rcx
movups xmmword [rsp + 0x1c8], xmm15
movups xmmword [rsp + 0x1d8], xmm15
lea rcx, [0x006bc2c0]
mov qword [rsp + 0x1c8], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x1d0], rcx
test rax, rax
je 0x61b7ee
mov rax, qword [rax + 8]
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1e0], rbx
cmp byte [0x0092d4c9], 0
je 0x61b838
mov rax, qword [rsp + 0x200]
lea rbx, [0x006d3e27]
mov ecx, 0x2e
lea rdi, [rsp + 0x1c8]
mov esi, 2
mov r8, rsi
call fcn.00627de0
mov rcx, qword [rsp + 0xf8]
lea rax, [0x006a29e0]
nop
call fcn.0040d480
lea rcx, [0x00742a60]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xf8]
lea rdx, [rcx + 0x50]
cmp dword [0x0092d940], 0
je 0x61b878
call fcn.0045fe60
mov qword [r11], rdx
mov qword [r11 + 8], rax
mov rsi, qword [rcx + 0x58]
mov qword [r11 + 0x10], rsi
mov qword [rax + 8], rdx
mov qword [rcx + 0x58], rax
mov edx, dword [rcx + 0x60]
lea esi, [rdx + 0xffff]
nop
cmp esi, 0xffff
setg dil
test edx, edx
setg dl
cmp dl, dil
jne 0x61b8a1
mov dword [rcx + 0x60], esi
movups xmmword [rsp + 0x110], xmm15
movups xmmword [rsp + 0x120], xmm15
mov rdx, qword [rsp + 0x208]
mov qword [rsp + 0x110], rdx
mov rsi, qword [rsp + 0x210]
mov qword [rsp + 0x118], rsi
mov rdi, qword [rsp + 0x200]
mov r8, qword [rdi + 0x50]
mov qword [rsp + 0x120], r8
lea r8, [rcx + 0x130]
mov qword [rsp + 0x128], r8
lea rax, [0x006a0ca0]
lea rbx, [rsp + 0x110]
call fcn.0040a6e0
mov qword [rsp + 0x148], rax
nop
mov ebx, 0x1000
mov rcx, rbx
lea rax, [0x0066d1c0]
call fcn.004479c0
mov qword [rsp + 0x140], rax
lea rax, [0x006a2ce0]
call fcn.0040d480
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x0092d940], 0
jne 0x61b96e
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x148]
mov rsi, qword [rsp + 0xf8]
jmp 0x61b9a1
call fcn.0045fe80
mov rcx, qword [rsp + 0x140]
mov qword [r11], rcx
mov rdx, qword [rsp + 0x148]
mov qword [r11 + 8], rdx
mov qword [r11 + 0x10], rax
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsi + 0x120]
mov qword [r11 + 0x18], rdi
mov qword [rax + 0x10], rcx
lea rcx, [0x00741d00]
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rdx
mov qword [rsi + 0x120], rax
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x61b9df
mov rbx, qword [rcx + 8]
mov rdx, qword [0x0089b010]
mov rdi, qword [rdx]
mov r8d, dword [rcx + 0x10]
jmp 0x61c29f
mov rax, rcx
nop
lea rdx, [0x00741760]
cmp rcx, rdx
jne 0x61b9f9
mov rbx, qword [rsp + 0x210]
jmp 0x61b9fe
mov ebx, 0
mov qword [rsp + 0x138], rcx
jne 0x61ba16
cmp qword [rbx + 8], 0x1000
jge 0x61bb52
lea rax, [0x006ae080]
nop dword [rax]
call fcn.0040d480
mov qword [rsp + 0xf0], rax
mov ebx, 0x1000
mov rcx, rbx
lea rax, [0x0066d1c0]
nop dword [rax]
call fcn.004479c0
nop
movups xmmword [rsp + 0x170], xmm15
lea rdi, [rsp + 0x178]
lea rdi, [rdi - 0x30]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004604d0
mov rbp, qword [rbp]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], 0x1000
mov qword [rsp + 0x180], 0x1000
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 0x188], rcx
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x1b8], 0xffffffffffffffff
mov qword [rsp + 0x1c0], 0xffffffffffffffff
cmp dword [0x0092d940], 0
je 0x61baf8
lea rax, [0x006ae080]
mov rbx, qword [rsp + 0xf0]
lea rcx, [rsp + 0x170]
call fcn.00413600
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x170]
mov rdi, qword [rsp + 0xf0]
mov qword [rdi], rdx
lea rdx, [rdi + 8]
lea rsi, [rsp + 0x178]
mov rdi, rdx
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046083a
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x208]
lea rdx, [0x00741760]
mov rsi, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0xf0]
cmp dword [0x0092d940], 0
je 0x61bb73
nop dword [rax + rax]
call fcn.0045fe40
mov qword [r11], rbx
mov rcx, qword [rsi + 0xc0]
mov qword [r11 + 8], rcx
mov qword [rsp + 0xf0], rbx
mov qword [rsi + 0xc0], rbx
mov rcx, qword [rsi + 0x120]
mov qword [rsp + 0x130], rcx
lea rax, [0x006bbae0]
call fcn.0040d480
lea rcx, [0x007419c0]
mov qword [rax + 0x78], rcx
cmp dword [0x0092d940], 0
jne 0x61bbc3
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0xf0]
jmp 0x61bbdf
call fcn.0045fe40
mov rcx, qword [rsp + 0x130]
mov qword [r11], rcx
mov rdx, qword [rsp + 0xf0]
mov qword [r11 + 8], rdx
mov qword [rsp + 0x108], rax
mov qword [rax + 0x80], rcx
lea rcx, [0x00741760]
mov qword [rax], rcx
mov qword [rax + 8], rdx
lea rcx, [0x006f4638]
mov qword [rax + 0x30], rcx
movzx ecx, byte [0x0092d4cb]
mov byte [rax + 0xb4], cl
movzx ecx, byte [0x0092d4ca]
mov byte [rax + 0xb5], cl
lea rcx, [0x006f4718]
mov qword [rax + 0xc8], rcx
mov qword [rax + 0xd0], rcx
lea rax, [0x0068ada0]
nop dword [rax]
call fcn.0040d480
lea rcx, [0x0061c3a0]
mov qword [rax], rcx
cmp dword [0x0092d940], 0
jne 0x61bc62
mov rcx, qword [rsp + 0x108]
jmp 0x61bc7e
call fcn.0045fe60
mov rcx, qword [rsp + 0x108]
mov qword [r11], rcx
mov qword [r11 + 8], rax
mov rdx, qword [rcx + 0x50]
mov qword [r11 + 0x10], rdx
mov qword [rax + 8], rcx
mov qword [rcx + 0x50], rax
nop
mov dword [rcx + 0x3c], 0xffffff
cmp dword [0x0092d940], 0
jne 0x61bca2
mov rdx, qword [rsp + 0xf8]
nop
jmp 0x61bcbd
call fcn.0045fe40
mov qword [r11], rcx
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rdx + 0x128]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x128], rcx
mov rsi, qword [rsp + 0x200]
mov edi, dword [rsi + 0x30]
test edi, edi
jne 0x61bcd7
xor eax, eax
jmp 0x61bcf7
cmp edi, 0x4000
jae 0x61bce6
mov eax, 0x4000
jmp 0x61bcf7
cmp edi, 0xffffff
jbe 0x61bcf5
mov eax, 0xffffff
jmp 0x61bcf7
mov eax, edi
test eax, eax
je 0x61bd33
test edi, edi
jne 0x61bd03
xor edi, edi
jmp 0x61bd1f
cmp edi, 0x4000
jae 0x61bd12
mov edi, 0x4000
jmp 0x61bd1f
cmp edi, 0xffffff
jbe 0x61bd1f
mov edi, 0xffffff
nop
cmp edi, 0xffffff
mov r8d, 0xffffff
cmova edi, r8d
mov dword [rcx + 0x3c], edi
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x61bd62
mov rdi, qword [rdx + 0x128]
test byte [rdi], al
cmp dword [0x0092d940], 0
je 0x61bd5e
call fcn.0045fe40
mov qword [r11], rcx
mov r8, qword [rdi + 0x30]
mov qword [r11 + 8], r8
mov qword [rdi + 0x30], rcx
mov ecx, dword [rsi + 0x34]
nop
test ecx, ecx
mov eax, 0x1000
cmova eax, ecx
mov dword [rsp + 0xc4], eax
xor ebx, ebx
call fcn.00602d00
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rbx + 0x128]
test byte [rcx], al
cmp dword [0x0092d940], 0
je 0x61bdab
call fcn.0045fe40
mov qword [r11], rax
mov rdx, qword [rcx + 0xa8]
mov qword [r11 + 8], rdx
mov qword [rcx + 0xa8], rax
mov rcx, qword [rsp + 0x200]
mov edx, dword [rcx + 0x2c]
nop dword [rax]
test edx, edx
jne 0x61bdcb
mov edx, 0xa00000
jmp 0x61bdd2
cmp edx, 0xffffffff
jne 0x61bdd2
xor edx, edx
mov rcx, qword [rbx + 0x128]
mov dword [rcx + 0xb0], edx
lea rcx, [rbx + 0x140]
lea rax, [0x007416c0]
mov rbx, rcx
call fcn.00601900
cmp dword [0x0092d940], 0
jne 0x61be08
mov rdx, qword [rsp + 0xf8]
jmp 0x61be23
call fcn.0045fe40
mov qword [r11], rax
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rdx + 0x168]
mov qword [r11 + 8], r8
mov qword [rdx + 0x168], rax
mov r8, qword [rsp + 0x200]
mov r9d, dword [r8 + 0x38]
nop
test r9d, r9d
mov r10d, 0x1000
cmova r10d, r9d
mov dword [rax + 0x44], r10d
cmp dword [rax + 0x34], r10d
jbe 0x61be6c
mov byte [rax + 0x48], 1
nop
mov dword [rax + 0x34], r10d
call fcn.00603100
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x200]
mov dword [rdx + 0x108], 0x1000
cmp byte [r8 + 0x29], 0
je 0x61be94
mov dword [rdx + 0xa8], 3
mov r9, qword [rsp + 0x208]
test r9, r9
jmp 0x61bea3
mov r9, qword [rsp + 0x208]
nop dword [rax]
test r9, r9
je 0x61bec0
mov rbx, qword [r9 + 8]
mov r10, qword [0x0089b030]
mov r11, qword [r10]
mov r9d, dword [r9 + 0x10]
jmp 0x61c253
test r9, r9
je 0x61bf72
mov qword [rsp + 0x138], r9
lea rax, [0x006b5840]
call fcn.0040d480
mov qword [rsp + 0x1e8], rax
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x210]
call rcx
cmp dword [0x0092d940], 0
je 0x61bf33
call fcn.0045fe40
mov rbx, qword [rsp + 0x1e8]
mov qword [r11], rbx
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rdx + 0x18]
mov qword [r11 + 8], rsi
lea rax, [0x006b5840]
mov rcx, rsp
call fcn.00413600
mov rdi, qword [rsp + 0x1e8]
mov rsi, rsp
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004607e6
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x1e8]
mov r8, qword [rsp + 0xf8]
mov qword [r8 + 0x18], rdx
mov rdx, r8
mov r8, qword [rsp + 0x200]
movups xmmword [rsp + 0xc8], xmm15
mov word [rsp + 0xc8], 2
mov word [rsp + 0xd0], 4
mov dword [rsp + 0xd4], 0x400000
mov r9d, dword [r8 + 0x30]
nop
test r9d, r9d
jne 0x61bfaa
xor r9d, r9d
jmp 0x61bfcf
cmp r9d, 0x4000
jae 0x61bfc0
mov r9d, 0x4000
jmp 0x61bfcf
cmp r9d, 0xffffff
jbe 0x61bfcf
mov r9d, 0xffffff
test r9d, r9d
jne 0x61bfe8
mov ecx, 2
lea rax, [rsp + 0xc8]
mov ebx, 2
jmp 0x61c038
mov dword [rsp + 0xc0], r9d
lea rax, [rsp + 0xc8]
mov ebx, 3
mov ecx, 2
mov edi, 1
lea rsi, [0x0069c640]
call fcn.00447aa0
mov word [rax + 0x10], 5
mov edx, dword [rsp + 0xc0]
mov dword [rax + 0x14], edx
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x200]
mov ebx, 3
mov r8d, dword [r8 + 0x2c]
nop dword [rax]
test r8d, r8d
jne 0x61c04d
mov r8d, 0xa00000
jmp 0x61c056
cmp r8d, 0xffffffff
jne 0x61c056
xor r8d, r8d
test r8d, r8d
je 0x61c0a1
inc rbx
nop
cmp rcx, rbx
jae 0x61c08e
mov dword [rsp + 0xbc], r8d
mov edi, 1
lea rsi, [0x0069c640]
call fcn.00447aa0
mov rdx, qword [rsp + 0xf8]
mov r8d, dword [rsp + 0xbc]
lea r9, [rax + rbx*8]
lea r9, [r9 - 8]
mov word [r9], 6
mov dword [rax + rbx*8 - 4], r8d
mov r8d, dword [rsp + 0xc4]
cmp r8d, 0x1000
je 0x61c0ed
inc rbx
cmp rcx, rbx
jae 0x61c0db
mov edi, 1
lea rsi, [0x0069c640]
call fcn.00447aa0
mov rdx, qword [rsp + 0xf8]
mov r8d, dword [rsp + 0xc4]
lea rsi, [rax + rbx*8]
lea rsi, [rsi - 8]
mov word [rsi], 1
mov dword [rax + rbx*8 - 4], r8d
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0x100], rax
mov rsi, qword [rdx + 0x120]
mov r8, qword [str.PRI__HTTP_2.0_r_n_r_nSM_r_n_r_n]
mov r9, qword [0x0089aef8]
mov rdi, qword [0x0089af00]
mov rax, rsi
mov rbx, r8
mov rcx, r9
call fcn.00479300
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rdx + 0x128]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
call fcn.00613e80
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rdx + 0x128]
xor ebx, ebx
mov ecx, 0x40000000
call fcn.00614b60
nop
mov rdx, qword [rsp + 0xf8]
mov dword [rdx + 0x70], 0x4000ffff
mov rax, qword [rdx + 0x120]
call fcn.00479160
mov rdx, qword [rsp + 0xf8]
cmp qword [rdx + 0x130], 0
jne 0x61c1fb
lea rax, [0x0068ad20]
call fcn.0040d480
lea rcx, [0x0061c340]
mov qword [rax], rcx
cmp dword [0x0092d940], 0
jne 0x61c1cd
mov rcx, qword [rsp + 0xf8]
jmp 0x61c1dd
call fcn.0045fe20
mov rcx, qword [rsp + 0xf8]
mov qword [r11], rcx
mov qword [rax + 8], rcx
call fcn.0043ebe0
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
xor ecx, ecx
add rsp, 0x1f0
pop rbp
ret
nop
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 0x3a
lea rcx, [0x006d6908]
mov qword [rax], rcx
lea rbx, [0x00741740]
mov rcx, rax
mov rax, qword [rsp + 0xf8]
call fcn.0061d120
mov rcx, qword [rsp + 0xf8]
mov rbx, qword [rcx + 0x130]
mov rcx, qword [rcx + 0x138]
xor eax, eax
add rsp, 0x1f0
pop rbp
ret
mov r12, r9
and r9, r11
shl r9, 4
mov r13, qword [r10 + r9 + 8]
cmp r13, rbx
je 0x61c295
lea r9, [r12 + 1]
test r13, r13
jne 0x61c253
lea rax, [0x0089b030]
call fcn.0040aaa0
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x200]
mov r9, rax
jmp 0x61bec0
mov r9, qword [r10 + r9 + 0x10]
jmp 0x61bec0
mov r9, r8
and r8, rdi
shl r8, 4
mov r10, qword [rdx + r8 + 8]
cmp r10, rbx
je 0x61c2e5
lea r8, [r9 + 1]
test r10, r10
jne 0x61c29f
lea rax, [0x0089b010]
call fcn.0040aaa0
mov rsi, qword [rsp + 0xf8]
mov rcx, rax
mov rax, qword [rsp + 0x208]
nop dword [rax + rax]
jmp 0x61b9e2
mov rdx, qword [rdx + r8 + 0x10]
mov rax, rcx
mov rcx, rdx
jmp 0x61b9e2
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
jmp fcn.0061b540