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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x417cf8
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov rdx, qword [rsp + 0x98]
test rdx, 0x1f
jne 0x417cde
mov rbx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
cmp rbx, rax
je 0x417b97
test rbx, rbx
je 0x417c53
mov rcx, rdx
xor edx, edx
div rbx
mov qword [rsp + 0x30], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
mov rdx, rbx
shr rbx, 3
mov rsi, qword [rsp + 0x80]
mov rdi, rsi
shr rsi, 3
mov r8, rbx
sub rbx, rsi
nop dword [rax]
test rbx, rbx
jbe 0x417b90
mov byte [rsp + 0x30], 1
cmp rbx, 1
jbe 0x417b86
mov byte [rsp + 0x32], 0x81
dec rbx
mov esi, 3
jmp 0x417a20
mov r9, rbx
bts rbx, 7
mov byte [rsp + rsi + 0x30], bl
shr r9, 7
inc rsi
mov rbx, r9
nop dword [rax]
cmp rbx, 0x80
jb 0x417a34
cmp rsi, 0x28
jb 0x417a07
jmp 0x417c46
cmp rsi, 0x28
jae 0x417c39
mov byte [rsp + rsi + 0x30], bl
lea rbx, [rsi + 1]
cmp rbx, 0x28
jae 0x417c2c
mov byte [rsp + rbx + 0x30], pe_nt_image_headers64
lea rsi, [rbx + 1]
jmp 0x417a72
mov rbx, r8
bts r8, 7
mov byte [rsp + rsi + 0x30], r8b
shr rbx, 7
inc rsi
mov r8, rbx
cmp r8, 0x80
jb 0x417a8b
nop dword [rax + rax]
cmp rsi, 0x28
jb 0x417a5b
jmp 0x417c1f
cmp rsi, 0x28
jae 0x417c12
mov byte [rsp + rsi + 0x30], r8b
lea rbx, [rsi + 1]
lea rsi, [rax - 1]
mov rax, rsi
jmp 0x417ac0
mov r8, rsi
bts rsi, 7
mov byte [rsp + rbx + 0x30], sil
shr r8, 7
inc rbx
mov rsi, r8
nop
cmp rsi, 0x80
jb 0x417ad4
cmp rbx, 0x28
jb 0x417aa7
jmp 0x417c05
cmp rbx, 0x28
jae 0x417bf3
mov byte [rsp + rbx + 0x30], sil
lea rsi, [rbx + 1]
cmp rsi, 0x28
jae 0x417be6
mov qword [rsp + 0x28], rax
mov byte [rsp + rbx + 0x31], 0
mov rax, qword [rsp + 0xa0]
mov qword [rsp], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 2
call fcn.00417e40
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x28]
imul rax, rcx
mov rcx, qword [rsp + 0x80]
add rax, rcx
shr rax, 3
add rax, 3
shr rax, 2
mov rcx, qword [rsp + 0x98]
shr rcx, 5
mov rdx, qword [rsp + 0x68]
add rcx, rdx
add rax, rdx
mov rdx, rax
mov qword [rsp], rdx
sub rcx, rax
mov qword [rsp + 8], rcx
call fcn.0046d420
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov ebx, 2
jmp 0x417a46
xor ebx, ebx
jmp 0x417a46
mov rax, qword [rsp + 0xa0]
mov qword [rsp], rax
mov qword [rsp + 8], 0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 2
nop
call fcn.00417e40
mov rax, qword [rsp + 0x20]
mov rcx, rax
shl rax, 3
mov rdx, qword [rsp + 0x80]
cmp rdx, rax
jne 0x417c58
mov rax, rcx
jmp 0x417b49
mov rax, rsi
mov ecx, 0x28
call fcn.0046cdc0
mov rax, rbx
mov ecx, 0x28
nop dword [rax + rax]
call fcn.0046cdc0
mov rax, rbx
mov ecx, 0x28
call fcn.0046cdc0
mov rax, rsi
mov ecx, 0x28
call fcn.0046cdc0
mov rax, rsi
mov ecx, 0x28
call fcn.0046cdc0
mov rax, rbx
mov ecx, 0x28
call fcn.0046cdc0
mov rax, rsi
mov ecx, 0x28
call fcn.0046cdc0
mov rax, rsi
mov ecx, 0x28
call fcn.0046cdc0
call fcn.00436e20
mov qword [rsp + 0x28], rcx
nop dword [rax]
call fcn.0043aa00
lea rax, [0x00666960]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2b
call fcn.0043b480
mov rax, qword [rsp + 0x28]
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065c6f7]
mov qword [rsp], rax
mov qword [rsp + 8], 0xe
call fcn.0043b480
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.0043b100
call fcn.0043ace0
nop dword [rax + rax]
call fcn.0043aaa0
lea rax, [0x006667dd]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2b
call fcn.00439220
lea rax, [0x00665999]
mov qword [rsp], rax
mov qword [rsp + 8], 0x27
call fcn.00439220
nop
call fcn.0046abe0
nop dword [rax]
jmp fcn.00417940