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

Disassembly:
lea r12, [rsp - 0x150]
cmp r12, qword [r14 + 0x10]
jbe 0x61fe3e
push rbp
mov rbp, rsp
sub rsp, 0x1c8
mov byte [rsp + 0x1f0], dil
mov qword [rsp + 0x200], r8
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1f8], rsi
movups xmmword [rsp + 0x140], xmm15
mov rdx, qword [rax + 0xe8]
nop dword [rax]
test rdx, rdx
je 0x61f0ee
mov r9, qword [rax + 0xf0]
jmp 0x61f0fc
lea rdx, [0x0072a600]
lea r9, [0x009210a0]
mov rdx, qword [rdx + 0x30]
mov rax, r9
lea rbx, [0x0066cc20]
lea rcx, [0x009210a0]
call rdx
lea rdx, [0x00671180]
cmp rax, rdx
je 0x61f121
xor ebx, ebx
mov qword [rsp + 0x118], rbx
test rbx, rbx
je 0x61f1b6
cmp qword [rbx + 0x78], 0
je 0x61f1b6
movups xmmword [rsp + 0x170], xmm15
mov qword [rsp + 0x180], 0
lea rcx, [0x0061ff40]
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]
call fcn.004359a0
test eax, eax
jne 0x61f198
jmp 0x61f1b6
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
mov byte [rsp + 0x4f], 0
movups xmmword [rsp + 0x1a8], xmm15
movups xmmword [rsp + 0x1b8], xmm15
lea rcx, [0x0061fea0]
mov qword [rsp + 0x1a8], rcx
lea rcx, [rsp + 0x4f]
mov qword [rsp + 0x1b0], rcx
mov rcx, qword [rsp + 0x1d8]
mov qword [rsp + 0x1b8], rcx
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x1c0], rdx
lea rdx, [rsp + 0x1a8]
mov qword [rsp + 0x88], rdx
lea rax, [rsp + 0x70]
nop
call fcn.004359a0
test eax, eax
jne 0x61f2e0
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rcx + 0x88]
mov rsi, qword [rcx + 0x80]
test rdx, rdx
jne 0x61f297
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x61f25b
mov rsi, qword [rdx + 0x28]
mov rdx, qword [rdx + 0x30]
jmp 0x61f297
mov rax, qword [0x008be0f0]
mov rcx, qword [0x008be0f8]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rcx
call fcn.00435fa0
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
add rsp, 0x1c8
pop rbp
ret
mov rax, rsi
mov rbx, rdx
nop dword [rax]
call fcn.005f8740
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rdi
test rcx, rcx
jne 0x61f2be
xor ecx, ecx
jmp 0x61f301
nop
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
inc rcx
cmp rbx, rcx
jle 0x61f37e
movzx edx, byte [rax + rcx]
lea rsi, [0x008919c0]
movzx edx, byte [rsi + rdx]
test dl, dl
jne 0x61f2fe
movzx ecx, byte [rsp + 0x1f0]
test cl, cl
jne 0x61f32b
xor ebx, ebx
xor eax, eax
jmp 0x61f37e
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x19
lea rcx, [0x006b83b3]
mov qword [rax], rcx
lea rcx, [0x00728640]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
nop
call fcn.00620000
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.0058b7c0
movzx ecx, byte [rsp + 0x1f0]
test cl, cl
je 0x61f40a
mov rdx, qword [rsp + 0x1d8]
mov r12, qword [rdx + 0x10]
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x61f412
cmp qword [r12 + 0x18], 0
jne 0x61f412
mov rdx, qword [r12]
lea rdi, [0x006b07e3]
mov esi, 3
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0x68]
mov r10, rax
mov r11, rbx
xor eax, eax
mov rbx, rdx
call fcn.0044f780
mov rdx, qword [rsp + 0x1d8]
mov rdi, rbx
jmp 0x61f474
mov rdx, qword [rsp + 0x1d8]
cmp qword [rdx + 8], 7
jne 0x61f471
mov rsi, qword [rdx]
cmp dword [rsi], 0x4e4e4f43
jne 0x61f46c
cmp word [rsi + 4], 0x4345
jne 0x61f467
cmp byte [rsi + 6], 0x54
jne 0x61f462
mov rsi, qword [rdx + 0x10]
cmp qword [rsi + 0x40], 0
jne 0x61f45b
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x61f44c
mov rax, qword [rsi + 0x10]
jmp 0x61f474
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x128]
jmp 0x61f474
mov rdi, rbx
nop
jmp 0x61f474
mov rdi, rbx
jmp 0x61f474
mov rdi, rbx
jmp 0x61f474
mov rdi, rbx
jmp 0x61f474
mov rdi, rbx
xor ecx, ecx
jmp 0x61f480
inc rcx
nop dword [rax + rax]
cmp rcx, rdi
jge 0x61f4ec
movzx esi, byte [rax + rcx]
cmp sil, 0x20
jb 0x61f495
cmp sil, 0x7f
jne 0x61f478
lea rax, [0x00673e00]
nop dword [rax]
call fcn.0040d680
mov qword [rax + 8], 0x36
lea rcx, [0x006c2b3e]
mov qword [rax], rcx
lea rcx, [0x00728640]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x120], rax
lea rax, [0x0066d780]
mov rbx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e8]
call fcn.0040b0a0
test rax, rax
je 0x61f531
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1e8]
xor edx, edx
jmp 0x61f602
nop
nop
mov rdx, qword [rsp + 0x1e0]
lea rsi, [0x00728bc0]
cmp rdx, rsi
jne 0x61f551
mov rax, qword [rsp + 0x1e8]
jmp 0x61f556
mov eax, 0
jne 0x61f566
cmp qword [rax + 0x18], 0x1000
jge 0x61f5f8
lea rax, [0x0065bae0]
mov ebx, 0x1000
mov rcx, rbx
call fcn.0044b7a0
mov qword [rsp + 0x138], rax
lea rax, [0x006911a0]
call fcn.0040d680
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x00921500], 0
jne 0x61f5b1
mov rcx, qword [rsp + 0x138]
jmp 0x61f5c1
call fcn.004665a0
mov rcx, qword [rsp + 0x138]
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x1e0]
mov qword [rax + 0x30], rcx
cmp dword [0x00921500], 0
jne 0x61f5e4
mov rcx, qword [rsp + 0x1e8]
jmp 0x61f5f4
call fcn.004665a0
mov rcx, qword [rsp + 0x1e8]
mov qword [r11], rcx
mov qword [rax + 0x38], rcx
lea rcx, [0x00728bc0]
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]
test rdi, rdi
je 0x61f62d
mov r8, qword [rsi]
jmp 0x61f639
mov edi, 3
lea r8, [0x006b066c]
movups xmmword [rsp + 0x188], xmm15
movups xmmword [rsp + 0x198], xmm15
mov rax, r8
mov rbx, rdi
call fcn.0040ae40
lea rcx, [0x0065b7a0]
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x60]
call fcn.0040ae40
lea rcx, [0x0065b7a0]
mov qword [rsp + 0x198], rcx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
mov edi, 0x10
lea rsi, [rsp + 0x188]
mov r8d, 2
mov r9, r8
lea rcx, [0x006b403e]
call fcn.004e0440
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x61fe20
movups xmmword [rsp + 0x150], xmm15
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x68]
call fcn.0040ae40
lea rcx, [0x0065b7a0]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
mov edi, 0xa
lea rsi, [rsp + 0x150]
mov r8d, 1
mov r9, r8
lea rcx, [0x006b1f90]
call fcn.004e0440
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x61fe01
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x61f7d0
cmp qword [rdx + 0x60], 0
je 0x61f7d0
lea rax, [0x0065dc80]
call fcn.0040d680
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
cmp dword [0x00921500], 0
jne 0x61f794
mov r8, qword [rsp + 0x128]
jmp 0x61f7a4
call fcn.004665a0
mov r8, qword [rsp + 0x128]
mov qword [r11], r8
mov qword [rax], r8
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, [0x006b09a4]
call r9
mov rdx, qword [rsp + 0x1d8]
mov rbx, qword [rdx + 0x38]
lea rax, [0x0069da20]
lea rcx, [0x006b1bee]
mov edi, 0xa
call fcn.004127e0
test bl, bl
jne 0x61f806
mov ebx, 0x12
lea rax, [0x006b4c38]
jmp 0x61f825
mov rdx, qword [rsp + 0x1d8]
mov rax, qword [rdx + 0x38]
lea rbx, [0x006b1bee]
mov ecx, 0xa
nop
call fcn.005e7a40
test rbx, rbx
je 0x61f92b
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x108], rax
movups xmmword [rsp + 0x150], xmm15
call fcn.0040ae40
lea rcx, [0x0065b7a0]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
lea rcx, [0x006b404e]
mov edi, 0x10
lea rsi, [rsp + 0x150]
mov r8d, 1
mov r9, r8
call fcn.004e0440
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
nop
test rbx, rbx
jne 0x61fde2
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x61f92b
cmp qword [rcx + 0x60], 0
je 0x61f92b
lea rax, [0x0065dc80]
call fcn.0040d680
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
cmp dword [0x00921500], 0
jne 0x61f8e5
mov r8, qword [rsp + 0x108]
jmp 0x61f8f5
call fcn.004665a0
mov r8, qword [rsp + 0x108]
mov qword [r11], r8
mov qword [rax], r8
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, [0x006b1bee]
nop
call r9
mov rcx, qword [rsp + 0x118]
lea rax, [0x006a5f40]
mov rbx, qword [rsp + 0x1d8]
call fcn.00624da0
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x61fdc4
mov qword [rsp + 0x110], rax
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x118]
call fcn.00625d80
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
jne 0x61fda6
mov rdx, qword [rsp + 0x1d8]
mov rax, qword [rdx + 0x38]
mov rdi, qword [0x008cbf08]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x118]
nop dword [rax + rax]
call fcn.0061e300
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
jne 0x61fd88
mov rax, qword [rsp + 0x1f8]
test rax, rax
je 0x61fa29
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
xor edi, edi
mov rsi, qword [rsp + 0x118]
call fcn.0061e300
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
nop word [rax + rax]
test rax, rax
jne 0x61fd6a
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
lea rcx, [0x006b0639]
mov edi, 2
call fcn.00482940
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
nop word [rax + rax]
test rbx, rbx
jne 0x61fd4c
mov rsi, qword [rsp + 0x118]
test rsi, rsi
je 0x61fa8c
mov rdx, qword [rsi + 0x68]
test rdx, rdx
je 0x61fa8c
mov rax, qword [rdx]
call rax
mov rsi, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x200]
test rdx, rdx
je 0x61fb95
mov rcx, qword [rsp + 0x50]
lea rbx, [0x00728bc0]
cmp rcx, rbx
jne 0x61fab8
mov rax, qword [rsp + 0x100]
jmp 0x61fabd
mov eax, 0
je 0x61fac4
test rsi, rsi
jmp 0x61fb0b
call fcn.004efe40
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
nop dword [rax]
test rax, rax
jne 0x61fb77
mov rax, qword [rsp + 0x118]
test rax, rax
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x200]
lea rbx, [0x00728bc0]
mov rsi, rax
je 0x61fb26
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x61fb26
mov rcx, qword [rax]
mov rdx, rax
call rcx
mov rdx, qword [rsp + 0x200]
mov rax, qword [rdx]
call rax
test al, al
jne 0x61fb95
mov byte [rsp + 0x4f], 1
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rcx + 0x40]
nop
test rdx, rdx
je 0x61fb50
mov rax, qword [rcx + 0x48]
mov rcx, qword [rdx + 0x18]
call rcx
movups xmmword [rsp + 0x140], xmm15
call fcn.00435fa0
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
add rsp, 0x1c8
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
mov rbx, qword [rsp + 0x50]
lea rdx, [0x00728bc0]
cmp rbx, rdx
jne 0x61fbb0
mov rax, qword [rsp + 0x100]
jmp 0x61fbb5
mov eax, 0
jne 0x61fc10
mov rdx, qword [rsp + 0x110]
cmp byte [rdx + 0x88], 0
je 0x61fc18
call fcn.004efe40
test rax, rax
jne 0x61fbe2
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x50]
nop
jmp 0x61fc18
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
mov rdx, qword [rsp + 0x110]
mov byte [rsp + 0x4f], 1
mov rax, rdx
mov rcx, qword [rsp + 0x100]
call fcn.006264e0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
nop dword [rax]
test rax, rax
je 0x61fce5
mov rdx, qword [rsp + 0x110]
mov rsi, qword [rdx + 0x78]
cmp rax, rsi
jne 0x61fcc7
mov rdx, qword [rdx + 0x80]
mov rax, rsi
mov rcx, rbx
mov rbx, rdx
call fcn.00404940
test al, al
je 0x61fcc7
movups xmmword [rsp + 0x160], xmm15
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x148]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rdx
lea rax, [0x0067a460]
lea rbx, [rsp + 0x160]
call fcn.0040abe0
lea rcx, [0x00728f40]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x61fd25
call fcn.004efe40
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
movups xmmword [rsp + 0x140], xmm15
call fcn.00435fa0
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
add rsp, 0x1c8
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
nop
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
add rsp, 0x1c8
pop rbp
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
nop dword [rax]
call fcn.004646a0
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.0061f080