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

Disassembly:
lea r12, [rsp - 0x150]
cmp r12, qword [r14 + 0x10]
jbe 0x61ce65
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 0x61c145
nop
mov r9, qword [0x008c3278]
lea rdx, [0x007307e8]
nop
mov rdx, qword [rdx + 0x30]
mov rax, r9
lea rbx, [0x006768a0]
lea rcx, [0x00918838]
call rdx
lea rdx, [0x006796a0]
cmp rax, rdx
je 0x61c16b
xor ebx, ebx
mov qword [rsp + 0x118], rbx
test rbx, rbx
je 0x61c210
cmp qword [rbx + 0x78], 0
je 0x61c210
movups xmmword [rsp + 0x170], xmm15
mov qword [rsp + 0x180], 0
lea rcx, [0x0061cf60]
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.004350e0
test eax, eax
jne 0x61c1eb
jmp 0x61c210
call fcn.00435700
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, [0x0061cec0]
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.004350e0
nop dword [rax]
test eax, eax
jne 0x61c414
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [rcx + 0x80]
mov rbx, qword [rcx + 0x88]
nop
call fcn.0061d020
test rbx, rbx
jne 0x61c30d
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x61c2ca
mov rax, qword [rdx + 0x28]
mov rbx, qword [rdx + 0x30]
call fcn.0061d020
jmp 0x61c30d
mov rax, qword [0x008b64f0]
mov rcx, qword [0x008b64f8]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rcx
call fcn.00435700
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.0061d1e0
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.00570920
movzx ecx, byte [rsp + 0x1f0]
test cl, cl
je 0x61c39b
mov rdx, qword [rsp + 0x1d8]
mov r12, qword [rdx + 0x10]
mov rcx, qword [r12 + 8]
mov r13, qword [r12]
test rcx, rcx
je 0x61c3a3
cmp qword [r12 + 0x18], 0
nop
jne 0x61c3a3
lea rdi, [0x006b8781]
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.0044e6c0
mov rdx, qword [rsp + 0x1d8]
mov rdi, rbx
mov rsi, rax
jmp 0x61c410
mov rdx, qword [rsp + 0x1d8]
mov rsi, qword [rdx]
cmp qword [rdx + 8], 7
jne 0x61c40a
cmp dword [rsi], 0x4e4e4f43
jne 0x61c402
cmp word [rsi + 4], 0x4345
jne 0x61c3fa
cmp byte [rsi + 6], 0x54
jne 0x61c3f2
mov rsi, qword [rdx + 0x10]
cmp qword [rsi + 0x40], 0
jne 0x61c3ea
mov rdi, qword [rsi + 0x18]
mov rsi, qword [rsi + 0x10]
test rdi, rdi
jne 0x61c410
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x128]
jmp 0x61c410
mov rdi, rbx
mov rsi, rax
jmp 0x61c410
mov rdi, rbx
mov rsi, rax
jmp 0x61c410
mov rdi, rbx
mov rsi, rax
jmp 0x61c410
mov rdi, rbx
mov rsi, rax
jmp 0x61c410
mov rdi, rbx
mov rsi, rax
xor eax, eax
jmp 0x61c440
call fcn.00435700
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 0x61c4b3
movzx r8d, byte [rsi + rax]
cmp r8b, 0x20
jb 0x61c456
cmp r8b, 0x7f
jne 0x61c439
lea rax, [0x0067fd60]
nop dword [rax]
call fcn.0040da20
mov qword [rax + 8], 0x36
lea rcx, [0x006cab01]
mov qword [rax], rcx
lea rcx, [0x0072e7e0]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
call fcn.00435700
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, [0x0067bdc0]
mov rbx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e8]
call fcn.0040b320
nop dword [rax]
test rax, rax
je 0x61c4fc
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1e8]
xor edx, edx
jmp 0x61c5d1
nop
nop
mov rdx, qword [rsp + 0x1e0]
lea rsi, [0x0072e680]
cmp rdx, rsi
jne 0x61c51c
mov rax, qword [rsp + 0x1e8]
jmp 0x61c521
mov eax, 0
jne 0x61c531
cmp qword [rax + 0x18], 0x1000
jge 0x61c5c7
lea rax, [0x00667c00]
mov ebx, 0x1000
mov rcx, rbx
call fcn.0044a620
mov qword [rsp + 0x138], rax
lea rax, [0x00697f80]
call fcn.0040da20
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x00918a90], 0
jne 0x61c582
mov rcx, qword [rsp + 0x138]
mov qword [rax + 0x10], rcx
nop
jmp 0x61c593
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x138]
call fcn.00465700
mov rcx, qword [rsp + 0x1e0]
mov qword [rax + 0x30], rcx
cmp dword [0x00918a90], 0
jne 0x61c5b6
mov rcx, qword [rsp + 0x1e8]
mov qword [rax + 0x38], rcx
jmp 0x61c5c7
lea rdi, [rax + 0x38]
mov rcx, qword [rsp + 0x1e8]
call fcn.00465700
lea rcx, [0x0072e680]
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 0x61c606
mov edi, 3
lea r8, [0x006b87c6]
movups xmmword [rsp + 0x1a8], xmm15
movups xmmword [rsp + 0x1b8], xmm15
mov rax, r8
mov rbx, rdi
nop
call fcn.0040b080
lea rcx, [0x00667a40]
mov qword [rsp + 0x1a8], rcx
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x60]
call fcn.0040b080
lea rcx, [0x00667a40]
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, [0x006bbc11]
call fcn.004f3980
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x61ce40
movups xmmword [rsp + 0x160], xmm15
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x68]
call fcn.0040b080
lea rcx, [0x00667a40]
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, [0x006b9e0f]
call fcn.004f3980
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
nop
test rbx, rbx
jne 0x61ce19
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x61c7a3
cmp qword [rdx + 0x60], 0
je 0x61c7a3
lea rax, [0x00669140]
call fcn.0040da20
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
cmp dword [0x00918a90], 0
jne 0x61c768
mov r8, qword [rsp + 0x128]
mov qword [rax], r8
jmp 0x61c778
mov rdi, rax
mov r8, qword [rsp + 0x128]
call fcn.00465780
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, [0x006b8990]
nop
call r9
mov rdx, qword [rsp + 0x1d8]
mov rbx, qword [rdx + 0x38]
lea rax, [0x006a6a60]
lea rcx, [0x006b9eeb]
mov edi, 0xa
call fcn.00412e60
test bl, bl
jne 0x61c7d9
mov ebx, 0x12
lea rax, [0x006bc974]
jmp 0x61c7f6
mov rdx, qword [rsp + 0x1d8]
mov rax, qword [rdx + 0x38]
lea rbx, [0x006b9eeb]
mov ecx, 0xa
call fcn.005d6fc0
test rbx, rbx
je 0x61c8fe
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x108], rax
movups xmmword [rsp + 0x160], xmm15
call fcn.0040b080
lea rcx, [0x00667a40]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
lea rcx, [0x006bbea1]
mov edi, 0x10
lea rsi, [rsp + 0x160]
mov r8d, 1
mov r9, r8
nop dword [rax + rax]
call fcn.004f3980
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x61cdf4
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x61c8fe
cmp qword [rcx + 0x60], 0
je 0x61c8fe
lea rax, [0x00669140]
call fcn.0040da20
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
cmp dword [0x00918a90], 0
jne 0x61c8bd
mov r8, qword [rsp + 0x108]
mov qword [rax], r8
jmp 0x61c8cd
mov rdi, rax
mov r8, qword [rsp + 0x108]
call fcn.00465780
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, [0x006b9eeb]
call r9
mov rcx, qword [rsp + 0x118]
lea rax, [0x006ae2e0]
mov rbx, qword [rsp + 0x1d8]
call fcn.00622040
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x61cdcf
mov qword [rsp + 0x110], rax
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x118]
call fcn.006230e0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
nop dword [rax]
test rax, rax
jne 0x61cdaa
mov rdx, qword [rsp + 0x1d8]
mov rax, qword [rdx + 0x38]
mov rdi, qword [0x008c3528]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x118]
call fcn.0061b2c0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
jne 0x61cd85
mov rax, qword [rsp + 0x1f8]
test rax, rax
je 0x61c9f1
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
xor edi, edi
mov rsi, qword [rsp + 0x118]
call fcn.0061b2c0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
jne 0x61cd60
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
lea rcx, [0x006b86c1]
mov edi, 2
call fcn.00490260
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
nop
test rbx, rbx
jne 0x61cd3a
mov rsi, qword [rsp + 0x118]
test rsi, rsi
je 0x61ca4c
mov rdx, qword [rsi + 0x68]
test rdx, rdx
je 0x61ca4c
mov rax, qword [rdx]
call rax
mov rsi, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x200]
test rdx, rdx
je 0x61cb65
mov rcx, qword [rsp + 0x50]
lea rbx, [0x0072e680]
cmp rcx, rbx
jne 0x61ca78
mov rax, qword [rsp + 0x100]
jmp 0x61ca7d
mov eax, 0
je 0x61ca84
test rsi, rsi
jmp 0x61cacb
call fcn.005c97a0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
nop dword [rax]
test rax, rax
jne 0x61cb40
mov rax, qword [rsp + 0x118]
test rax, rax
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x200]
lea rbx, [0x0072e680]
mov rsi, rax
je 0x61cae6
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x61cae6
mov rcx, qword [rax]
mov rdx, rax
call rcx
mov rdx, qword [rsp + 0x200]
mov rax, qword [rdx]
call rax
test al, al
jne 0x61cb65
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 0x61cb10
mov rcx, qword [rdx + 0x18]
call rcx
movups xmmword [rsp + 0x140], xmm15
call fcn.00435700
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435700
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, [0x0072e680]
cmp rbx, rdx
jne 0x61cb82
mov rax, qword [rsp + 0x100]
nop
jmp 0x61cb87
mov eax, 0
jne 0x61cbe9
mov rdx, qword [rsp + 0x110]
cmp byte [rdx + 0x88], 0
je 0x61cbf1
call fcn.005c97a0
nop
test rax, rax
jne 0x61cbb4
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x50]
jmp 0x61cbf1
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
call fcn.00435700
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.00623880
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
je 0x61ccc5
mov rdx, qword [rsp + 0x110]
mov rsi, qword [rdx + 0x78]
mov rdx, qword [rdx + 0x80]
cmp rax, rsi
jne 0x61cca0
mov rax, rsi
mov rcx, rbx
mov rbx, rdx
call fcn.004040a0
test al, al
je 0x61cca0
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, [0x00685880]
lea rbx, [rsp + 0x150]
call fcn.0040ae00
lea rcx, [0x0072f2e0]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
nop dword [rax]
call fcn.00435700
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 0x61cd0c
call fcn.005c97a0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
call fcn.00435700
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.00435700
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435700
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435700
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435700
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435700
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435700
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435700
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435700
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.00435700
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.00463440
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.0061c0c0