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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x5b10e8
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov rbx, qword [rsp + 0x60]
cmp rbx, 4
jge 0x5b103d
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor esi, esi
xor edi, edi
test cl, cl
je 0x5b100f
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rbx
lea rax, [0x00635660]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rsp + 0x40], rax
mov qword [rsp], 0
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x10], rcx
call fcn.00452060
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x40]
mov qword [rdi + 8], rcx
cmp dword [0x00811460], 0
jne 0x5b1005
mov qword [rdi], rax
mov rbx, qword [rsp + 0x60]
cmp rbx, 4
jge 0x5b0f6d
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor esi, esi
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
mov qword [rdi + 0x18], r10
mov qword [rdi + 0x20], r9
cmp dword [0x00811460], 0
jne 0x5b0f52
mov qword [rdi + 0x10], r8
nop dword [rax + rax]
test cl, cl
je 0x5b0f28
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rdx
mov byte [rsp + 0x2f], cl
mov r8, qword [rdi + 8]
nop
cmp r8, 0x22
jg 0x5b0e8f
cmp r8, 0x1a
je 0x5b0e4c
cmp r8, 0x22
je 0x5b0da5
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rbx
mov byte [rsp + 0x90], cl
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov qword [rsp], rax
lea rax, [0x00664398]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], r8
call fcn.00402a40
cmp byte [rsp + 0x18], 0
je 0x5b0e2e
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x68]
mov qword [rcx + 0x38], rax
cmp dword [0x00811460], 0
jne 0x5b0e1e
mov rax, qword [rsp + 0x58]
mov qword [rcx + 0x28], rax
mov qword [rsp + 0x70], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], 0
movzx eax, byte [rsp + 0x2f]
mov byte [rsp + 0x90], al
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
lea rdi, [rcx + 0x28]
mov rax, qword [rsp + 0x58]
call fcn.0046c920
jmp 0x5b0def
movzx ecx, byte [rsp + 0x2f]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
jmp 0x5b0d7a
mov qword [rsp], rax
lea rax, [0x0066156a]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], r8
call fcn.00402a40
cmp byte [rsp + 0x18], 0
jne 0x5b0dc6
movzx ecx, byte [rsp + 0x2f]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
jmp 0x5b0d7a
cmp r8, 0x23
je 0x5b0ee5
cmp r8, 0x2b
jne 0x5b0d7a
mov qword [rsp], rax
lea rax, [0x006669e1]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], r8
call fcn.00402a40
cmp byte [rsp + 0x18], 0
nop
jne 0x5b0dc6
movzx ecx, byte [rsp + 0x2f]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
nop
jmp 0x5b0d7a
mov qword [rsp], rax
lea rax, [0x00664814]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], r8
call fcn.00402a40
cmp byte [rsp + 0x18], 0
jne 0x5b0dc6
movzx ecx, byte [rsp + 0x2f]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
jmp 0x5b0d7a
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x90], cl
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
lea r9, [rdi + 0x10]
mov r10, rdi
mov rdi, r9
nop dword [rax]
call fcn.0046caa0
mov rdi, r10
jmp 0x5b0d3b
nop
mov rsi, qword [rsp + 0x68]
lea rdx, [rsi - 4]
mov r8, rdx
neg rdx
sar rdx, 0x3f
and rdx, 4
mov r9, qword [rsp + 0x58]
lea r10, [rdx + r9]
lea rcx, [rbx - 4]
mov r9d, dword [r9]
bswap r9d
cmp ecx, r9d
jae 0x5b0fb3
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor esi, esi
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
jmp 0x5b0d22
cmp r8, r9
jb 0x5b10cd
nop dword [rax]
cmp rcx, r9
jb 0x5b10c5
sub rsi, r9
sub rbx, r9
lea r11, [rsi - 4]
mov r12, r11
neg r11
sar r11, 0x3f
and r11, r9
lea rdx, [r10 + r11]
lea rsi, [rbx - 4]
mov ecx, 1
mov rbx, r12
mov r11, r8
mov r8, r10
mov r10d, r9d
mov r9, r11
nop dword [rax]
jmp 0x5b0d22
call fcn.0046c920
jmp 0x5b0d02
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x90], cl
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
nop
mov rsi, qword [rsp + 0x68]
lea rdx, [rsi - 4]
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rdx, 4
mov r8, qword [rsp + 0x58]
lea r9, [r8 + rdx]
lea rcx, [rbx - 4]
mov eax, dword [r8]
bswap eax
cmp eax, ecx
jbe 0x5b1080
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor esi, esi
xor edi, edi
jmp 0x5b0c83
cmp rax, rdi
ja 0x5b10dd
cmp rax, rcx
ja 0x5b10d8
sub rsi, rax
lea rdx, [rsi - 4]
mov r8, rdx
neg rdx
sar rdx, 0x3f
and rdx, rax
sub rbx, rax
lea r10, [r9 + rdx]
lea r11, [rbx - 4]
mov ecx, 1
mov rdx, r8
mov rbx, r10
mov esi, eax
mov rdi, r9
mov rax, r11
nop dword [rax]
jmp 0x5b0c83
mov eax, r9d
call fcn.0046ce80
mov ecx, r9d
mov rdx, r8
call fcn.0046ce40
call fcn.0046ce80
mov ecx, eax
mov rdx, rdi
call fcn.0046ce40
nop
call fcn.0046abe0
jmp fcn.005b0c40