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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x298]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x5a8f28
sub rsp, 0x318
mov qword [rsp + 0x310], rbp
lea rbp, [rsp + 0x310]
mov rax, qword [rsp + 0x340]
cmp rax, 0x40
jne 0x5a8ead
nop
mov qword [rsp + 0x238], 0
lea rdi, [rsp + 0x240]
xorps xmm0, xmm0
lea rdi, [rdi - 0x30]
nop word [rax + rax]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046d02f
mov rbp, qword [rbp]
mov qword [rsp + 0x308], 7
lea rax, [rsp + 0x238]
mov qword [rsp], rax
call fcn.005712e0
lea rax, [rsp + 0x238]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x338]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 0x20
mov rdx, qword [rsp + 0x348]
mov qword [rsp + 0x18], rdx
nop
call fcn.00572060
xorps xmm1, xmm1
movups xmmword [rsp + 0x158], xmm1
movups xmmword [rsp + 0x168], xmm1
movups xmmword [rsp + 0x178], xmm1
movups xmmword [rsp + 0x188], xmm1
movups xmmword [rsp + 0xd8], xmm1
movups xmmword [rsp + 0xe8], xmm1
movups xmmword [rsp + 0xf8], xmm1
movups xmmword [rsp + 0x108], xmm1
movups xmmword [rsp + 0x118], xmm1
movups xmmword [rsp + 0x128], xmm1
movups xmmword [rsp + 0x138], xmm1
movups xmmword [rsp + 0x148], xmm1
movups xmmword [rsp + 0x98], xmm1
movups xmmword [rsp + 0xa8], xmm1
lea rax, [rsp + 0x238]
mov qword [rsp], rax
lea rcx, [rsp + 0x158]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 0
mov qword [rsp + 0x18], 0x40
call fcn.005722e0
movups xmm1, xmmword [rsp + 0x158]
movups xmmword [rsp + 0x98], xmm1
movups xmm1, xmmword [rsp + 0x168]
movups xmmword [rsp + 0xa8], xmm1
movzx eax, byte [rsp + 0x98]
and eax, 0xfffffff8
mov byte [rsp + 0x98], al
movzx eax, byte [rsp + 0xb7]
and eax, 0x3f
mov byte [rsp + 0xb7], al
or eax, 0x40
mov byte [rsp + 0xb7], al
lea rax, [rsp + 0x238]
mov qword [rsp], rax
call fcn.005712e0
lea rax, [rsp + 0x238]
mov qword [rsp], rax
lea rcx, [rsp + 0x178]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 0x20
mov qword [rsp + 0x18], 0x20
call fcn.00572060
lea rax, [rsp + 0x238]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x350]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0x358]
mov qword [rsp + 0x10], rdx
mov rbx, qword [rsp + 0x360]
mov qword [rsp + 0x18], rbx
call fcn.00572060
lea rax, [rsp + 0x238]
mov qword [rsp], rax
lea rcx, [rsp + 0xd8]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 0
mov qword [rsp + 0x18], 0x40
call fcn.005722e0
xorps xmm1, xmm1
movups xmmword [rsp + 0x58], xmm1
movups xmmword [rsp + 0x68], xmm1
lea rax, [rsp + 0x58]
mov qword [rsp], rax
lea rcx, [rsp + 0xd8]
mov qword [rsp + 8], rcx
call fcn.005a7600
lea rdi, [rsp + 0x198]
xorps xmm0, xmm0
lea rdi, [rdi - 0x20]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046d03e
mov rbp, qword [rbp]
lea rax, [rsp + 0x198]
mov qword [rsp], rax
lea rcx, [rsp + 0x58]
mov qword [rsp + 8], rcx
call fcn.005a5440
xorps xmm1, xmm1
movups xmmword [rsp + 0xb8], xmm1
movups xmmword [rsp + 0xc8], xmm1
lea rax, [rsp + 0x198]
mov qword [rsp], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 8], rax
call fcn.005a3a00
lea rax, [rsp + 0x238]
mov qword [rsp], rax
call fcn.005712e0
lea rax, [rsp + 0x238]
mov qword [rsp], rax
lea rcx, [rsp + 0xb8]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 0x20
mov qword [rsp + 0x18], 0x20
nop dword [rax + rax]
call fcn.00572060
lea rax, [rsp + 0x238]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x338]
add rcx, 0x20
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x340]
add rcx, 0xffffffffffffffe0
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x348]
add rcx, 0xffffffffffffffe0
mov qword [rsp + 0x18], rcx
call fcn.00572060
lea rax, [rsp + 0x238]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x350]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x358]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x360]
mov qword [rsp + 0x18], rcx
nop dword [rax]
call fcn.00572060
lea rax, [rsp + 0x238]
mov qword [rsp], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0
mov qword [rsp + 0x18], 0x40
call fcn.005722e0
xorps xmm1, xmm1
movups xmmword [rsp + 0x78], xmm1
movups xmmword [rsp + 0x88], xmm1
lea rax, [rsp + 0x78]
mov qword [rsp], rax
lea rcx, [rsp + 0x118]
mov qword [rsp + 8], rcx
nop dword [rax + rax]
call fcn.005a7600
xorps xmm1, xmm1
movups xmmword [rsp + 0x38], xmm1
movups xmmword [rsp + 0x48], xmm1
lea rax, [rsp + 0x38]
mov qword [rsp], rax
lea rcx, [rsp + 0x78]
mov qword [rsp + 8], rcx
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x10], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x18], rcx
nop dword [rax]
call fcn.005a5900
mov rcx, qword [rsp + 0x328]
cmp rcx, 0x20
mov eax, 0x20
mov rdx, rcx
cmovg rcx, rax
mov rbx, qword [rsp + 0x320]
lea rsi, [rsp + 0xb8]
cmp rbx, rsi
jne 0x5a8e71
cmp rdx, 0x20
jb 0x5a8ea5
lea rcx, [rdx - 0x20]
cmp rcx, 0x20
cmovg rcx, rax
mov rax, qword [rsp + 0x330]
add rax, 0xffffffffffffffe0
neg rax
sar rax, 0x3f
and rax, 0x20
add rax, rbx
lea rdx, [rsp + 0x38]
cmp rax, rdx
jne 0x5a8e5c
mov rbp, qword [rsp + 0x310]
add rsp, 0x318
ret
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.0046d6c0
jmp 0x5a8e4c
mov qword [rsp], rbx
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rcx
nop
call fcn.0046d6c0
mov rdx, qword [rsp + 0x328]
cmp rdx, 0x20
mov eax, 0x20
mov rbx, qword [rsp + 0x320]
nop
jmp 0x5a8e16
mov rcx, rdx
call fcn.0046ce80
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.0047fda0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp], 0
lea rdx, [0x00663b5a]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x21
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
call fcn.00451e60
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00438920
nop
call fcn.0046abe0
jmp fcn.005a8960