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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x28]
cmp rax, qword [rcx + 0x10]
jbe 0x480486
sub rsp, 0xa8
mov qword [rsp + 0xa0], rbp
lea rbp, [rsp + 0xa0]
mov rdx, qword [rsp + 0xd0]
lea rbx, [rdx - 2]
cmp rbx, 0x22
ja 0x480465
mov qword [rsp + 0x57], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
movzx ebx, byte [rsp + 0xd8]
test bl, bl
je 0x48038a
mov rsi, qword [rsp + 0xc8]
neg rsi
cmp rdx, 0xa
jne 0x48028f
mov eax, 0x41
jmp 0x47ff83
mov byte [rsp + rcx + 0x55], sil
mov rsi, rdx
cmp rsi, 0x64
jb 0x48002f
mov rdx, rsi
shr rsi, 1
mov rcx, rax
movabs rax, 0xa3d70a3d70a3d70b
mov rdi, rdx
mul rsi
shr rdx, 5
imul rsi, rdx, 0x64
sub rdi, rsi
lea rax, [rdi + rdi]
lea rax, [rax + 1]
nop dword [rax]
cmp rax, 0xc8
jae 0x480459
lea rax, [rcx - 1]
lea rsi, [0x00669f08]
lea r8, [rsi + rdi*2]
lea r8, [r8 + 1]
movzx r8d, byte [r8]
cmp rax, 0x41
jae 0x48044f
mov byte [rsp + rcx + 0x56], r8b
mov rax, rdi
shl rax, 1
nop dword [rax + rax]
cmp rax, 0xc8
jae 0x480445
lea rax, [rcx - 2]
lea rsi, [rsi + rdi*2]
movzx esi, byte [rsi]
nop word [rax + rax]
cmp rax, 0x41
jb 0x47ff7b
jmp 0x480439
lea rdx, [rsi + rsi]
lea rdx, [rdx + 1]
nop word [rax + rax]
cmp rdx, 0xc8
jae 0x48042c
lea rdx, [rax - 1]
lea rdi, [0x00669f08]
lea r8, [rdi + rsi*2]
lea r8, [r8 + 1]
movzx r8d, byte [r8]
cmp rdx, 0x41
jae 0x48041f
mov byte [rsp + rax + 0x56], r8b
cmp rsi, 0xa
jb 0x480285
mov rdx, rsi
shl rsi, 1
cmp rsi, 0xc8
jae 0x480412
lea rsi, [rax - 2]
lea rdx, [rdi + rdx*2]
movzx edx, byte [rdx]
nop dword [rax + rax]
cmp rsi, 0x41
jae 0x480405
mov byte [rsp + rax + 0x55], dl
test bl, bl
je 0x480278
lea rax, [rsi - 1]
nop word [rax + rax]
cmp rax, 0x41
jae 0x4803af
mov byte [rsp + rsi + 0x56], 0x2d
movzx edx, byte [rsp + 0xd9]
test dl, dl
je 0x480200
nop
cmp rax, 0x41
ja 0x4803a5
mov rcx, qword [rsp + 0xb8]
mov rdx, rcx
sub rcx, rax
add rcx, 0x41
mov qword [rsp + 0x48], rcx
lea rbx, [rax - 0x41]
mov rsi, rbx
sar rbx, 0x3f
and rax, rbx
lea rax, [rsp + rax + 0x57]
mov rbx, qword [rsp + 0xc0]
nop dword [rax]
cmp rbx, rcx
jb 0x480199
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x98], rdi
lea rcx, [rdi + rdx]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
neg rsi
mov qword [rsp + 0x10], rsi
call fcn.0046d6c0
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xf0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xf8], xmm0
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x40], rsi
lea rax, [0x00614000]
mov qword [rsp], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rcx
call fcn.0044ddc0
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x40]
jmp 0x48012d
cmp rax, 0x41
ja 0x480397
mov qword [rsp], 0
lea rcx, [rax - 0x41]
mov rdx, rcx
sar rcx, 0x3f
and rax, rcx
lea rax, [rsp + rax + 0x57]
mov qword [rsp + 8], rax
neg rdx
mov qword [rsp + 0x10], rdx
call fcn.00452060
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0xe0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xe8], xmm0
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rcx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
mov rax, rsi
nop dword [rax + rax]
jmp 0x4800cf
test bl, bl
mov rsi, rdx
jmp 0x4800b0
lea rdi, [rdx - 1]
test rdx, rdi
jne 0x480318
bsf rdi, rdx
and rdi, 7
lea rax, [rdx - 1]
mov ecx, 0x41
jmp 0x4802c0
mov byte [rsp + rcx + 0x56], sil
mov rcx, rdi
shr r8, cl
mov rsi, r8
mov rcx, r9
cmp rdx, rsi
ja 0x4802f0
mov r8, rsi
and rsi, rax
cmp rsi, 0x24
jae 0x4803f4
lea r9, [rcx - 1]
lea r10, [0x00664a00]
movzx esi, byte [rsi + r10]
cmp r9, 0x41
jb 0x4802af
jmp 0x4803e7
lea rax, [rcx - 1]
lea rdx, [0x00664a00]
movzx edx, byte [rsi + rdx]
nop
cmp rax, 0x41
jae 0x4803dd
mov byte [rsp + rcx + 0x56], dl
test bl, bl
mov rsi, rax
jmp 0x4800b0
mov eax, 0x41
jmp 0x48032a
mov byte [rsp + rcx + 0x56], sil
mov rsi, rdx
mov rdx, rdi
cmp rdx, rsi
ja 0x480369
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 0x4803d0
lea rax, [rcx - 1]
lea r8, [0x00664a00]
movzx esi, byte [rsi + r8]
cmp rax, 0x41
jb 0x48031f
jmp 0x4803c6
lea rdx, [rax - 1]
lea rdi, [0x00664a00]
movzx esi, byte [rsi + rdi]
cmp rdx, 0x41
jae 0x4803b9
mov byte [rsp + rax + 0x56], sil
test bl, bl
mov rax, rdx
jmp 0x480310
mov rsi, qword [rsp + 0xc8]
jmp 0x47ff6a
mov ecx, 0x41
nop dword [rax]
call fcn.0046ce80
mov ecx, 0x41
call fcn.0046ce80
mov ecx, 0x41
call fcn.0046cdc0
mov rax, rdx
mov ecx, 0x41
call fcn.0046cdc0
mov ecx, 0x41
call fcn.0046cdc0
mov rax, rsi
mov ecx, 0x24
call fcn.0046cde0
mov ecx, 0x41
call fcn.0046cdc0
mov rax, r9
mov ecx, 0x41
call fcn.0046cdc0
mov rax, rsi
mov ecx, 0x24
nop dword [rax]
call fcn.0046cde0
mov rax, rsi
mov ecx, 0x41
call fcn.0046cdc0
mov rax, rsi
mov ecx, 0xc8
call fcn.0046cde0
mov rax, rdx
mov ecx, 0x41
call fcn.0046cdc0
mov rax, rdx
mov ecx, 0xc8
call fcn.0046cde0
mov ecx, 0x41
nop
call fcn.0046cdc0
mov ecx, 0xc8
call fcn.0046cde0
mov ecx, 0x41
call fcn.0046cdc0
mov ecx, 0xc8
nop
call fcn.0046cde0
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a19e0]
mov qword [rsp + 8], rax
nop dword [rax]
call fcn.00438920
nop
call fcn.0046abe0
jmp fcn.0047fee0