Function at 0x4f8b30
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 0x4f92e5
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
mov rax, qword [rsp + 0xa0]
cmp rax, 4
jle 0x4f92d8
mov rcx, qword [rsp + 0x98]
movzx edx, byte [rcx + 2]
cmp dl, 0x50
jne 0x4f8b96
movzx edx, byte [rcx + 3]
cmp dl, 0x3c
je 0x4f8ee9
cmp rax, 2
jb 0x4f8ee2
lea rdx, [rax - 3]
sar rdx, 0x3f
xor rdx, 0xffffffffffffffff
and rdx, 2
add rdx, rcx
lea rbx, [rax - 2]
mov rsi, qword [rsp + 0x90]
movzx edi, word [rsi]
mov r8, 1
xor r9d, r9d
mov qword [rsp + 0x48], r8
mov byte [rsp + 0x3d], r9b
mov word [rsp + 0x3e], di
test rbx, rbx
je 0x4f8eda
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
call fcn.004fdd90
mov eax, dword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
mov qword [rsp + 0x40], rsi
test rbx, rbx
jne 0x4f8ea2
cmp eax, 0x3a
jg 0x4f8e25
cmp eax, 0x29
je 0x4f8d85
cmp eax, 0x2d
jne 0x4f8d7c
mov rax, qword [rsp + 0x48]
test rax, rax
jl 0x4f8c81
movzx eax, word [rsp + 0x3e]
not eax
mov rdx, 0xffffffffffffffff
xor ebx, ebx
mov rcx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
mov r8, rdx
mov r9d, ebx
mov edi, eax
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x68]
jmp 0x4f8bcc
mov rax, qword [rsp + 0xa0]
mov rcx, rax
sub rax, rsi
mov qword [rsp + 0x60], rax
cmp rax, rcx
ja 0x4f8d75
lea rcx, [0x00696c80]
mov qword [rsp], rcx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov qword [rax + 8], 0x22
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x4f8d56
lea rcx, [0x006d9676]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x18], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x10]
test ecx, ecx
jne 0x4f8d39
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
lea rcx, [0x007e5100]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp], rdx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x78]
jmp 0x4f8cfa
mov qword [rsp], rax
lea rcx, [0x006d9676]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x78]
jmp 0x4f8cd7
call fcn.00429450
ud2
cmp eax, 0x3a
jne 0x4f8c81
mov rdx, qword [rsp + 0x48]
test rdx, rdx
jge 0x4f8e1b
movzx edx, byte [rsp + 0x3d]
test dl, dl
je 0x4f8c81
movzx edx, word [rsp + 0x3e]
not edx
cmp eax, 0x3a
mov word [rsp + 0x3e], dx
je 0x4f8df4
mov rax, qword [rsp + 0x90]
mov word [rax], dx
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rax, qword [rsp + 0x90]
mov qword [rsp], rax
mov byte [rsp + 8], pe_nt_image_headers64
call fcn.004f3480
mov rcx, qword [rsp + 0x68]
movzx edx, word [rsp + 0x3e]
mov rsi, qword [rsp + 0x40]
jmp 0x4f8db1
cmp eax, 0x3a
movzx edx, word [rsp + 0x3e]
jmp 0x4f8daa
cmp eax, 0x69
jg 0x4f8e66
cmp eax, 0x55
jne 0x4f8e46
movzx eax, word [rsp + 0x3e]
or eax, 0x20
mov rdx, qword [rsp + 0x48]
mov ebx, 1
jmp 0x4f8c52
cmp eax, 0x69
jne 0x4f8c81
movzx eax, word [rsp + 0x3e]
or eax, 1
mov rdx, qword [rsp + 0x48]
mov ebx, 1
jmp 0x4f8c52
cmp eax, 0x6d
jne 0x4f8e82
movzx eax, word [rsp + 0x3e]
and eax, 0xffffffef
mov rdx, qword [rsp + 0x48]
mov ebx, 1
jmp 0x4f8c52
cmp eax, 0x73
jne 0x4f8c81
movzx eax, word [rsp + 0x3e]
or eax, 8
mov rdx, qword [rsp + 0x48]
mov ebx, 1
jmp 0x4f8c52
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rdx
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rsi, rbx
jmp 0x4f8c81
call fcn.00429450
ud2
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov dword [rsp + 0x10], 0x3e
call fcn.004c5610
mov rax, qword [rsp + 0x18]
test rax, rax
jl 0x4f9194
lea rcx, [rax + 1]
mov qword [rsp + 0x58], rcx
mov rdx, qword [rsp + 0xa0]
cmp rcx, rdx
ja 0x4f918d
cmp rax, 4
jb 0x4f9186
cmp rax, rdx
ja 0x4f9186
lea rbx, [rax - 5]
sar rbx, 0x3f
xor rbx, 0xffffffffffffffff
and rbx, 4
mov rsi, qword [rsp + 0x98]
add rbx, rsi
mov qword [rsp + 0x70], rbx
mov qword [rsp], rbx
add rax, 0xfffffffffffffffc
mov qword [rsp + 0x50], rax
mov qword [rsp + 8], rax
call fcn.004fdc10
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
test rax, rax
jne 0x4f914e
mov rax, qword [rsp + 0x70]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 8], rcx
call fcn.004f92f0
movzx eax, byte [rsp + 0x10]
test al, al
je 0x4f9076
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax + 0x28]
inc rcx
mov qword [rax + 0x28], rcx
mov qword [rsp], rax
mov byte [rsp + 8], pe_nt_image_headers64
call fcn.004f3480
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx + 0x28]
mov qword [rax + 0x58], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x68], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x60]
test ecx, ecx
jne 0x4f9061
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x60], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x58]
sub rax, rcx
lea rdx, [rax - 1]
sar rdx, 0x3f
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, qword [rsp + 0x98]
add rcx, rdx
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp], rdx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
call fcn.00410240
jmp 0x4f8fff
lea rax, [0x00696c80]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov qword [rax + 8], 0x15
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x4f912f
lea rcx, [0x006d49be]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x18], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x10]
test ecx, ecx
jne 0x4f9112
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
lea rcx, [0x007e5100]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp], rdx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x78]
jmp 0x4f90d3
mov qword [rsp], rax
lea rcx, [0x006d49be]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x78]
jmp 0x4f90b0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rcx
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
call fcn.00429450
ud2
call fcn.00429450
ud2
mov rax, qword [rsp + 0x98]
mov qword [rsp], rax
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 8], rcx
call fcn.004fdc10
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
test rcx, rcx
jne 0x4f92a0
lea rax, [0x00696c80]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov qword [rax + 8], 0x15
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x4f9281
lea rcx, [0x006d49be]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x18], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x10]
test ecx, ecx
jne 0x4f9264
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
lea rcx, [0x007e5100]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp], rdx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x78]
jmp 0x4f9225
mov qword [rsp], rax
lea rcx, [0x006d49be]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x78]
jmp 0x4f91ff
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rcx, qword [rsp + 0x98]
jmp 0x4f8b96
call fcn.00452210
jmp fcn.004f8b30