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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x50e89c
sub rsp, 0xf0
mov qword [rsp + 0xe8], rbp
lea rbp, [rsp + 0xe8]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x140], r9
mov qword [rsp + 0x148], r10
mov qword [rsp + 0xc8], r11
mov qword [rsp + 0x128], rdi
mov rdx, qword [rsp + 0xf8]
test rdx, rdx
je 0x50e298
mov qword [rsp + 0x138], r8
mov rdx, qword [rsp + 0x100]
lea r12, [rdx - 1]
mov r13, qword [rsp + 0xf8]
xor r15d, r15d
xor r15d, r15d
mov qword [rsp + 0x80], r15
xor r15d, r15d
mov qword [rsp + 0xd8], r15
xor r15d, r15d
jmp 0x50e5cc
mov qword [rsp + 0xc0], rsi
cmp r9, 0xa
jne 0x50e2ae
mov rdx, rsi
jmp 0x50e3e0
mov rdx, rsi
jmp 0x50e2cc
mov rdx, r12
mov rdi, r11
mov r9, qword [rsp + 0x140]
mov r11, qword [rsp + 0xc8]
mov rsi, r13
test rbx, rbx
je 0x50e320
mov qword [rsp + 0x98], rsi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, r11
call fcn.0050f660
mov rdx, qword [rsp + 0x140]
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0x128]
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x98]
xor esi, esi
jmp 0x50e360
mov byte [rsi + rdi - 1], 0x30
mov rsi, rax
nop
test rsi, rsi
jle 0x50e330
lea rax, [rsi - 1]
cmp rdx, rax
ja 0x50e316
jmp 0x50e341
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
nop
ret
mov rcx, rdx
call fcn.00465aa0
mov byte [r13 + r11 - 1], dl
inc rsi
mov rdx, rdi
mov r10, r9
mov rdi, rax
mov r13, r15
mov rax, r8
cmp r10, rsi
jle 0x50e2b3
test r13, r13
jle 0x50e2b3
test rdx, rdx
je 0x50e3c0
mov r8, rax
mov rax, rdi
mov r15, rdx
xor edx, edx
div r15
cmp rdx, 0x3e
jae 0x50e3b1
mov rdi, r15
lea r15, [r13 - 1]
mov r9, r10
lea r10, [0x006cbb47]
movzx edx, byte [r10 + rdx]
cmp r12, r15
ja 0x50e349
mov rax, r15
mov rcx, r12
call fcn.00465aa0
mov rax, rdx
mov ecx, 0x3e
call fcn.00465ac0
nop
call fcn.00434f20
mov rdx, r11
mov rdi, r10
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0xc8]
mov rsi, r12
nop
test rbx, rbx
je 0x50e320
mov qword [rsp + 0x98], rsi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, r11
nop dword [rax]
call fcn.0050f660
mov rdx, qword [rsp + 0x148]
mov r10, qword [rsp + 0x128]
mov r11, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x98]
xor esi, esi
jmp 0x50e441
lea r15d, [rdi + 0x30]
mov byte [r12 + r10 - 1], r15b
inc rsi
mov rax, r8
mov rdi, rdx
mov r12, r13
mov rdx, r9
cmp rdx, rsi
jle 0x50e3c5
test r12, r12
jle 0x50e3c5
lea r13, [r12 - 1]
mov r8, rax
movabs rax, 0xcccccccccccccccd
mov r9, rdx
mul rdi
shr rdx, 3
lea r15, [rdx + rdx*4]
shl r15, 1
sub rdi, r15
cmp r11, r13
ja 0x50e429
mov rax, r13
mov rcx, r11
call fcn.00465aa0
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x80], r8
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xd8], rdi
mov qword [rsp], r12
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 8], rdx
mov r12, qword [rsp + 0x108]
mov qword [rsp + 0x10], r12
mov r12, qword [rsp + 0x138]
sub r12, r13
sub r15, r13
mov r9, r12
neg r12
sar r12, 0x3f
and r12, r13
mov rdx, qword [rsp + 0x128]
add r12, rdx
mov r11, qword [rsp + 0xc8]
mov rax, rdi
mov rbx, rsi
mov rcx, r8
mov rdi, r12
mov rsi, r15
mov r8, r9
mov r9, qword [rsp + 0x140]
mov r10, qword [rsp + 0x148]
call fcn.0050e200
mov rdx, qword [rsp + 0x100]
mov r12, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov r15, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x128]
mov r8, qword [rsp + 0x138]
mov r9, qword [rsp + 0x140]
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0xc8]
mov r13, r12
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xe0]
mov rcx, rsi
mov r12, r15
mov r15, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xa0]
cmp qword [0x00883518], rbx
jge 0x50e298
mov qword [rsp + 0x78], r15
lea r15, [rbx - 1]
test r15, r15
jl 0x50e662
mov r13, qword [rax + rbx*8 - 8]
mov qword [rsp + 0xb8], r13
shr r13, 1
mov rdx, qword [rsp + 0xb8]
or r13, rdx
mov rdx, r13
shr r13, 2
or r13, rdx
mov rdx, r13
shr r13, 4
or r13, rdx
mov rdx, r13
shr r13, 8
or r13, rdx
mov rdx, r13
shr r13, 0x10
or r13, rdx
mov rdx, r13
shr r13, 0x20
or r13, rdx
bsr rdx, r13
mov r13, 0xffffffffffffffff
cmove rdx, r13
shl r15, 6
inc rdx
add rdx, r15
mov r13, qword [rsp + 0xf8]
mov r15, rdx
mov rdx, qword [rsp + 0x100]
jmp 0x50e665
xor r15d, r15d
mov qword [rsp + 0x60], r15
sar r15, 1
mov qword [rsp + 0x88], r15
jmp 0x50e821
mov r12, qword [rsp + 0x90]
mov r13, qword [rsp + 0xf8]
cmp rdx, r12
jbe 0x50e885
mov qword [rsp + 0xc0], rsi
lea r15, [r12 + r12*4]
mov qword [rsp + 0xb0], r15
mov r15, qword [r13 + r15*8 + 0x18]
mov r13, qword [rsp + 0x60]
cmp r15, r13
jge 0x50e6be
xor r13d, r13d
jmp 0x50e760
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xf8]
mov r10, qword [r9 + rdx*8]
mov r11, qword [r9 + rdx*8 + 8]
mov rdx, qword [r9 + rdx*8 + 0x10]
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, r10
mov rbx, r11
mov rcx, rdx
call fcn.00506520
test rax, rax
setge dl
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x128]
mov r8, qword [rsp + 0x138]
mov r9, qword [rsp + 0x140]
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x90]
mov r13d, edx
mov rdx, qword [rsp + 0x100]
test r13b, r13b
je 0x50e771
dec r12
test r12, r12
jl 0x50e870
cmp rdx, r12
jbe 0x50e865
mov qword [rsp + 0x90], r12
lea rdx, [r12 + r12*4]
mov qword [rsp + 0xb0], rdx
mov r13, qword [rsp + 0xf8]
mov r15, qword [r13 + rdx*8]
mov r12, qword [r13 + rdx*8 + 8]
mov rdx, qword [r13 + rdx*8 + 0x10]
mov qword [rsp], r15
mov qword [rsp + 8], r12
mov qword [rsp + 0x10], rdx
mov r8, qword [rsp + 0x80]
mov r9, rax
mov r10, rbx
mov r11, rcx
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x78]
call fcn.0050f2a0
mov rdx, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xf8]
mov rdx, qword [r12 + rdx*8 + 0x20]
mov r13, qword [rsp + 0xc0]
mov r15, r13
sub r13, rdx
nop dword [rax]
cmp r15, r13
jae 0x50e489
jmp 0x50e857
mov r12, qword [rsp + 0xf8]
mov r13, r12
mov r12, r15
mov r15, qword [rsp + 0x88]
mov qword [rsp + 0x90], r12
test r12, r12
jle 0x50e68a
lea r15, [r12 - 1]
cmp rdx, r15
jbe 0x50e890
lea r12, [r12 + r12*4]
mov r12, qword [r13 + r12*8 - 0x10]
mov r13, qword [rsp + 0x88]
cmp r12, r13
jg 0x50e80b
jmp 0x50e67a
mov rax, r13
mov rcx, r15
nop dword [rax]
call fcn.00465b60
mov rax, r12
mov rcx, rdx
call fcn.00465aa0
lea rax, [0x00667a40]
lea rbx, [0x0072dcf0]
nop
call fcn.00436260
mov rax, r12
mov rcx, rdx
call fcn.00465aa0
mov rax, r15
mov rcx, rdx
call fcn.00465aa0
nop
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x60], r11
call fcn.00463440
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
nop dword [rax + rax]
jmp fcn.0050e200