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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x20]
cmp rax, qword [rcx + 0x10]
jbe 0x5950d0
sub rsp, 0xa0
mov qword [rsp + 0x98], rbp
lea rbp, [rsp + 0x98]
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x59500a
mov qword [rsp], rcx
call fcn.005949c0
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax + 0x30]
cmp dword [0x00811460], 0
jne 0x594ff5
mov qword [rax + 0x30], 0
mov rdx, qword [rcx]
mov rbx, qword [rcx + 8]
nop dword [rax]
test rdx, rdx
jne 0x594fca
mov rdx, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx + 0x40]
mov r8, rdx
sub rdx, rsi
mov r9, qword [rcx + 0x38]
sub rdx, r9
test rdx, rdx
jl 0x5950b3
mov qword [rsp + 0x60], rcx
cmp byte [rcx + 0x48], 0
je 0x594ae4
nop word [rax + rax]
nop
cmp rsi, 1
jne 0x595097
mov esi, 0xfffffffe
cmp rdx, rsi
jg 0x594f69
nop dword [rax + rax]
cmp rdx, 0xffffff
jle 0x594f15
mov esi, 0xffffff84
mov edi, 5
nop word [rax + rax]
cmp r9, r8
jae 0x59508c
mov byte [rbx + r9], sil
lea ebx, [rdi - 1]
movzx ebx, bl
test rbx, rbx
jne 0x594c67
inc qword [rcx + 0x38]
mov qword [rcx + 0x40], rbx
mov rbx, qword [rcx + 0x40]
dec rbx
mov rsi, rdx
jmp 0x594b00
mov byte [r9 + r10], dl
dec rbx
sar rdx, 8
nop dword [rax + rax]
test rbx, rbx
jl 0x594b20
mov r8, qword [rcx + 0x18]
mov r9, qword [rcx + 0x10]
mov r10, qword [rcx + 0x38]
add r10, rbx
cmp r8, r10
ja 0x594af0
jmp 0x59504f
test rdx, rdx
jne 0x594b92
cmp byte [rax + 0x28], 0
je 0x594b56
mov rdx, qword [rax + 0x18]
mov rbx, qword [rax + 0x10]
test rdx, rdx
jbe 0x595045
mov rdx, qword [rcx + 0x18]
mov rsi, qword [rcx + 0x10]
test rdx, rdx
jbe 0x595036
cmp rsi, rbx
jne 0x59501a
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x20]
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rcx
cmp dword [0x00811460], 0
jne 0x594b87
mov qword [rax + 0x10], rdx
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
lea rdi, [rax + 0x10]
call fcn.0046ca40
jmp 0x594b77
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
mov qword [rsp], rsi
call fcn.0040b580
mov rax, qword [rsp + 8]
lea rcx, [0x00613700]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x40]
mov qword [rsp], rax
call fcn.0040b580
mov rax, qword [rsp + 8]
lea rcx, [0x00613700]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
lea rax, [0x00669028]
mov qword [rsp], rax
mov qword [rsp + 8], 0x41
lea rax, [rsp + 0x78]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 2
mov qword [rsp + 0x20], 2
call fcn.004d6e60
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0xa8]
mov qword [rdx], rcx
cmp dword [0x00811460], 0
jne 0x594c59
mov qword [rdx + 8], rax
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
lea rdi, [rdx + 8]
nop dword [rax]
call fcn.0046c920
jmp 0x594c49
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rdx
lea rax, [0x00614000]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbx
call fcn.0044dcc0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x60]
cmp qword [rcx], 0
je 0x594d3c
mov rax, qword [rcx + 0x38]
add rax, qword [rcx + 0x40]
mov rdx, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx + 0x20]
mov r8, qword [rsp + 0x48]
lea r9, [rax + r8]
nop dword [rax]
cmp rdx, r9
jb 0x595065
mov r10, rdx
sub rdx, r9
mov r11, r9
sub r9, rsi
sar r9, 0x3f
and r11, r9
lea r9, [r11 + rbx]
cmp r10, rax
jb 0x59505a
sub r10, rax
cmp rdx, r10
cmovg rdx, r10
mov r10, rax
sub rax, rsi
sar rax, 0x3f
and r10, rax
add rbx, r10
cmp r9, rbx
jne 0x594d1d
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x40]
mov rbx, r8
jmp 0x594adc
mov qword [rsp], r9
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
call fcn.0046d6c0
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
jmp 0x594d08
cmp qword [rcx + 0x30], 0
jne 0x595070
mov qword [rsp + 0x70], rax
mov rdx, qword [rcx + 0x18]
mov rbx, qword [rsp + 0x48]
add rdx, rbx
nop dword [rax + rax]
cmp rbx, rdx
jg 0x594eb0
cmp byte [rcx + 0x28], 0
je 0x594d8a
mov rdx, qword [rcx + 0x18]
add rdx, rbx
nop word [rax + rax]
nop
cmp qword [rcx + 0x20], rdx
jl 0x594e51
mov rdx, qword [rcx + 0x18]
lea rsi, [rbx + rdx]
mov qword [rsp + 0x58], rsi
mov rdi, qword [rcx + 0x20]
mov r8, qword [rcx + 0x10]
nop
cmp rsi, rdi
ja 0x594e0a
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x50], rdi
lea rcx, [r8 + rdx]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0046d6c0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x50]
mov qword [rcx + 0x20], rax
cmp dword [0x00811460], 0
jne 0x594df4
mov rdx, qword [rsp + 0x68]
mov qword [rcx + 0x10], rdx
jmp 0x594c9f
lea rdi, [rcx + 0x10]
mov rdx, qword [rsp + 0x68]
nop dword [rax]
call fcn.0046ca40
jmp 0x594c9f
mov qword [rsp + 0x50], rdx
lea rax, [0x00614000]
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
call fcn.0044ddc0
mov r8, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
jmp 0x594da5
lea rax, [0x00625ba0]
mov qword [rsp], rax
nop dword [rax]
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x36
lea rcx, [0x006683be]
mov qword [rax], rcx
lea rcx, [0x006a4760]
mov rdx, qword [rsp + 0x60]
mov qword [rdx], rcx
cmp dword [0x00811460], 0
jne 0x594ea5
mov qword [rdx + 8], rax
mov rcx, rdx
nop dword [rax + rax]
jmp 0x594c9f
lea rdi, [rdx + 8]
call fcn.0046c920
jmp 0x594e98
lea rax, [0x00625ba0]
mov qword [rsp], rax
nop dword [rax + rax]
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x1b
lea rcx, [0x00661853]
mov qword [rax], rcx
lea rcx, [0x006a4760]
mov rdx, qword [rsp + 0x60]
mov qword [rdx], rcx
cmp dword [0x00811460], 0
jne 0x594f0a
mov qword [rdx + 8], rax
mov rax, qword [rsp + 0x70]
mov rcx, rdx
mov rbx, qword [rsp + 0x48]
jmp 0x594d69
lea rdi, [rdx + 8]
call fcn.0046c920
jmp 0x594ef8
cmp rdx, 0xffff
jle 0x594f2d
mov esi, 0xffffff83
mov edi, 4
jmp 0x594ac0
cmp rdx, 0xff
jle 0x594f45
mov esi, 0xffffff82
mov edi, 3
jmp 0x594ac0
cmp rdx, 0x7f
jle 0x594f5a
mov esi, 0xffffff81
mov edi, 2
jmp 0x594ac0
mov rsi, rdx
mov edi, 1
xor edx, edx
jmp 0x594ac0
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x1c
lea rcx, [0x00661ff6]
mov qword [rax], rcx
lea rcx, [0x006a4760]
mov rdx, qword [rsp + 0xa8]
mov qword [rdx], rcx
cmp dword [0x00811460], 0
jne 0x594fbf
mov qword [rdx + 8], rax
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
lea rdi, [rdx + 8]
call fcn.0046c920
jmp 0x594faf
mov qword [rax], rdx
cmp dword [0x00811460], 0
jne 0x594fea
mov qword [rax + 8], rbx
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
lea rdi, [rax + 8]
call fcn.0046ca60
jmp 0x594fda
lea rdi, [rax + 0x30]
xor edx, edx
nop dword [rax + rax]
call fcn.0046ca40
jmp 0x594a35
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a1aa0]
mov qword [rsp + 8], rax
call fcn.00438920
xor eax, eax
mov rcx, rdx
nop dword [rax + rax]
call fcn.0046cdc0
xor eax, eax
mov rcx, rdx
call fcn.0046cdc0
mov rax, r10
mov rcx, r8
call fcn.0046cdc0
mov rcx, r10
nop dword [rax]
call fcn.0046ce80
mov rax, r9
mov rcx, rdx
call fcn.0046ce80
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a12a0]
mov qword [rsp + 8], rax
call fcn.00438920
mov rax, r9
mov rcx, r8
call fcn.0046cdc0
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a1a90]
mov qword [rsp + 8], rax
call fcn.00438920
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a1a90]
mov qword [rsp + 8], rax
call fcn.00438920
nop
call fcn.0046abe0
jmp fcn.005949c0