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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x18]
cmp rax, qword [rcx + 0x10]
jbe 0x47b094
sub rsp, 0x98
mov qword [rsp + 0x90], rbp
lea rbp, [rsp + 0x90]
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x47b04b
mov rdx, qword [rsp + 0xa8]
lea rbx, [rdx - 1]
test rbx, rbx
jge 0x47b03b
neg rbx
dec rbx
movabs rax, 0x2aaaaaaaaaaaaaab
mov rsi, rdx
imul rbx
sar rbx, 0x3f
sar rdx, 1
sub rdx, rbx
lea rbx, [rdx + 1]
mov rdi, qword [rsp + 0xa0]
sub rdi, rbx
lea rdx, [rdx + rdx*2]
lea rdx, [rsi + rdx*4 + 0xb]
cmp rdx, 0xc
jl 0x47b030
movabs rax, 0x2aaaaaaaaaaaaaab
mov rbx, rdx
imul rdx
mov rsi, rbx
sar rbx, 0x3f
sar rdx, 1
sub rdx, rbx
lea rbx, [rdx + rdi]
lea rdx, [rdx + rdx*2]
shl rdx, 2
sub rsi, rdx
mov qword [rsp + 0x40], rbx
mov rdx, qword [rsp + 0xd0]
test rdx, rdx
jge 0x47b023
mov rdi, rdx
neg rdx
dec rdx
movabs rax, 0x112e0be826d694b3
mov r8, rdx
imul rdx
sar r8, 0x3f
sar rdx, 0x1a
sub rdx, r8
lea r8, [rdx + 1]
mov r9, qword [rsp + 0xc8]
sub r9, r8
imul rdx, rdx, 0x3b9aca00
lea rdx, [rdi + rdx + 0x3b9aca00]
cmp rdx, 0x3b9aca00
jl 0x47b018
movabs rax, 0x112e0be826d694b3
mov rdi, rdx
imul rdx
mov r8, rdi
sar rdi, 0x3f
sar rdx, 0x1a
sub rdx, rdi
lea rdi, [rdx + r9]
imul rdx, rdx, 0x3b9aca00
sub r8, rdx
mov qword [rsp + 0x58], r8
test rdi, rdi
jge 0x47b008
mov rdx, rdi
neg rdi
lea r9, [rdi - 1]
movabs rax, 0x8888888888888889
mov r10, rdx
imul r9
lea rdx, [rdi + rdx - 1]
sar r9, 0x3f
sar rdx, 5
sub rdx, r9
lea rdi, [rdx + 1]
mov r9, qword [rsp + 0xc0]
sub r9, rdi
imul rdx, rdx, 0x3c
lea rdx, [r10 + rdx + 0x3c]
cmp rdx, 0x3c
jl 0x47affd
movabs rax, 0x8888888888888889
mov rdi, rdx
imul rdx
add rdx, rdi
mov r10, rdi
sar rdi, 0x3f
sar rdx, 5
sub rdx, rdi
lea rdi, [rdx + r9]
imul rdx, rdx, 0x3c
sub r10, rdx
test rdi, rdi
jge 0x47afed
mov rdx, rdi
neg rdi
lea r9, [rdi - 1]
movabs rax, 0x8888888888888889
mov r11, rdx
imul r9
lea rdx, [rdi + rdx - 1]
sar r9, 0x3f
sar rdx, 5
sub rdx, r9
lea rdi, [rdx + 1]
mov r9, qword [rsp + 0xb8]
sub r9, rdi
imul rdx, rdx, 0x3c
lea rdx, [r11 + rdx + 0x3c]
cmp rdx, 0x3c
jl 0x47afe2
movabs rax, 0x8888888888888889
mov rdi, rdx
imul rdx
add rdx, rdi
mov r11, rdi
sar rdi, 0x3f
sar rdx, 5
sub rdx, rdi
lea rdi, [rdx + r9]
imul rdx, rdx, 0x3c
sub r11, rdx
test rdi, rdi
jge 0x47afd2
mov rdx, rdi
neg rdi
dec rdi
movabs rax, 0x2aaaaaaaaaaaaaab
mov r9, rdx
imul rdi
sar rdx, 2
sar rdi, 0x3f
sub rdx, rdi
lea rdi, [rdx + 1]
mov r12, qword [rsp + 0xb0]
sub r12, rdi
lea rdx, [rdx + rdx*2]
lea rdx, [r9 + rdx*8 + 0x18]
cmp rdx, 0x18
jl 0x47afc7
movabs rax, 0x2aaaaaaaaaaaaaab
mov rdi, rdx
imul rdx
mov r9, rdi
sar rdi, 0x3f
sar rdx, 2
sub rdx, rdi
lea rdi, [rdx + r12]
lea rdx, [rdx + rdx*2]
shl rdx, 3
sub r9, rdx
lea rdx, [rsi + 1]
movabs r12, 0x440d116ebf
lea rax, [rbx + r12]
mov qword [rsp + 0x60], rax
movabs r12, 0x47ae147ae147ae15
mov r13, rdx
mul r12
mov rax, qword [rsp + 0x60]
add rdx, rax
rcr rdx, 1
shr rdx, 8
mov r14, rdx
imul rdx, rdx, 0x190
sub rax, rdx
mov qword [rsp + 0x48], rax
imul r14, r14, 0x23ab1
mul r12
mov r12, qword [rsp + 0x48]
add rdx, r12
rcr rdx, 1
shr rdx, 6
mov r15, rdx
imul rdx, rdx, 0x64
sub r12, rdx
imul r15, r15, 0x8eac
lea rdx, [r14 + r15]
mov r14, r12
shr r12, 2
mov r15, r12
shl r12, 2
sub r14, r12
imul r15, r15, 0x5b5
add rdx, r15
imul r14, r14, 0x16d
add rdx, r14
cmp rsi, 0xd
jae 0x47afc0
lea r12, [0x007e7fc0]
mov esi, dword [r12 + rsi*4]
movsxd rsi, esi
lea r12, [rdx + rsi]
mov r14, rbx
sar rbx, 0x3f
mov r15, rbx
and rbx, 3
mov rax, r8
lea r8, [r14 + rbx]
and r8, 3
sub r8, rbx
test r8, r8
jne 0x47afb3
mov rbx, rax
movabs rax, 0xa3d70a3d70a3d70b
mov r8, rdx
imul r14
add rdx, r14
mov rax, rdx
sar rdx, 6
sub rdx, r15
imul rdx, rdx, 0x64
sub r14, rdx
test r14, r14
je 0x47af92
mov eax, 1
test al, al
je 0x47af8a
cmp r13, 3
jl 0x47af8a
lea rax, [r8 + rsi + 1]
mov qword [rsp], rcx
lea rax, [rax + rdi - 1]
imul rax, rax, 0x15180
imul r9, r9, 0xe10
imul r11, r11, 0x3c
lea rdx, [r9 + r11]
add rdx, r10
add rax, rdx
movabs rdx, 0x80000001e5263700
add rax, rdx
mov qword [rsp + 0x50], rax
mov qword [rsp + 8], rax
call fcn.0047b190
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
test rax, rax
je 0x47af80
mov rbx, qword [rsp + 0x50]
mov rsi, rbx
sub rbx, rax
cmp rbx, rcx
jl 0x47af58
cmp rbx, rdx
jge 0x47af33
sub rsi, rax
mov qword [rsp + 0x78], 0
movabs rax, 0xe7791f700
add rax, rsi
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x88], 0
mov rax, qword [rsp + 0xd8]
lea rcx, [0x00894160]
cmp rax, rcx
jne 0x47aef8
xor eax, eax
mov qword [rsp + 0x88], rax
mov ecx, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0xe0], rdx
mov dword [rsp + 0xe8], ecx
mov qword [rsp + 0xf0], rax
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
mov rax, qword [rsp + 0xd8]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
call fcn.0047b190
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x50]
jmp 0x47aeac
mov rax, qword [rsp + 0xd8]
mov qword [rsp], rax
dec rcx
mov qword [rsp + 8], rcx
call fcn.0047b190
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x50]
jmp 0x47aeac
mov rsi, qword [rsp + 0x50]
jmp 0x47aeaf
mov rax, r12
jmp 0x47ae36
sar rax, 8
sub rax, r15
imul rax, rax, 0x190
mov rdx, qword [rsp + 0x40]
sub rdx, rax
test rdx, rdx
sete al
jmp 0x47ae1f
mov rbx, rax
mov r8, rdx
xor eax, eax
jmp 0x47ae1f
call fcn.004293e0
ud2
mov rdi, r12
mov r9, rdx
jmp 0x47ad0e
mov rdx, rdi
mov r12, qword [rsp + 0xb0]
jmp 0x47acd7
mov rdi, r9
mov r11, rdx
jmp 0x47ac92
mov rdx, rdi
mov r9, qword [rsp + 0xb8]
jmp 0x47ac5c
mov rdi, r9
mov r10, rdx
jmp 0x47ac11
mov rdx, rdi
mov r9, qword [rsp + 0xc0]
jmp 0x47abdb
mov rdi, r9
mov r8, rdx
jmp 0x47ab8b
mov r9, qword [rsp + 0xc8]
jmp 0x47ab52
mov rbx, rdi
mov rsi, rdx
jmp 0x47aafa
mov rdx, rbx
mov rdi, qword [rsp + 0xa0]
jmp 0x47aac4
lea rax, [0x006da6e7]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0x26
lea rax, [0x0066fb00]
mov qword [rsp], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 8], rax
call fcn.0040ccd0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042a540
ud2
call fcn.00452210
jmp fcn.0047aa30