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

Disassembly:
lea r12, [rsp - 0x1a0]
cmp r12, qword [r14 + 0x10]
jbe 0x4e3a7e
sub rsp, 0x220
mov qword [rsp + 0x218], rbp
lea rbp, [rsp + 0x218]
mov qword [rsp + 0x238], rcx
mov qword [rsp + 0x240], rdi
mov r13, 0
mov qword [rsp + 0x210], r13
mov byte [rsp + 0x2c], 0
nop
mov rdx, rsi
and esi, 0x1f
mov qword [rsp + 0x68], rsi
cmp rsi, 0x14
ja 0x4e31f4
lea r10, [rsi - 0x12]
cmp r10, 1
jbe 0x4e321a
cmp rsi, 0x14
je 0x4e3206
jmp 0x4e3a32
cmp rsi, 0x16
jbe 0x4e321a
nop word [rax + rax]
cmp rsi, 0x17
jne 0x4e3210
cmp qword [rdi], 0
setne r10b
jmp 0x4e3237
cmp rsi, 0x1a
jne 0x4e3a32
bt edx, 9
nop
jb 0x4e3262
bt edx, 7
jae 0x4e322d
mov r10, qword [rdi]
jmp 0x4e3230
mov r10, rdi
test r10, r10
setne r10b
test r10b, r10b
jne 0x4e3262
test byte [rbx], al
mov rax, rbx
lea rbx, [0x006c97ea]
mov ecx, 4
call fcn.004773c0
mov rbp, qword [rsp + 0x218]
add rsp, 0x220
ret
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0xb0], rax
mov byte [rsp + 0x2f], r9b
mov byte [rsp + 0x2e], r8b
mov r10, qword [rbx + 0x68]
inc r10
mov qword [rbx + 0x68], r10
nop dword [rax]
cmp r10, 0x3e8
ja 0x4e32b1
xor r10d, r10d
jmp 0x4e33bf
mov rax, rcx
mov rbx, rdi
mov rcx, rdx
call fcn.0048fcc0
mov qword [rsp + 0x70], rax
lea rdx, [0x00679740]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rax
mov rsi, qword [rsp + 0x230]
mov rbx, qword [rsi + 0x70]
lea rcx, [rsp + 0xe8]
lea rax, [0x00685920]
call fcn.0040eb80
test bl, bl
je 0x4e3312
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jne 0x4e38d0
jmp 0x4e3a10
lea rdx, [0x00679740]
mov qword [rsp + 0xe8], rdx
mov rsi, qword [rsp + 0x70]
mov qword [rsp + 0xf0], rsi
mov rdi, qword [rsp + 0x230]
mov rbx, qword [rdi + 0x70]
lea rax, [0x00685920]
lea rcx, [rsp + 0xe8]
call fcn.0040efc0
test byte [rax], al
mov rax, qword [rsp + 0x230]
mov rdx, qword [rax + 0x70]
movups xmmword [rsp + 0xf8], xmm15
movups xmmword [rsp + 0x108], xmm15
lea rsi, [0x004e3b80]
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x100], rdx
lea rdx, [0x00679740]
mov qword [rsp + 0x108], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x110], rdx
lea rdx, [rsp + 0xf8]
mov qword [rsp + 0x210], rdx
mov byte [rsp + 0x2c], 1
mov rbx, rax
mov r10d, 1
mov byte [rsp + 0x2d], r10b
mov rax, rbx
mov ebx, 0x7b
call fcn.00477960
mov rcx, qword [rsp + 0x68]
cmp rcx, 0x17
jne 0x4e33ea
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rdx + 8]
jmp 0x4e3408
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x60]
nop
call fcn.0048d860
mov rsi, rax
mov qword [rsp + 0x30], rsi
lea rax, [0x006a0ce0]
mov rbx, rsi
mov rcx, rbx
call fcn.0044a840
mov qword [rsp + 0xa8], rax
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x15
je 0x4e3445
mov rax, qword [rsp + 0x60]
call fcn.0048e1e0
mov rax, qword [rsp + 0xa8]
movups xmmword [rsp + 0x198], xmm15
lea rdi, [rsp + 0x1a0]
lea rdi, [rdi - 0x10]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466066
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x198], rcx
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x1a0], rdx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x1a8], rbx
xor esi, esi
jmp 0x4e34ac
mov rsi, qword [rsp + 0x40]
inc rsi
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x198]
call fcn.0048e0e0
nop
test al, al
je 0x4e35c5
lea rax, [rsp + 0x198]
call fcn.0048df60
mov rdx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
nop
cmp rdx, rsi
jae 0x4e38c5
shl rdx, 6
mov qword [rsp + 0x58], rdx
mov r9, qword [rsp + 0xa8]
mov qword [r9 + rdx + 0x10], rcx
lea rcx, [r9 + rdx]
mov qword [rsp + 0xa0], rcx
lea rdi, [r9 + rdx]
lea r10, [r9 + rdx]
lea r10, [r10 + 8]
lea r11, [r9 + rdx]
lea r11, [r11 + 0x18]
mov qword [rsp + 0x98], r11
lea r12, [r9 + rdx]
lea r12, [r12 + 0x20]
mov qword [rsp + 0x90], r12
cmp dword [0x0092b0b0], 0
nop
jne 0x4e354d
mov qword [r9 + rdx], rax
mov qword [r9 + rdx + 8], rbx
jmp 0x4e355a
call fcn.00465900
mov rdi, r10
call fcn.00465a40
lea rax, [rsp + 0x198]
call fcn.0048e020
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xa8]
mov qword [rsi + rdx + 0x28], rcx
cmp dword [0x0092b0b0], 0
jne 0x4e358e
mov qword [rsi + rdx + 0x18], rax
mov qword [rsi + rdx + 0x20], rbx
jmp 0x4e35a8
mov rdi, qword [rsp + 0x98]
call fcn.00465900
mov rdi, qword [rsp + 0x90]
call fcn.00465a40
mov rax, qword [rsp + 0xa0]
call fcn.004e5380
test rax, rax
je 0x4e34a4
nop
jmp 0x4e377f
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.0040b060
movups xmmword [rsp + 0x118], xmm15
movups xmmword [rsp + 0x128], xmm15
lea rdx, [0x004e3ae0]
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x120], rdx
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], rsi
mov rbx, rax
lea rcx, [rsp + 0x118]
lea rax, [0x00675c60]
call fcn.00496560
mov rdx, qword [rsp + 0xa8]
xor eax, eax
jmp 0x4e36ca
mov rbx, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x230]
movzx edi, byte [rsp + 0x2f]
call fcn.004e5600
mov rax, qword [rsp + 0x230]
mov ebx, 0x3a
call fcn.00477960
mov rdx, qword [rsp + 0xb0]
mov rsi, qword [rdx]
mov rbx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x180]
mov rax, qword [rsp + 0x230]
movzx r8d, byte [rsp + 0x2f]
mov r9, rsi
movzx esi, byte [rsp + 0x2e]
call r9
mov rdx, qword [rsp + 0xc0]
add rdx, 0x40
mov rax, qword [rsp + 0x38]
inc rax
mov rsi, qword [rsp + 0x30]
cmp rax, rsi
jge 0x4e3730
mov qword [rsp + 0x38], rax
mov qword [rsp + 0xc0], rdx
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x158], xmm0
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x168], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rsp + 0x178], xmm0
movups xmm0, xmmword [rdx + 0x30]
movups xmmword [rsp + 0x188], xmm0
test rax, rax
jle 0x4e3646
mov rax, qword [rsp + 0x230]
mov ebx, 0x2c
call fcn.00477960
jmp 0x4e3646
mov rax, qword [rsp + 0x230]
mov ebx, 0x7d
nop dword [rax]
call fcn.00477960
mov rcx, qword [rsp + 0x230]
dec qword [rcx + 0x68]
movzx ecx, byte [rsp + 0x2d]
test cl, 1
je 0x4e376f
and ecx, 0xfffffffe
mov byte [rsp + 0x2c], cl
mov rdx, qword [rsp + 0x210]
mov rax, qword [rdx]
call rax
mov rbp, qword [rsp + 0x218]
add rsp, 0x220
ret
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x4e38a5
bt ecx, 9
nop dword [rax + rax]
jb 0x4e38a5
lea rcx, [0x00747768]
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rcx + 0xf8]
mov rax, rdx
nop
call rcx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x58], rbx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x78]
call rcx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x50], rbx
movups xmmword [rsp + 0x138], xmm15
movups xmmword [rsp + 0x148], xmm15
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x58]
call fcn.0040afc0
lea rcx, [0x00679500]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x50]
call fcn.0040afc0
lea rcx, [0x00679500]
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x150], rax
lea rax, [0x006d6669]
mov ebx, 0x24
lea rcx, [rsp + 0x138]
mov edi, 2
mov rsi, rdi
call fcn.004c8440
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rbx
lea rax, [0x00696200]
lea rbx, [rsp + 0xc8]
call fcn.0040ad40
mov rbx, rax
lea rax, [0x00696200]
nop
call fcn.00436420
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
call fcn.0048fb60
mov rcx, rax
mov rdx, rbx
jmp 0x4e37b5
mov rax, rdx
mov rcx, rsi
call fcn.00465da0
bt ecx, 9
jb 0x4e3a10
lea rax, [0x00747768]
mov rdx, qword [rsp + 0xb8]
movups xmmword [rsp + 0xd8], xmm15
test rax, rax
je 0x4e38fb
mov rax, qword [rax + 8]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rdx
lea rax, [0x006d1a33]
mov ebx, 0x1a
lea rcx, [rsp + 0xd8]
mov edi, 1
mov rsi, rdi
call fcn.004cb480
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x58], rbx
lea rax, [0x006984e0]
call fcn.0040d960
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x10], rdx
cmp dword [0x0092b0b0], 0
jne 0x4e39e7
mov rcx, qword [rsp + 0xb8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x20], rcx
cmp dword [0x0092b0b0], 0
jne 0x4e39d4
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x18], rcx
movups xmmword [rsp + 0xc8], xmm15
lea rcx, [0x00742bc0]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
lea rax, [0x00696200]
lea rbx, [rsp + 0xc8]
nop
call fcn.0040ad40
mov rbx, rax
lea rax, [0x00696200]
call fcn.00436420
lea rdi, [rax + 0x18]
mov rcx, qword [rsp + 0x88]
call fcn.00465a00
jmp 0x4e3990
mov rdi, rax
mov rcx, qword [rsp + 0xb8]
call fcn.00465a00
lea rcx, [rax + 8]
mov rdi, rcx
mov rdx, qword [rsp + 0xc0]
call fcn.00465a20
jmp 0x4e3972
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
call fcn.0048fb60
mov rcx, qword [rsp + 0x60]
mov rdx, rbx
jmp 0x4e38e9
lea rax, [0x00699d40]
call fcn.0040d960
mov qword [rax + 8], 0x13
lea rcx, [0x006ce4fc]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x10], rcx
mov rbx, rax
lea rax, [0x00683be0]
call fcn.00436420
nop
call fcn.004358c0
mov rbp, qword [rsp + 0x218]
add rsp, 0x220
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
mov byte [rsp + 0x31], r9b
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
movzx r9d, byte [rsp + 0x31]
jmp fcn.004e3180