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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x4fa8e7
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov rax, qword [rsp + 0x78]
cmp rax, 1
jb 0x4fa8e0
lea rcx, [rax - 2]
sar rcx, 0x3f
xor rcx, 0xffffffffffffffff
and rcx, 1
mov rdx, qword [rsp + 0x70]
add rcx, rdx
lea rbx, [rax - 1]
cmp rax, 1
jne 0x4fa1e1
lea rax, [0x00696c80]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x50], rax
mov qword [rax + 8], 0x27
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x4fa1c2
lea rcx, [0x006dab20]
mov qword [rax], rcx
mov qword [rax + 0x18], 0
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x10]
test ecx, ecx
jne 0x4fa1a9
mov qword [rax + 0x10], 0
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
lea rcx, [0x007e5100]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp], rdx
mov qword [rsp + 8], 0
call fcn.00410240
mov rax, qword [rsp + 0x50]
jmp 0x4fa165
mov qword [rsp], rax
lea rcx, [0x006dab20]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x50]
jmp 0x4fa147
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
call fcn.004fdd90
mov rax, qword [rsp + 0x18]
mov ecx, dword [rsp + 0x10]
mov rdx, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
test rbx, rbx
jne 0x4fa8a3
cmp ecx, 0x66
jg 0x4fa4bb
cmp ecx, 0x37
jg 0x4fa442
cmp ecx, 0x30
jne 0x4fa2b3
add ecx, 0xffffffd0
mov rbx, 1
cmp rbx, 3
jge 0x4fa27a
test rdx, rdx
je 0x4fa27a
movzx esi, byte [rax]
cmp sil, 0x30
jb 0x4fa27a
cmp sil, 0x37
ja 0x4fa27a
inc rbx
movzx esi, sil
shl ecx, 3
add esi, ecx
lea ecx, [rsi - 0x30]
lea rsi, [rdx - 2]
sar rsi, 0x3f
xor rsi, 0xffffffffffffffff
and rsi, 1
add rax, rsi
dec rdx
cmp rbx, 3
jl 0x4fa23b
mov dword [rsp + 0x80], ecx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
lea ebx, [rcx - 0x31]
cmp ebx, 6
ja 0x4fa3cd
test rdx, rdx
je 0x4fa2d6
movzx ebx, byte [rax]
cmp bl, 0x30
jb 0x4fa2d6
cmp bl, 0x37
ja 0x4fa2d6
jmp 0x4fa22b
mov rax, qword [rsp + 0x78]
mov rcx, rax
sub rax, rdx
mov qword [rsp + 0x48], rax
cmp rax, rcx
ja 0x4fa3c6
lea rcx, [0x00696c80]
mov qword [rsp], rcx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x50], rax
mov qword [rax + 8], 0x17
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x4fa3a7
lea rcx, [0x006d56bc]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x18], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x10]
test ecx, ecx
jne 0x4fa38d
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x10], rcx
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
lea rcx, [0x007e5100]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp], rdx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x50]
jmp 0x4fa349
mov qword [rsp], rax
lea rcx, [0x006d56bc]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x50]
jmp 0x4fa329
call fcn.00429450
ud2
cmp ecx, 0x80
jge 0x4fa2d6
lea ebx, [rcx - 0x30]
cmp ebx, 9
ja 0x4fa428
mov ebx, 1
test bl, bl
je 0x4fa3ef
jmp 0x4fa2d6
mov dword [rsp + 0x80], ecx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
lea ebx, [rcx - 0x41]
cmp ebx, 0x19
ja 0x4fa437
mov ebx, 1
jmp 0x4fa3e6
lea esi, [rcx - 0x61]
cmp esi, 0x19
setbe bl
jmp 0x4fa3e6
cmp ecx, 0x61
je 0x4fa486
cmp ecx, 0x66
je 0x4fa451
jmp 0x4fa3cd
mov dword [rsp + 0x80], 0xc
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov dword [rsp + 0x80], 7
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
cmp ecx, 0x72
jg 0x4fa539
cmp ecx, 0x6e
je 0x4fa504
cmp ecx, 0x72
je 0x4fa4cf
jmp 0x4fa3cd
mov dword [rsp + 0x80], 0xd
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov dword [rsp + 0x80], 0xa
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
cmp ecx, 0x74
je 0x4fa86e
cmp ecx, 0x76
je 0x4fa839
cmp ecx, 0x78
jne 0x4fa3cd
test rdx, rdx
jne 0x4fa55e
jmp 0x4fa2d6
mov qword [rsp], rax
mov qword [rsp + 8], rdx
call fcn.004fdd90
mov eax, dword [rsp + 0x10]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x18]
test rdx, rdx
jne 0x4fa7fc
cmp eax, 0x7b
jne 0x4fa6de
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x3c], ecx
test rbx, rbx
je 0x4fa619
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
call fcn.004fdd90
mov eax, dword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
test rbx, rbx
jne 0x4fa6a1
cmp eax, 0x7d
je 0x4fa652
lea edx, [rax - 0x30]
cmp edx, 9
ja 0x4fa631
test edx, edx
jl 0x4fa629
mov eax, dword [rsp + 0x3c]
shl eax, 4
add eax, edx
cmp eax, 0x10ffff
jg 0x4fa621
mov rdx, qword [rsp + 0x40]
inc rdx
mov rbx, rsi
mov rsi, rcx
mov ecx, eax
mov rax, rdx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x3c], ecx
test rbx, rbx
jne 0x4fa5a8
mov rdx, rbx
jmp 0x4fa2d6
mov rdx, rsi
jmp 0x4fa2d6
mov rdx, rsi
jmp 0x4fa2d6
lea edx, [rax - 0x61]
cmp edx, 5
ja 0x4fa63e
lea edx, [rax - 0x57]
jmp 0x4fa5e4
lea edx, [rax - 0x41]
cmp edx, 5
ja 0x4fa64b
lea edx, [rax - 0x37]
jmp 0x4fa5e4
mov edx, 0xffffffff
jmp 0x4fa5e4
mov rax, qword [rsp + 0x40]
test rax, rax
jne 0x4fa664
mov rdx, rsi
jmp 0x4fa2d6
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rdx
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
lea ecx, [rax - 0x30]
cmp ecx, 9
ja 0x4fa7d2
mov dword [rsp + 0x38], ecx
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
call fcn.004fdd90
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x18]
mov esi, dword [rsp + 0x10]
test rcx, rcx
jne 0x4fa795
lea eax, [rsi - 0x30]
cmp eax, 9
ja 0x4fa774
mov ecx, dword [rsp + 0x38]
test ecx, ecx
jl 0x4fa2d6
test eax, eax
jge 0x4fa736
jmp 0x4fa2d6
shl ecx, 4
add eax, ecx
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
lea eax, [rsi - 0x61]
cmp eax, 5
ja 0x4fa781
lea eax, [rsi - 0x57]
jmp 0x4fa721
lea eax, [rsi - 0x41]
cmp eax, 5
ja 0x4fa78e
lea eax, [rsi - 0x37]
jmp 0x4fa721
mov eax, 0xffffffff
jmp 0x4fa721
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
lea ecx, [rax - 0x61]
cmp ecx, 5
ja 0x4fa7e2
lea ecx, [rax - 0x57]
jmp 0x4fa6ea
lea ecx, [rax - 0x41]
cmp ecx, 5
ja 0x4fa7f2
lea ecx, [rax - 0x37]
jmp 0x4fa6ea
mov ecx, 0xffffffff
jmp 0x4fa6ea
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rcx
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov dword [rsp + 0x80], 0xb
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov dword [rsp + 0x80], 9
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
call fcn.00429450
ud2
call fcn.00452210
jmp fcn.004fa0b0