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

Disassembly:
lea r12, [rsp - 0x60]
cmp r12, qword [r14 + 0x10]
jbe 0x50dbda
sub rsp, 0xe0
mov qword [rsp + 0xd8], rbp
lea rbp, [rsp + 0xd8]
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x108], rsi
mov byte [rsp + 0x118], r9b
mov qword [rsp + 0x110], r8
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf8], rcx
test r8, r8
je 0x50d3f6
nop dword [rax + rax]
test r9b, r9b
jne 0x50d3d8
lea rdx, [r8 - 2]
cmp rdx, 0x3c
jbe 0x50d3f6
test r9b, r9b
je 0x50db78
cmp r8, 2
je 0x50d3f6
nop
cmp r8, 8
je 0x50d3f6
cmp r8, 0xa
je 0x50d3f6
cmp r8, 0x10
jne 0x50db78
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x108], rsi
mov rcx, qword [rdi + 0x18]
mov rax, rsi
call rcx
mov rdx, qword [rsp + 0x110]
nop word [rax + rax]
test rdx, rdx
jne 0x50d5b1
test rbx, rbx
je 0x50d445
mov r15d, 0xa
mov esi, 0x2e
xor edi, edi
xor r12d, r12d
nop
jmp 0x50d5be
cmp al, 0x30
je 0x50d45e
mov r15d, 0xa
mov esi, 0x2e
xor edi, edi
xor r12d, r12d
jmp 0x50d5be
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x108]
call rdx
test rbx, rbx
je 0x50d4a0
mov edi, 0xa
movzx r11d, byte [rsp + 0x118]
xor r13d, r13d
mov r15d, 0xa
mov edx, 1
xor r12d, r12d
jmp 0x50d59f
cmp al, 0x58
ja 0x50d4b2
cmp al, 0x42
je 0x50d4b6
cmp al, 0x4f
je 0x50d4d9
cmp al, 0x58
je 0x50d4fc
jmp 0x50d51b
cmp al, 0x62
jne 0x50d4d5
mov edi, 0xa
movzx r11d, byte [rsp + 0x118]
xor r13d, r13d
mov r12d, 0x62
mov r15d, 2
jmp 0x50d54a
cmp al, 0x6f
jne 0x50d4f8
mov edi, 0xa
movzx r11d, byte [rsp + 0x118]
xor r13d, r13d
mov r12d, 0x6f
mov r15d, 8
jmp 0x50d54a
cmp al, 0x78
jne 0x50d51b
mov edi, 0xa
movzx r11d, byte [rsp + 0x118]
xor r13d, r13d
mov r12d, 0x78
mov r15d, 0x10
jmp 0x50d54a
movzx r11d, byte [rsp + 0x118]
movzx r12d, r11b
test r12, r12
mov r12d, 0x30
mov r13d, 0
cmovne r12, r13
mov r15d, 8
mov edi, 0xa
cmovne r15, rdi
test r12, r12
je 0x50d59a
cmp r12, 0x30
je 0x50d596
mov qword [rsp + 0x48], r12
mov qword [rsp + 0xb0], r15
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x108]
call rdx
mov edi, 0xa
movzx r11d, byte [rsp + 0x118]
mov r12, qword [rsp + 0x48]
xor r13d, r13d
mov r15, qword [rsp + 0xb0]
xor edx, edx
jmp 0x50d59f
mov edx, 1
mov esi, 0x30
mov rdi, rdx
mov rdx, qword [rsp + 0x110]
jmp 0x50d5be
mov r15, rdx
mov esi, 0x2e
xor edi, edi
xor r12d, r12d
nop
test r15, r15
je 0x50db73
mov r8d, eax
mov rax, 0xffffffffffffffff
mov r9, rdx
xor edx, edx
div r15
mov rdx, r15
mov r10d, 1
jmp 0x50d5ed
imul r15, rdx
inc r10
cmp rax, r15
jae 0x50d5e6
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x58], r10
mov qword [rsp + 0xb0], rdx
mov r11, qword [rsp + 0x100]
mov rax, qword [rsp + 0x108]
mov r13, qword [rsp + 0xe8]
mov qword [rsp + 0x88], rax
movzx eax, byte [rsp + 0x118]
mov byte [rsp + 0x43], al
mov qword [rsp + 0x80], rcx
xor ecx, ecx
mov byte [rsp + 0x42], cl
xor ecx, ecx
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x78], rdx
xor edx, edx
mov qword [rsp + 0xa0], rdx
xor edx, edx
mov qword [rsp + 0x70], rdx
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x68], rdx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
jmp 0x50d741
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x90], rdi
mov byte [rsp + 0x42], r8b
mov byte [rsp + 0x43], r12b
mov rdx, qword [rcx + 0x18]
call rdx
mov rdx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0x108]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
mov r12, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xb8]
mov r15, qword [rsp + 0xa8]
mov r9, r8
mov r10, rdi
mov r11, rsi
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov r8d, eax
mov esi, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0x90], rdi
mov dword [rsp + 0x44], esi
test rbx, rbx
jne 0x50d97d
cmp r8b, 0x2e
jne 0x50d7c7
movzx r12d, byte [rsp + 0x43]
test r12b, r12b
je 0x50d7cd
cmp esi, 0x5f
sete cl
movzx ebx, byte [rsp + 0x42]
or ecx, ebx
xor r12d, r12d
mov r8d, ecx
mov ebx, 0x2e
mov dword [rsp + 0x44], ebx
mov r15, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x70]
mov qword [rsp + 0x68], rdi
mov rcx, qword [rsp + 0x100]
jmp 0x50d696
movzx r12d, byte [rsp + 0x43]
cmp r8b, 0x5f
jne 0x50d818
test r9, r9
jne 0x50d818
cmp esi, 0x30
setne cl
movzx ebx, byte [rsp + 0x42]
or ecx, ebx
mov r8d, ecx
mov ebx, 0x5f
mov dword [rsp + 0x44], ebx
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x100]
jmp 0x50d696
lea r15d, [r8 - 0x30]
nop dword [rax]
cmp r15b, 9
ja 0x50d82c
movzx r15d, r15b
jmp 0x50d880
lea r15d, [r8 - 0x61]
cmp r15b, 0x19
ja 0x50d84b
lea r11d, [r8 - 0x57]
movzx r11d, r11b
mov r15, r11
mov r11, qword [rsp + 0x100]
jmp 0x50d880
lea r15d, [r8 - 0x41]
cmp r15b, 0x19
ja 0x50d87a
cmp rdx, 0x24
jg 0x50d865
lea r15d, [r8 - 0x37]
movzx r15d, r15b
jmp 0x50d880
lea r11d, [r8 - 0x1d]
movzx r11d, r11b
mov r15, r11
mov r11, qword [rsp + 0x100]
jmp 0x50d880
mov r15d, 0x3f
cmp r15, rdx
jae 0x50d946
mov rcx, r11
mov r11, qword [rsp + 0x70]
imul r11, rdx
add r11, r15
mov r15, qword [rsp + 0x60]
inc r15
cmp r10, r15
je 0x50d8b7
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
jmp 0x50d927
mov rax, r13
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x50]
mov r10, r11
nop dword [rax + rax]
call fcn.005065e0
mov rdx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x90]
mov r9, qword [rsp + 0x110]
mov r10, qword [rsp + 0x58]
movzx r12d, byte [rsp + 0x43]
xor r15d, r15d
mov rsi, rbx
xor r11d, r11d
mov r13, rax
mov rax, qword [rsp + 0x108]
mov rbx, rcx
mov rcx, qword [rsp + 0x100]
inc rdi
movzx r8d, byte [rsp + 0x42]
mov r8d, 0x30
mov dword [rsp + 0x44], r8d
movzx r8d, byte [rsp + 0x42]
jmp 0x50d696
mov rcx, qword [r11 + 0x20]
call rcx
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x98]
mov esi, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x90]
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0xb8]
mov r11, qword [0x008b5f98]
cmp qword [0x008b5f90], rbx
jne 0x50d9f7
mov rax, rbx
mov rbx, rcx
mov rcx, r11
call fcn.004040a0
test al, al
je 0x50d9c6
mov rdx, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x90]
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0xb8]
xor ebx, ebx
xor ecx, ecx
jmp 0x50d9f7
mov rdx, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x90]
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xc0]
test rbx, rbx
jne 0x50da1a
movzx r11d, byte [rsp + 0x42]
test r11b, r11b
jne 0x50da0c
cmp esi, 0x5f
jne 0x50da1a
mov rbx, qword [0x008b6050]
mov rcx, qword [0x008b6058]
test rdi, rdi
jne 0x50da63
nop
cmp r12, 0x30
je 0x50da36
mov rbx, qword [0x008b6060]
mov rcx, qword [0x008b6068]
jmp 0x50da63
mov rax, r13
mov edi, 0xa
mov esi, 1
mov r8, rbx
mov r9, rcx
xor ebx, ebx
mov rcx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov r11, qword [rsp + 0x60]
test r11, r11
jle 0x50da7a
mov rax, rdx
mov esi, 1
jmp 0x50db03
mov rax, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
jmp 0x50da8f
dec rsi
test rsi, rsi
jle 0x50daa0
mov r10, qword [r13 + rsi*8 - 8]
test r10, r10
je 0x50da8c
nop
cmp rsi, rax
ja 0x50dadc
mov r10, qword [rsp + 0x68]
mov r11, r10
sub r10, rdi
test r11, r11
cmovge rdi, r10
mov r8, rbx
mov r9, rcx
mov rbx, rsi
mov rcx, rax
mov rsi, rdi
mov rax, r13
mov rdi, rdx
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rcx, rsi
mov rdx, rax
call fcn.00465b20
mov r12, rdx
imul rdx, rsi
test r11, 1
cmovne rsi, rdx
imul r12, r12
sar r11, 1
mov rdx, r12
test r11, r11
jg 0x50dae7
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x98], rbx
mov rax, r13
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov rdi, rax
mov r8, rcx
mov r9, rsi
mov r10, qword [rsp + 0x70]
mov rsi, rbx
nop dword [rax]
call fcn.005065e0
mov rdx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x90]
mov r13, rax
mov rsi, rbx
mov rbx, qword [rsp + 0x98]
mov rax, rcx
mov rcx, qword [rsp + 0xc0]
jmp 0x50da8a
call fcn.00434f20
movups xmmword [rsp + 0xc8], xmm15
mov rax, r8
call fcn.0040b000
lea rcx, [0x00667280]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
lea rax, [0x006bea0d]
mov ebx, 0x16
lea rcx, [rsp + 0xc8]
mov edi, 1
mov rsi, rdi
nop dword [rax]
call fcn.004f3aa0
call fcn.0040b080
mov rbx, rax
lea rax, [0x00667a40]
call fcn.00436260
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 byte [rsp + 0x38], r9b
nop dword [rax]
call fcn.00463440
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]
movzx r9d, byte [rsp + 0x38]
jmp fcn.0050d360