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

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x50e2d7
sub rsp, 0xb8
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
xor ecx, ecx
xor edx, edx
jmp 0x50de17
inc rcx
cmp rbx, rcx
jle 0x50de68
movzx r8d, byte [rax + rcx]
cmp r8b, 0x80
jae 0x50de46
test dl, dl
je 0x50de32
mov edx, 1
jmp 0x50de14
cmp r8b, 0x41
jb 0x50de42
cmp r8b, 0x5a
setbe dl
nop
jmp 0x50de14
xor edx, edx
jmp 0x50de14
mov rcx, rbx
mov rbx, rax
lea rax, fcn.0047f7e0
call fcn.0050d7a0
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
test dl, dl
je 0x50df62
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xc0], rax
movups xmmword [rsp + 0x90], xmm15
movups xmmword [rsp + 0xa0], xmm15
nop
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x90], rdx
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
mov r10, r9
sub r9, r8
nop dword [rax]
cmp rbx, r9
jle 0x50df5a
mov qword [rsp + 0x50], r8
nop
lea rcx, [rbx + r10*2]
mov qword [rsp + 0x58], rcx
lea rax, [0x006bb680]
mov rbx, r8
call fcn.0044a940
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x50]
cmp rdx, rcx
mov rsi, rcx
cmovl rcx, rdx
mov rbx, qword [rsp + 0x98]
cmp rax, rbx
je 0x50df25
mov qword [rsp + 0x88], rax
call fcn.00466860
mov rax, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rsi
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xc0]
lea rdx, [rsp + 0x90]
mov rbx, qword [rsp + 0xc8]
xor ecx, ecx
xor esi, esi
nop
jmp 0x50df75
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
inc rcx
cmp rbx, rcx
jle 0x50e165
movzx r8d, byte [rax + rcx]
lea r9d, [r8 - 0x41]
cmp r9b, 0x19
ja 0x50df72
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x47], r8b
nop word [rax + rax]
cmp rsi, rcx
jge 0x50e0b4
ja 0x50e2ce
mov rdi, rcx
sub rdi, rsi
mov r9, rdi
neg rdi
sar rdi, 0x3f
and rsi, rdi
lea r10, [rax + rsi]
nop
mov r11, qword [rsp + 0x90]
test r11, r11
je 0x50dfde
cmp r11, rdx
je 0x50dfe6
jmp 0x50e2bb
mov qword [rsp + 0x90], rdx
mov r11, qword [rsp + 0xa0]
lea r12, [r11 + r9]
mov r13, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x98]
cmp r13, r12
jae 0x50e046
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x60], r11
mov rax, r15
mov rbx, r12
mov rcx, r13
mov rdi, r9
lea rsi, [0x006bb680]
call fcn.0044aa20
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x60]
mov r15, rax
mov r13, rcx
mov r12, rbx
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x60], r12
lea rax, [r15 + r11]
mov rbx, r10
mov rcx, r9
call fcn.00466860
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x98], rdx
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x90]
mov rbx, qword [rsp + 0xc8]
movzx r8d, byte [rsp + 0x47]
nop
nop
mov r9, qword [rsp + 0x90]
nop
test r9, r9
je 0x50e0cf
cmp r9, rdx
je 0x50e0d7
jmp 0x50e2a8
mov qword [rsp + 0x90], rdx
mov r9, qword [rsp + 0xa0]
inc r9
mov r10, qword [rsp + 0x98]
mov r11, qword [rsp + 0xa8]
cmp r11, r9
jae 0x50e14a
mov rax, r10
mov rbx, r9
mov rcx, r11
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x90]
movzx r8d, byte [rsp + 0x47]
mov r9, rbx
mov r10, rax
mov rax, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
mov qword [rsp + 0xa0], r9
add r8d, 0x20
mov byte [r9 + r10 - 1], r8b
lea rsi, [rcx + 1]
nop
jmp 0x50df72
cmp rbx, rsi
jle 0x50e248
jb 0x50e29d
sub rbx, rsi
mov rdi, rbx
neg rbx
sar rbx, 0x3f
and rsi, rbx
lea rbx, [rax + rsi]
nop
mov r8, qword [rsp + 0x90]
test r8, r8
je 0x50e1a5
cmp r8, rdx
je 0x50e1ad
nop dword [rax + rax]
jmp 0x50e28a
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0xa0]
lea r8, [rdi + rdx]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
cmp rcx, r8
jae 0x50e1fe
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rbx
mov rbx, r8
lea rsi, [0x006bb680]
call fcn.0044aa20
mov rdx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov r8, rbx
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], r8
add rdx, rax
mov rax, rdx
mov rcx, rdi
call fcn.00466860
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x98], rdx
mov rax, qword [rsp + 0x98]
mov rcx, rax
neg rax
mov rbx, qword [rsp + 0xa0]
nop
cmp rbx, rax
ja 0x50e278
mov rax, rcx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
test rcx, rcx
je 0x50e285
nop dword [rax]
call fcn.0045cf80
call fcn.0045cfc0
lea rax, [0x006bb4c0]
lea rbx, [0x007f0e90]
call fcn.00436580
mov rax, rsi
mov rcx, 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
call fcn.00465f80
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.0050dde0