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

Disassembly:
lea r12, [rsp - 0x140]
cmp r12, qword [r14 + 0x10]
jbe 0x619e9d
push rbp
mov rbp, rsp
sub rsp, 0x1b8
cmp byte [rcx + 0x20], 0
jne 0x619247
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1d0], rbx
mov rdx, qword [rcx + 8]
mov rsi, qword [rcx + 0x10]
mov qword [rsp + 0x80], rsi
xor eax, eax
jmp 0x619268
mov rbx, qword [0x008be0c0]
mov rcx, qword [0x008be0c8]
xor eax, eax
add rsp, 0x1b8
pop rbp
nop
ret
add rdx, 0x28
inc rax
cmp rax, rsi
jge 0x619399
mov rdi, qword [rdx]
mov qword [rsp + 0x168], rdi
movups xmm0, xmmword [rdx + 8]
movups xmmword [rsp + 0x170], xmm0
movups xmm0, xmmword [rdx + 0x18]
movups xmmword [rsp + 0x180], xmm0
mov rdi, qword [rsp + 0x168]
mov qword [rsp + 0x118], rdi
movups xmm0, xmmword [rsp + 0x170]
movups xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [rsp + 0x130], xmm0
cmp qword [rsp + 0x120], 0
je 0x619393
mov rdi, qword [rsp + 0x118]
cmp byte [rdi], 0x3a
nop
jne 0x619393
mov rdi, qword [rsp + 0x170]
cmp rdi, 1
jb 0x619e90
mov r8, qword [rsp + 0x168]
lea r9, [rdi - 1]
neg r9
sar r9, 0x3f
and r9d, 1
add r8, r9
cmp rdi, 7
jne 0x619261
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xd8], rdx
mov rax, r8
lea rbx, [0x006b0d47]
mov ecx, 6
call fcn.00403880
nop dword [rax]
test al, al
jne 0x61936e
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x1d0]
mov rsi, qword [rsp + 0x80]
jmp 0x619261
mov rcx, qword [rsp + 0x178]
mov rdx, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x1d0]
mov rax, rcx
mov rcx, qword [rsp + 0x1d8]
jmp 0x6193a0
xor edx, edx
xor eax, eax
jmp 0x6193a0
xor edx, edx
xor eax, eax
nop dword [rax]
test rdx, rdx
je 0x61940c
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x90], rax
mov rbx, rdx
call fcn.00475f40
test rbx, rbx
jne 0x6193d8
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x1d8]
mov rsi, qword [rdx + 8]
mov rdi, qword [rdx + 0x10]
xor ecx, ecx
jmp 0x619446
lea rax, [0x00673e00]
nop
call fcn.0040d680
mov qword [rax + 8], 0x4a
lea rcx, [0x006c4b0e]
mov qword [rax], rcx
lea rbx, [0x00728640]
mov rcx, rax
xor eax, eax
add rsp, 0x1b8
pop rbp
ret
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x3c
lea rcx, [0x006c3855]
mov qword [rax], rcx
lea rbx, [0x00728640]
mov rcx, rax
xor eax, eax
add rsp, 0x1b8
pop rbp
ret
add rsi, 0x28
inc rcx
cmp rcx, rdi
jge 0x6194ee
mov r8, qword [rsi]
mov qword [rsp + 0x140], r8
movups xmm0, xmmword [rsi + 8]
movups xmmword [rsp + 0x148], xmm0
movups xmm0, xmmword [rsi + 0x18]
movups xmmword [rsp + 0x158], xmm0
mov r8, qword [rsp + 0x140]
mov qword [rsp + 0xf0], r8
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [rsp + 0xf8], xmm0
movups xmm0, xmmword [rsp + 0x158]
movups xmmword [rsp + 0x108], xmm0
cmp qword [rsp + 0xf8], 0
je 0x6194bb
mov r8, qword [rsp + 0xf0]
cmp byte [r8], 0x3a
je 0x61943f
mov rsi, qword [rdx + 0x10]
nop
cmp rcx, rsi
ja 0x619e85
mov rdi, qword [rdx + 8]
mov r8, qword [rdx + 0x18]
lea r9, [rcx + rcx*4]
mov r10, rcx
sub rcx, r8
shl r9, 3
sar rcx, 0x3f
and rcx, r9
sub rsi, r10
add rdi, rcx
jmp 0x6194f2
xor esi, esi
xor edi, edi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x88], rdi
lea rax, [0x0065b7a0]
mov rbx, rsi
mov rcx, rbx
call fcn.0044b7a0
mov qword [rsp + 0xd8], rax
mov rbx, qword [rsp + 0x40]
xor ecx, ecx
lea rax, [0x0069da20]
call fcn.0040e180
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x60]
call fcn.00624720
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x80], rbx
lea rax, [0x006a3360]
call fcn.0040d680
mov qword [rax + 0x20], 8
lea rdx, [0x006b1689]
mov qword [rax + 0x18], rdx
mov qword [rax + 0x28], 2
cmp dword [0x00921500], 0
jne 0x619588
mov rdx, qword [rsp + 0xd0]
jmp 0x619598
call fcn.004665a0
mov rdx, qword [rsp + 0xd0]
mov qword [r11], rdx
mov qword [rsp + 0xa0], rax
mov qword [rax + 0x38], rdx
mov r10, qword [rsp + 0x60]
mov qword [rax + 0x10], r10
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x48]
lea rdi, [0x007271c0]
mov esi, 1
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x80]
xor eax, eax
call fcn.0044f6c0
mov rdx, qword [rsp + 0xa0]
mov qword [rdx + 8], rbx
cmp dword [0x00921500], 0
je 0x619601
call fcn.004665c0
mov qword [r11], rax
mov rsi, qword [rdx]
mov qword [r11 + 8], rsi
mov qword [rdx], rax
mov r8, qword [rsp + 0x88]
xor eax, eax
mov rcx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x40]
jmp 0x619642
mov r8, qword [rsp + 0xd8]
add r8, 0x28
mov rsi, qword [rsp + 0x80]
inc rsi
mov rdx, qword [rsp + 0xa0]
mov rbx, rax
mov rax, rsi
mov rsi, qword [rsp + 0x40]
cmp rax, rsi
jge 0x61997e
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xd8], r8
mov rcx, qword [r8]
mov qword [rsp + 0x190], rcx
movups xmm0, xmmword [r8 + 8]
movups xmmword [rsp + 0x198], xmm0
movups xmm0, xmmword [r8 + 0x18]
movups xmmword [rsp + 0x1a8], xmm0
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x198]
call fcn.0060d020
cmp rbx, 7
jne 0x61976e
cmp dword [rax], 0x69617254
jne 0x61976e
cmp word [rax + 4], 0x656c
jne 0x61976e
cmp byte [rax + 6], 0x72
jne 0x61976e
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rdx + 0x78]
nop
test rsi, rsi
jne 0x61971f
call fcn.0040e100
cmp dword [0x00921500], 0
jne 0x619700
mov rdx, qword [rsp + 0xa0]
jmp 0x619718
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rdx + 0x78]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x78], rax
mov rsi, rax
movups xmmword [rsp + 0xe0], xmm15
lea rdx, [0x00619ee0]
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xe8], rsi
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x1a8]
lea rcx, [rsp + 0xe0]
call fcn.0060e280
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
jmp 0x61961d
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xa8], rax
mov rcx, rax
mov rdi, rbx
lea rax, [0x0069da20]
mov rbx, qword [rsp + 0xd0]
call fcn.00412420
mov rdx, qword [rax]
test rdx, rdx
je 0x6197a7
mov r8, qword [rsp + 0x58]
jmp 0x61987a
mov r8, qword [rsp + 0x58]
test r8, r8
je 0x61987a
lea rdx, [r8 - 1]
mov qword [rsp + 0x50], rdx
neg rdx
sar rdx, 0x3f
and edx, 0x10
mov r8, qword [rsp + 0x1a8]
mov r9, qword [rsp + 0x98]
add rdx, r9
mov qword [rsp + 0xc0], rdx
mov r10, qword [rsp + 0x1a0]
mov qword [r9 + 8], r8
cmp dword [0x00921500], 0
je 0x619807
call fcn.004665c0
mov qword [r11], r10
mov r8, qword [r9]
mov qword [r11 + 8], r8
mov qword [r9], r10
lea rax, [0x0069da20]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x68]
call fcn.00412bc0
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
cmp dword [0x00921500], 0
jne 0x61984e
mov rsi, qword [rsp + 0x98]
jmp 0x619865
call fcn.004665c0
mov rsi, qword [rsp + 0x98]
mov qword [r11], rsi
mov r8, qword [rax]
mov qword [r11 + 8], r8
mov qword [rax], rsi
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xc0]
jmp 0x61961d
mov rcx, qword [rax + 0x10]
mov rbx, qword [rax + 8]
inc rbx
mov r9, qword [rsp + 0x1a0]
mov r10, qword [rsp + 0x1a8]
cmp rcx, rbx
jae 0x6198d0
mov qword [rsp + 0x78], r10
mov qword [rsp + 0xc8], r9
mov rax, rdx
mov edi, 1
lea rsi, [0x0065b7a0]
call fcn.0044b880
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0xc8]
mov r10, qword [rsp + 0x78]
mov rdx, rax
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x70], rcx
lea rsi, [rbx - 1]
shl rsi, 4
mov qword [rdx + rsi + 8], r10
cmp dword [0x00921500], 0
je 0x619900
call fcn.004665c0
mov qword [r11], r9
mov r10, qword [rdx + rsi]
mov qword [r11 + 8], r10
mov qword [rsp + 0xc0], rdx
mov qword [rdx + rsi], r9
lea rax, [0x0069da20]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x68]
call fcn.00412bc0
mov rdx, qword [rsp + 0x78]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
cmp dword [0x00921500], 0
jne 0x619952
mov rsi, qword [rsp + 0xc0]
jmp 0x619969
call fcn.004665c0
mov rsi, qword [rsp + 0xc0]
mov qword [r11], rsi
mov r8, qword [rax]
mov qword [r11 + 8], r8
mov qword [rax], rsi
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
jmp 0x61961d
mov rax, qword [rsp + 0x60]
lea rsi, [rax - 0x64]
cmp rsi, 0x63
ja 0x619ae1
mov rsi, qword [rsp + 0x1d8]
mov rsi, qword [rsi]
movzx esi, byte [rsi + 2]
test sil, 1
jne 0x619aae
mov rsi, qword [rsp + 0x1d0]
movzx edi, byte [rsi + 0x15d]
inc edi
mov byte [rsi + 0x15d], dil
cmp dil, 5
ja 0x619a7b
mov rdi, qword [0x008cbef0]
test rdi, rdi
jne 0x6199ed
mov rdi, qword [rsi + 0x20]
nop dword [rax]
test rdi, rdi
je 0x6199eb
mov rdi, qword [rdi + 0x28]
jmp 0x6199ed
xor edi, edi
test rdi, rdi
je 0x619a14
mov rcx, qword [rdi]
mov rbx, qword [rsp + 0xd0]
mov rdx, rdi
call rcx
test rax, rax
jne 0x619a6a
mov rax, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x1d0]
cmp rax, 0x64
jne 0x619a54
mov rcx, qword [rsi + 0x20]
nop
test rcx, rcx
je 0x619a3b
mov rdx, qword [rcx + 0x20]
test rdx, rdx
je 0x619a3b
mov rax, qword [rdx]
call rax
mov rsi, qword [rsp + 0x1d0]
mov rax, qword [rsi + 0xf0]
lea rbx, [rsp + 0x40]
call fcn.00406e00
mov rsi, qword [rsp + 0x1d0]
mov byte [rsi + 0x15b], 0
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0x1b8
pop rbp
ret
mov rcx, rbx
mov rbx, rax
xor eax, eax
add rsp, 0x1b8
pop rbp
ret
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x2b
lea rcx, [0x006bfd73]
mov qword [rax], rcx
lea rbx, [0x00728640]
mov rcx, rax
xor eax, eax
add rsp, 0x1b8
pop rbp
ret
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x2f
lea rcx, [0x006c1193]
mov qword [rax], rcx
lea rbx, [0x00728640]
mov rcx, rax
xor eax, eax
add rsp, 0x1b8
pop rbp
ret
mov qword [rdx + 0x50], 0xffffffffffffffff
mov rbx, qword [rdx + 0x38]
lea rax, [0x0069da20]
lea rcx, [0x006b34ae]
mov edi, 0xe
call fcn.00412420
mov rdx, qword [rax + 8]
cmp rdx, 1
je 0x619b7b
jle 0x619b2e
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x1d8]
mov rsi, qword [rsp + 0x1d0]
jmp 0x619bc2
mov rdx, qword [rsp + 0x1d8]
mov rsi, qword [rdx]
movzx esi, byte [rsi + 2]
nop dword [rax]
test sil, 1
je 0x619b69
mov rsi, qword [rsp + 0x1d0]
cmp byte [rsi + 0xb9], 0
jne 0x619b71
mov rax, qword [rsp + 0xa0]
mov qword [rax + 0x50], 0
jmp 0x619bc2
mov rsi, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0xa0]
jmp 0x619bc2
mov rdx, qword [rax]
mov rax, qword [rdx]
mov rbx, qword [rdx + 8]
mov ecx, 0xa
mov edi, 0x3f
call fcn.00475300
test rbx, rbx
je 0x619ba3
mov rdx, qword [rsp + 0xa0]
jmp 0x619baf
mov rdx, qword [rsp + 0xa0]
mov qword [rdx + 0x50], rax
mov rax, rdx
mov rdx, qword [rsp + 0x1d8]
mov rsi, qword [rsp + 0x1d0]
cmp byte [rsi + 0xb9], 0
je 0x619c07
mov rdx, qword [0x008be0e0]
mov rsi, qword [0x008be0e8]
mov qword [rax + 0x40], rdx
cmp dword [0x00921500], 0
je 0x619bf6
call fcn.004665c0
mov qword [r11], rsi
mov rdx, qword [rax + 0x48]
mov qword [r11 + 8], rdx
mov qword [rax + 0x48], rsi
xor ebx, ebx
xor ecx, ecx
add rsp, 0x1b8
pop rbp
ret
mov rdx, qword [rdx]
movzx edx, byte [rdx + 2]
test dl, 1
je 0x619c83
cmp qword [rax + 0x50], 0
jle 0x619c47
lea rdx, [0x00729ae0]
mov qword [rax + 0x40], rdx
cmp dword [0x00921500], 0
je 0x619c3a
mov rdx, qword [rax + 0x48]
call fcn.004665a0
mov qword [r11], rdx
lea rdx, [0x009210a0]
mov qword [rax + 0x48], rdx
jmp 0x619c76
mov rdx, qword [0x008be0e0]
mov rsi, qword [0x008be0e8]
mov qword [rax + 0x40], rdx
cmp dword [0x00921500], 0
je 0x619c72
call fcn.004665c0
mov qword [r11], rsi
mov rdx, qword [rax + 0x48]
mov qword [r11 + 8], rdx
mov qword [rax + 0x48], rsi
xor ebx, ebx
xor ecx, ecx
add rsp, 0x1b8
pop rbp
ret
lea rax, [0x00694d20]
call fcn.0040d680
mov rcx, qword [rsp + 0x1d0]
lea rdx, [rcx + 0x30]
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rbx + 0x50]
mov qword [rax + 0x30], rsi
mov rsi, rax
mov rax, rdx
lea rbx, [0x0072a3f0]
mov rcx, rsi
nop dword [rax + rax]
call fcn.0060d320
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x50]
mov rdx, qword [rsp + 0x1d0]
mov qword [rdx + 0x120], rcx
lea rcx, [0x00729b08]
mov qword [rax + 0x40], rcx
cmp dword [0x00921500], 0
je 0x619d04
call fcn.004665c0
mov qword [r11], rdx
mov rsi, qword [rax + 0x48]
mov qword [r11 + 8], rsi
mov qword [rax + 0x48], rdx
cmp byte [rdx + 0xb8], 0
je 0x619d3b
mov rdx, qword [rax + 0x38]
lea rbx, [0x006b3cce]
mov ecx, 0x10
mov rax, rdx
call fcn.005e7a40
cmp rbx, 4
jne 0x619d33
xor ecx, ecx
jmp 0x619d4b
mov rax, qword [rsp + 0xa0]
xor ebx, ebx
xor ecx, ecx
add rsp, 0x1b8
pop rbp
ret
inc rcx
cmp rcx, 4
jge 0x619d87
movzx edx, byte [rcx + rax]
lea esi, [rdx - 0x41]
cmp sil, 0x19
ja 0x619d61
add edx, 0x20
lea rsi, [0x006b0840]
movzx esi, byte [rsi + rcx]
lea edi, [rsi - 0x41]
cmp dil, 0x19
ja 0x619d78
add esi, 0x20
cmp dl, sil
je 0x619d48
mov rax, qword [rsp + 0xa0]
jmp 0x619d3b
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rcx + 0x38]
mov qword [rsp + 0xb8], rdx
nop
lea rax, [0x006b3cce]
mov ebx, 0x10
call fcn.005e9120
mov rcx, rax
mov rdi, rbx
lea rax, [0x0068e920]
mov rbx, qword [rsp + 0xb8]
call fcn.00412fe0
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rcx + 0x38]
mov qword [rsp + 0xb0], rdx
nop
lea rax, [0x006b34ae]
mov ebx, 0xe
call fcn.005e9120
mov rcx, rax
mov rdi, rbx
lea rax, [0x0068e920]
mov rbx, qword [rsp + 0xb0]
call fcn.00412fe0
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + 0x50], 0xffffffffffffffff
lea rax, [0x006905a0]
nop
call fcn.0040d680
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rcx + 0x40]
mov rsi, qword [rcx + 0x48]
mov qword [rax], rdx
cmp dword [0x00921500], 0
nop
je 0x619e4a
call fcn.004665a0
mov qword [r11], rsi
mov qword [rax + 8], rsi
lea rdx, [0x00729b30]
mov qword [rcx + 0x40], rdx
cmp dword [0x00921500], 0
je 0x619e72
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx + 0x48]
mov qword [r11 + 8], rdx
mov qword [rcx + 0x48], rax
mov byte [rcx + 0x71], 1
mov rax, rcx
nop dword [rax]
jmp 0x619d3b
mov rax, rcx
mov rcx, rsi
call fcn.00466a20
mov eax, 1
xor ecx, ecx
call fcn.00466a20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004646a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00619200