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

Disassembly:
lea r12, [rsp - 0x30]
cmp r12, qword [r14 + 0x10]
jbe 0x50f1f9
sub rsp, 0xb0
mov qword [rsp + 0xa8], rbp
lea rbp, [rsp + 0xa8]
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xb8], rax
nop
cmp r8, rdi
je 0x50eb69
xor edx, edx
jmp 0x50ebb1
mov rax, rcx
mov rbx, rsi
mov rcx, rdi
call fcn.00402d80
mov rcx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xe8]
mov edx, eax
mov rax, qword [rsp + 0xb8]
test dl, dl
jne 0x50ebba
test r9, r9
jne 0x50ebca
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
call fcn.0050c7e0
test rax, rax
je 0x50ed1e
mov r8, qword [rsp + 0xe8]
test r8, r8
jl 0x50ebed
cmp rax, r8
jl 0x50ebed
mov rax, r8
movups xmmword [rsp + 0x88], xmm15
movups xmmword [rsp + 0x98], xmm15
nop
lea r8, [rsp + 0x88]
mov qword [rsp + 0x88], r8
mov r9, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xd0]
mov r10, r9
sub r9, rdi
imul r9, rax
mov rcx, qword [rsp + 0xc0]
add r9, rcx
test r9, r9
jl 0x50f1e5
mov qword [rsp + 0x60], rax
mov rbx, qword [rsp + 0x98]
mov r11, qword [rsp + 0xa0]
mov r12, r11
sub r11, rbx
nop dword [rax]
cmp r11, r9
jge 0x50ed05
mov qword [rsp + 0x38], rbx
nop
lea rcx, [r9 + r12*2]
mov qword [rsp + 0x40], rcx
lea rax, [0x006bb680]
nop
call fcn.0044a940
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x38]
cmp rdx, rcx
mov rsi, rcx
cmovl rcx, rdx
mov rbx, qword [rsp + 0x90]
cmp rax, rbx
je 0x50ecc3
mov qword [rsp + 0x80], rax
call fcn.00466860
mov rax, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x98], rsi
mov r8, qword [rsp + 0x40]
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd0]
lea r8, [rsp + 0x88]
mov r10, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xc8]
mov r11, qword [rsp + 0xb8]
xor edx, edx
xor ebx, ebx
jmp 0x50ede8
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x78], rax
add rdx, rax
mov rax, rdx
mov rbx, qword [rsp + 0xd8]
mov rcx, rdi
nop
call fcn.00466860
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x98], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0x30]
inc rdx
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0xd0]
lea rbx, [rdi + rsi]
mov rsi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0xb8]
mov rax, r9
mov rcx, rsi
lea r8, [rsp + 0x88]
mov r9, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xe0]
mov r11, qword [rsp + 0xb8]
cmp rdx, rax
jge 0x50f080
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rbx
nop dword [rax + rax]
test rdi, rdi
jne 0x50ee80
test rdx, rdx
jle 0x50ee76
cmp rcx, rbx
jb 0x50f1dd
sub rcx, rbx
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and rcx, rbx
lea rax, [r11 + rcx]
mov rbx, rsi
call fcn.00470c40
mov rax, qword [rsp + 0x28]
add rbx, rax
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x30]
mov rsi, rax
mov rdi, qword [rsp + 0xd0]
lea r8, [rsp + 0x88]
mov r9, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xe0]
mov r11, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x60]
jmp 0x50eeee
mov rsi, rbx
jmp 0x50eeee
cmp rcx, rbx
jb 0x50f1d5
sub rcx, rbx
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and rcx, rbx
lea rax, [r11 + rcx]
mov rcx, r9
mov rbx, rsi
call fcn.0050f500
mov rdx, qword [rsp + 0x28]
lea rbx, [rdx + rax]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xc0]
mov rsi, rdx
mov rdi, qword [rsp + 0xd0]
lea r8, [rsp + 0x88]
mov r9, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xe0]
mov r11, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x30]
cmp rcx, rbx
jb 0x50f1ca
nop word [rax + rax]
cmp rsi, rbx
ja 0x50f1bf
mov r12, rbx
sub rbx, rsi
mov r13, rbx
neg rbx
sar rbx, 0x3f
and rsi, rbx
lea rbx, [r11 + rsi]
nop
mov r15, qword [rsp + 0x88]
test r15, r15
je 0x50ef38
cmp r15, r8
je 0x50ef40
jmp 0x50f1ac
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x58], r12
mov r15, qword [rsp + 0x98]
lea r9, [r15 + r13]
mov r11, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x90]
cmp r11, r9
jae 0x50efa5
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x48], r15
mov rax, r12
mov rbx, r9
mov rcx, r11
mov rdi, r13
lea rsi, [0x006bb680]
call fcn.0044aa20
mov r13, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov r12, rax
mov r11, rcx
mov r9, rbx
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x78], r12
lea rax, [r12 + r15]
mov rcx, r13
nop dword [rax + rax]
call fcn.00466860
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x98], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x90], rdx
nop
nop
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x50f00d
lea r8, [rsp + 0x88]
cmp rdx, r8
je 0x50f025
jmp 0x50f199
lea rdx, [rsp + 0x88]
mov qword [rsp + 0x88], rdx
lea r8, [rsp + 0x88]
mov rdx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xe0]
lea rbx, [rdi + rdx]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x90]
cmp rcx, rbx
jae 0x50ed3e
mov qword [rsp + 0x50], rdx
lea rsi, [0x006bb680]
nop
call fcn.0044aa20
mov rdx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xe0]
jmp 0x50ed3e
cmp rcx, rbx
jb 0x50f191
sub rcx, rbx
mov rdi, rcx
neg rcx
sar rcx, 0x3f
and rbx, rcx
add rbx, r11
nop
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x50f0b4
cmp rdx, r8
je 0x50f0bc
jmp 0x50f17e
mov qword [rsp + 0x88], r8
mov rdx, qword [rsp + 0x98]
lea r8, [rdx + rdi]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x90]
cmp rcx, r8
jae 0x50f10d
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rbx
mov rbx, r8
lea rsi, [0x006bb680]
call fcn.0044aa20
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r8, rbx
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x78], rax
add rdx, rax
mov rax, rdx
mov rcx, rdi
call fcn.00466860
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x98], rbx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rdx
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x90], rax
mov rdx, rax
neg rax
cmp rbx, rax
ja 0x50f16f
mov rax, rdx
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
test rdx, rdx
je 0x50f179
call fcn.0045cf80
call fcn.0045cfc0
lea rax, [0x006bb4c0]
lea rbx, [0x007f0e90]
call fcn.00436580
mov rax, rbx
call fcn.00465f80
lea rax, [0x006bb4c0]
lea rbx, [0x007f0e90]
call fcn.00436580
lea rax, [0x006bb4c0]
lea rbx, [0x007f0e90]
call fcn.00436580
mov rax, rsi
mov rcx, rbx
call fcn.00465f80
mov rdx, rcx
mov rcx, rbx
call fcn.00465f00
mov rax, rbx
call fcn.00465f80
mov rax, rbx
call fcn.00465f80
lea rax, [0x006bb4c0]
lea rbx, [0x007f0ea0]
call fcn.00436580
nop
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 qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
nop dword [rax]
call fcn.00463860
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]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
jmp fcn.0050eb00