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

Disassembly:
lea r12, [rsp - 0x150]
cmp r12, qword [r14 + 0x10]
jbe 0x61fcc5
sub rsp, 0x1d0
mov qword [rsp + 0x1c8], rbp
lea rbp, [rsp + 0x1c8]
mov byte [rsp + 0x1f0], dil
mov qword [rsp + 0x200], r8
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1f8], rsi
movups xmmword [rsp + 0x140], xmm15
nop
mov rdx, qword [rax + 0xe8]
mov r9, qword [rax + 0xf0]
test rdx, rdx
jne 0x61efa5
nop
mov r9, qword [0x009ad278]
lea rdx, [0x007f3f90]
nop
mov rdx, qword [rdx + 0x30]
mov rax, r9
lea rbx, [0x006ce380]
lea rcx, [0x00a04c58]
call rdx
lea rdx, [0x006d1760]
cmp rax, rdx
je 0x61efcb
xor ebx, ebx
mov qword [rsp + 0x118], rbx
test rbx, rbx
je 0x61f070
cmp qword [rbx + 0x78], 0
je 0x61f070
movups xmmword [rsp + 0x170], xmm15
mov qword [rsp + 0x180], 0
lea rcx, [0x0061fdc0]
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rbx
lea rcx, [rsp + 0x140]
mov qword [rsp + 0x180], rcx
lea rcx, [rsp + 0x170]
mov qword [rsp + 0xd0], rcx
lea rax, [rsp + 0xb8]
nop dword [rax + rax]
call fcn.00435400
test eax, eax
jne 0x61f04b
jmp 0x61f070
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov byte [rsp + 0x4f], 0
movups xmmword [rsp + 0x188], xmm15
movups xmmword [rsp + 0x198], xmm15
lea rcx, [0x0061fd20]
mov qword [rsp + 0x188], rcx
lea rcx, [rsp + 0x4f]
mov qword [rsp + 0x190], rcx
mov rcx, qword [rsp + 0x1d8]
mov qword [rsp + 0x198], rcx
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x1a0], rdx
lea rdx, [rsp + 0x188]
mov qword [rsp + 0x88], rdx
lea rax, [rsp + 0x70]
call fcn.00435400
nop dword [rax]
test eax, eax
jne 0x61f274
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [rcx + 0x80]
mov rbx, qword [rcx + 0x88]
nop
call fcn.0061fe80
test rbx, rbx
jne 0x61f16d
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x61f12a
mov rax, qword [rdx + 0x28]
mov rbx, qword [rdx + 0x30]
call fcn.0061fe80
jmp 0x61f16d
mov rax, qword [0x009af7f0]
mov rcx, qword [0x009af7f8]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rcx
call fcn.00435a20
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00620040
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rcx + 0x10]
mov rax, rdx
call fcn.00581640
movzx ecx, byte [rsp + 0x1f0]
test cl, cl
je 0x61f1fb
mov rdx, qword [rsp + 0x1d8]
mov r12, qword [rdx + 0x10]
mov rcx, qword [r12 + 8]
mov r13, qword [r12]
test rcx, rcx
je 0x61f203
cmp qword [r12 + 0x18], 0
nop
jne 0x61f203
lea rdi, [0x0071995e]
mov esi, 3
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0x68]
mov r10, rax
mov r11, rbx
xor eax, eax
mov rbx, r13
call fcn.0044e9e0
mov rdx, qword [rsp + 0x1d8]
mov rdi, rbx
mov rsi, rax
jmp 0x61f270
mov rdx, qword [rsp + 0x1d8]
mov rsi, qword [rdx]
cmp qword [rdx + 8], 7
jne 0x61f26a
cmp dword [rsi], 0x4e4e4f43
jne 0x61f262
cmp word [rsi + 4], 0x4345
jne 0x61f25a
cmp byte [rsi + 6], 0x54
jne 0x61f252
mov rsi, qword [rdx + 0x10]
cmp qword [rsi + 0x40], 0
jne 0x61f24a
mov rdi, qword [rsi + 0x18]
mov rsi, qword [rsi + 0x10]
test rdi, rdi
jne 0x61f270
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x128]
jmp 0x61f270
mov rdi, rbx
mov rsi, rax
jmp 0x61f270
mov rdi, rbx
mov rsi, rax
jmp 0x61f270
mov rdi, rbx
mov rsi, rax
jmp 0x61f270
mov rdi, rbx
mov rsi, rax
jmp 0x61f270
mov rdi, rbx
mov rsi, rax
xor eax, eax
jmp 0x61f2a0
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
inc rax
nop dword [rax]
cmp rax, rdi
jge 0x61f313
movzx r8d, byte [rsi + rax]
cmp r8b, 0x20
jb 0x61f2b6
cmp r8b, 0x7f
jne 0x61f299
lea rax, [0x006d8800]
nop dword [rax]
call fcn.0040daa0
mov qword [rax + 8], 0x36
lea rcx, [0x0072f044]
mov qword [rax], rcx
lea rcx, [0x007f1c00]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x120], rsi
lea rax, [0x006d3e00]
mov rbx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e8]
call fcn.0040b3a0
nop dword [rax]
test rax, rax
je 0x61f35c
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1e8]
xor edx, edx
jmp 0x61f431
nop
nop
mov rdx, qword [rsp + 0x1e0]
lea rsi, [0x007f19c0]
cmp rdx, rsi
jne 0x61f37c
mov rax, qword [rsp + 0x1e8]
jmp 0x61f381
mov eax, 0
jne 0x61f391
cmp qword [rax + 0x18], 0x1000
jge 0x61f427
lea rax, [0x006bb680]
mov ebx, 0x1000
mov rcx, rbx
call fcn.0044a940
mov qword [rsp + 0x138], rax
lea rax, [0x006f5fc0]
call fcn.0040daa0
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x00a04ed0], 0
jne 0x61f3e2
mov rcx, qword [rsp + 0x138]
mov qword [rax + 0x10], rcx
nop
jmp 0x61f3f3
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x138]
call fcn.00465b20
mov rcx, qword [rsp + 0x1e0]
mov qword [rax + 0x30], rcx
cmp dword [0x00a04ed0], 0
jne 0x61f416
mov rcx, qword [rsp + 0x1e8]
mov qword [rax + 0x38], rcx
jmp 0x61f427
lea rdi, [rax + 0x38]
mov rcx, qword [rsp + 0x1e8]
call fcn.00465b20
lea rcx, [0x007f19c0]
mov rdx, rax
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x130], rdx
mov rsi, qword [rsp + 0x1d8]
mov rdi, qword [rsi + 8]
mov r8, qword [rsi]
test rdi, rdi
jne 0x61f466
mov edi, 3
lea r8, [0x007199a3]
movups xmmword [rsp + 0x1a8], xmm15
movups xmmword [rsp + 0x1b8], xmm15
mov rax, r8
mov rbx, rdi
nop
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x1a8], rcx
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x60]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x1b8], rcx
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
mov edi, 0x10
lea rsi, [rsp + 0x1a8]
mov r8d, 2
mov r9, r8
lea rcx, [0x0071db59]
call fcn.004c5080
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x61fca0
movups xmmword [rsp + 0x160], xmm15
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x68]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
mov edi, 0xa
lea rsi, [rsp + 0x160]
mov r8d, 1
mov r9, r8
lea rcx, [0x0071b2a5]
call fcn.004c5080
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
nop
test rbx, rbx
jne 0x61fc79
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x61f603
cmp qword [rdx + 0x60], 0
je 0x61f603
lea rax, [0x006bcfc0]
call fcn.0040daa0
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
cmp dword [0x00a04ed0], 0
jne 0x61f5c8
mov r8, qword [rsp + 0x128]
mov qword [rax], r8
jmp 0x61f5d8
mov rdi, rax
mov r8, qword [rsp + 0x128]
call fcn.00465ba0
mov r8, qword [rsp + 0x118]
mov rdx, qword [r8 + 0x60]
mov r9, qword [rdx]
mov ebx, 4
mov rcx, rax
mov edi, 1
mov rsi, rdi
lea rax, [0x00719b85]
nop
call r9
mov rdx, qword [rsp + 0x1d8]
mov rbx, qword [rdx + 0x38]
lea rax, [0x00706820]
lea rcx, [0x0071b3f9]
mov edi, 0xa
call fcn.00412f00
test bl, bl
jne 0x61f639
mov ebx, 0x12
lea rax, [0x0071ecf5]
jmp 0x61f656
mov rdx, qword [rsp + 0x1d8]
mov rax, qword [rdx + 0x38]
lea rbx, [0x0071b3f9]
mov ecx, 0xa
call fcn.005dc760
test rbx, rbx
je 0x61f75e
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x108], rax
movups xmmword [rsp + 0x160], xmm15
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
lea rcx, [0x0071df69]
mov edi, 0x10
lea rsi, [rsp + 0x160]
mov r8d, 1
mov r9, r8
nop dword [rax + rax]
call fcn.004c5080
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x61fc54
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x61f75e
cmp qword [rcx + 0x60], 0
je 0x61f75e
lea rax, [0x006bcfc0]
call fcn.0040daa0
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
cmp dword [0x00a04ed0], 0
jne 0x61f71d
mov r8, qword [rsp + 0x108]
mov qword [rax], r8
jmp 0x61f72d
mov rdi, rax
mov r8, qword [rsp + 0x108]
call fcn.00465ba0
mov r8, qword [rsp + 0x118]
mov rdx, qword [r8 + 0x60]
mov r9, qword [rdx]
mov ebx, 0xa
mov rcx, rax
mov edi, 1
mov rsi, rdi
lea rax, [0x0071b3f9]
call r9
mov rcx, qword [rsp + 0x118]
lea rax, [0x0070e440]
mov rbx, qword [rsp + 0x1d8]
call fcn.00624ea0
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x61fc2f
mov qword [rsp + 0x110], rax
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x118]
call fcn.00625f40
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
nop dword [rax]
test rax, rax
jne 0x61fc0a
mov rdx, qword [rsp + 0x1d8]
mov rax, qword [rdx + 0x38]
mov rdi, qword [0x009ae7f0]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x118]
call fcn.0061e120
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
jne 0x61fbe5
mov rax, qword [rsp + 0x1f8]
test rax, rax
je 0x61f851
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
xor edi, edi
mov rsi, qword [rsp + 0x118]
call fcn.0061e120
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
jne 0x61fbc0
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
lea rcx, [0x00719890]
mov edi, 2
call fcn.00498440
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
nop
test rbx, rbx
jne 0x61fb9a
mov rsi, qword [rsp + 0x118]
test rsi, rsi
je 0x61f8ac
mov rdx, qword [rsi + 0x68]
test rdx, rdx
je 0x61f8ac
mov rax, qword [rdx]
call rax
mov rsi, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x200]
test rdx, rdx
je 0x61f9c5
mov rcx, qword [rsp + 0x50]
lea rbx, [0x007f19c0]
cmp rcx, rbx
jne 0x61f8d8
mov rax, qword [rsp + 0x100]
jmp 0x61f8dd
mov eax, 0
je 0x61f8e4
test rsi, rsi
jmp 0x61f92b
call fcn.005dba40
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
nop dword [rax]
test rax, rax
jne 0x61f9a0
mov rax, qword [rsp + 0x118]
test rax, rax
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x200]
lea rbx, [0x007f19c0]
mov rsi, rax
je 0x61f946
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x61f946
mov rcx, qword [rax]
mov rdx, rax
call rcx
mov rdx, qword [rsp + 0x200]
mov rax, qword [rdx]
call rax
test al, al
jne 0x61f9c5
mov byte [rsp + 0x4f], 1
nop
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rcx + 0x40]
mov rax, qword [rcx + 0x48]
test rdx, rdx
je 0x61f970
mov rcx, qword [rdx + 0x18]
call rcx
movups xmmword [rsp + 0x140], xmm15
call fcn.00435a20
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rbx, qword [rsp + 0x50]
lea rdx, [0x007f19c0]
cmp rbx, rdx
jne 0x61f9e2
mov rax, qword [rsp + 0x100]
nop
jmp 0x61f9e7
mov eax, 0
jne 0x61fa49
mov rdx, qword [rsp + 0x110]
cmp byte [rdx + 0x88], 0
je 0x61fa51
call fcn.005dba40
nop
test rax, rax
jne 0x61fa14
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x50]
jmp 0x61fa51
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rdx, qword [rsp + 0x110]
mov byte [rsp + 0x4f], 1
mov rax, rdx
mov rcx, qword [rsp + 0x100]
call fcn.006266e0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
je 0x61fb25
mov rdx, qword [rsp + 0x110]
mov rsi, qword [rdx + 0x78]
mov rdx, qword [rdx + 0x80]
cmp rax, rsi
jne 0x61fb00
mov rax, rsi
mov rcx, rbx
mov rbx, rdx
call fcn.00403fe0
test al, al
je 0x61fb00
movups xmmword [rsp + 0x150], xmm15
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x148]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rdx
lea rax, [0x006dfc00]
lea rbx, [rsp + 0x150]
call fcn.0040ae80
lea rcx, [0x007f2760]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
nop dword [rax]
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x61fb6c
call fcn.005dba40
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
movups xmmword [rsp + 0x140], xmm15
call fcn.00435a20
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435a20
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
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
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]
jmp fcn.0061ef20