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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 8]
cmp rax, qword [rcx + 0x10]
jbe 0x4777a7
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
mov rax, qword [rsp + 0x98]
cmp rax, 0xffff
jg 0x47772b
mov rcx, qword [rsp + 0xa8]
cmp rcx, 0xffff
jg 0x4776af
lea rdx, [rax + 3]
mov qword [rsp + 0x40], rdx
test rcx, rcx
jle 0x477675
lea rbx, [rcx + rax + 5]
movzx esi, byte [rsp + 0xb0]
or esi, 2
mov byte [rsp + 0x3f], sil
lea rax, [0x00649b20]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbx
call fcn.0043e2f0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x18]
test rcx, rcx
jbe 0x4776a8
movzx ebx, byte [rsp + 0x3f]
mov byte [rdx], bl
cmp rcx, 1
jbe 0x4776a1
mov rbx, qword [rsp + 0x98]
mov rsi, rbx
sar rbx, 8
mov byte [rdx + 1], bl
cmp rcx, 2
jbe 0x47769a
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x58], rdx
mov byte [rdx + 2], sil
lea rbx, [rax - 3]
neg rbx
sar rbx, 0x3f
and rbx, 3
add rbx, rdx
lea rdi, [rcx - 3]
cmp rdi, rsi
jle 0x47766d
mov qword [rsp], rbx
mov rax, qword [rsp + 0x90]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rsi
call fcn.00455c10
mov rax, qword [rsp + 0xa8]
test rax, rax
jle 0x47764b
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
cmp rcx, rdx
ja 0x477693
sub rdx, rcx
mov rbx, qword [rsp + 0x50]
sub rbx, rcx
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and rbx, rcx
mov rcx, qword [rsp + 0x58]
lea rdi, [rbx + rcx]
test rdx, rdx
jbe 0x47768c
mov r8, rax
sar rax, 8
mov byte [rcx + rbx], al
cmp rdx, 1
jbe 0x477685
mov byte [rcx + rbx + 1], r8b
lea rax, [rsi - 2]
neg rax
sar rax, 0x3f
and rax, 2
add rax, rdi
add rdx, 0xfffffffffffffffe
cmp rdx, r8
jle 0x477668
mov qword [rsp], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], r8
call fcn.00455c10
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xb8], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov r8, rdx
jmp 0x477630
mov rsi, rdi
jmp 0x477597
mov rbx, rdx
movzx esi, byte [rsp + 0xb0]
jmp 0x477501
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429bc0
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
mov qword [rsp], 0
lea rax, [0x006b469b]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x20
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
call fcn.00441c40
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
lea rax, [0x00649960]
mov qword [rsp], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 8], rax
call fcn.0040e0f0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042aba0
ud2
mov qword [rsp], 0
lea rcx, [0x006b4d53]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 0x21
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
call fcn.00441c40
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
lea rax, [0x00649960]
mov qword [rsp], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 8], rax
call fcn.0040e0f0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042aba0
ud2
call fcn.00452950
jmp fcn.00477480