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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x30]
cmp rax, qword [rcx + 0x10]
jbe 0x471eac
sub rsp, 0xb0
mov qword [rsp + 0xa8], rbp
lea rbp, [rsp + 0xa8]
mov rdx, qword [rsp + 0xd8]
lea rbx, [rdx - 2]
cmp rbx, 0x22
ja 0x471e8e
mov qword [rsp + 0x5f], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movzx ebx, byte [rsp + 0xe0]
test bl, bl
je 0x471e26
mov rsi, qword [rsp + 0xd0]
neg rsi
cmp rdx, 0xa
jne 0x471cfb
mov eax, 0x41
jmp 0x471a25
mov byte [rsp + rdi + 0x5d], cl
mov rax, r9
cmp rsi, 0x64
jb 0x471ab4
mov rcx, rsi
shr rsi, 1
mov rdx, rax
movabs rax, 0xa3d70a3d70a3d70b
mov rdi, rdx
mul rsi
shr rdx, 5
mov rsi, rdx
imul rdx, rdx, 0x64
sub rcx, rdx
shl rcx, 1
lea rdx, [rcx + 1]
cmp rdx, 0xc8
jae 0x471e87
lea rdx, [rdi - 1]
lea r8, [0x006bc3d0]
movzx r9d, byte [r8 + rcx + 1]
cmp rdx, 0x41
jae 0x471e87
lea rdx, [rsp + 0x5f]
mov byte [rdi + rdx - 1], r9b
cmp rcx, 0xc8
jae 0x471e80
lea r9, [rdi - 2]
movzx ecx, byte [r8 + rcx]
cmp r9, 0x41
jb 0x471a1e
jmp 0x471e80
mov rcx, rsi
shl rsi, 1
lea rdx, [rsi + 1]
cmp rdx, 0xc8
jae 0x471e79
lea rdx, [rax - 1]
lea rdi, [0x006bc3d0]
movzx r8d, byte [rdi + rsi + 1]
cmp rdx, 0x41
jae 0x471e79
lea r9, [rsp + 0x5f]
mov byte [rax + r9 - 1], r8b
cmp rcx, 0xa
jb 0x471cf1
cmp rsi, 0xc8
jae 0x471e72
lea rcx, [rax - 2]
movzx edx, byte [rdi + rsi]
cmp rcx, 0x41
jae 0x471e72
mov byte [rax + r9 - 2], dl
test bl, bl
je 0x471ce9
lea rax, [rcx - 1]
cmp rax, 0x41
jae 0x471e41
mov byte [rsp + rcx + 0x5e], 0x2d
movzx ecx, byte [rsp + 0xe1]
test cl, cl
je 0x471c69
cmp rax, 0x41
ja 0x471e3a
mov rcx, qword [rsp + 0xc0]
mov rdx, rcx
sub rcx, rax
add rcx, 0x41
mov qword [rsp + 0x50], rcx
lea rbx, [rax - 0x41]
neg rbx
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and rax, rbx
mov rbx, qword [rsp + 0xc8]
cmp rcx, rbx
ja 0x471c0a
mov rdi, qword [rsp + 0xb8]
cmp rcx, rbx
ja 0x471e3a
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x48], rbx
lea rcx, [rdx + rdi]
mov qword [rsp], rcx
lea rax, [rsp + rax + 0x5f]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rsi
call fcn.00455c10
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xf8], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x100], xmm0
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rax
lea rax, [0x00649b20]
mov qword [rsp], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rcx
call fcn.0043e400
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x48]
xorps xmm0, xmm0
jmp 0x471b93
cmp rax, 0x41
ja 0x471e33
mov qword [rsp], 0
lea rcx, [rax - 0x41]
neg rcx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and rax, rcx
lea rax, [rsp + rax + 0x5f]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rdx
call fcn.00441e40
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0xe8], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov rax, rcx
jmp 0x471b39
test bl, bl
mov rcx, rdx
jmp 0x471b20
cmp rdx, 0x25
jae 0x471e6b
lea rdi, [0x007fd260]
mov rcx, qword [rdi + rdx*8]
test rcx, rcx
jbe 0x471d9f
lea rax, [rdx - 1]
mov edi, 0x41
jmp 0x471d39
mov byte [rsp + rdi + 0x5e], sil
shr r8, cl
cmp rcx, 0x40
sbb rsi, rsi
and rsi, r8
mov rdi, r9
cmp rsi, rdx
jb 0x471d69
mov r8, rsi
and rsi, rax
cmp rsi, 0x24
jae 0x471e64
lea r9, [rdi - 1]
lea r10, [0x006b5997]
movzx esi, byte [r10 + rsi]
cmp r9, 0x41
jb 0x471d24
jmp 0x471e64
cmp rsi, 0x24
jae 0x471e5d
lea rax, [rdi - 1]
lea rcx, [0x006b5997]
movzx ecx, byte [rcx + rsi]
cmp rax, 0x41
jae 0x471e5d
lea rdx, [rsp + 0x5f]
mov byte [rdi + rdx - 1], cl
test bl, bl
mov rcx, rax
jmp 0x471b20
mov eax, 0x41
jmp 0x471db4
mov byte [rsp + rcx + 0x5e], sil
mov rsi, rdx
mov rax, r8
mov rdx, rdi
cmp rsi, rdx
jb 0x471df8
test rdx, rdx
je 0x471e56
mov rcx, rax
mov rax, rsi
mov rdi, rdx
xor edx, edx
div rdi
mov rdx, rax
imul rax, rdi
sub rsi, rax
cmp rsi, 0x24
jae 0x471e4f
lea r8, [rcx - 1]
lea r9, [0x006b5997]
movzx esi, byte [r9 + rsi]
cmp r8, 0x41
jb 0x471da6
jmp 0x471e4f
cmp rsi, 0x24
jae 0x471e48
lea rcx, [rax - 1]
lea rdx, [0x006b5997]
movzx edx, byte [rdx + rsi]
cmp rcx, 0x41
jae 0x471e48
lea rsi, [rsp + 0x5f]
mov byte [rax + rsi - 1], dl
test bl, bl
mov rax, rcx
jmp 0x471d97
mov rsi, qword [rsp + 0xd0]
jmp 0x471a0d
call fcn.00429bc0
ud2
call fcn.00429bc0
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429c30
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
lea rax, [0x00649960]
mov qword [rsp], rax
lea rax, [0x006f6ec0]
mov qword [rsp + 8], rax
call fcn.0042aba0
ud2
call fcn.00452950
jmp fcn.00471980