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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x78]
cmp rax, qword [rcx + 0x10]
jbe 0x5c03e6
sub rsp, 0xf8
mov qword [rsp + 0xf0], rbp
lea rbp, [rsp + 0xf0]
lea rax, [0x0064fbe0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x108]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x110]
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0x118]
mov qword [rsp + 0x10], rbx
lea rsi, [0x0060ad40]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rax
call fcn.005cf8a0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
cmp qword [rsp + 0x28], 0
nop dword [rax]
jne 0x5c039e
lea rax, [0x0063d760]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rsp + 0x58], rax
lea rdi, [rsp + 0x90]
xorps xmm0, xmm0
lea rdi, [rdi - 0x20]
nop word [rax + rax]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046d051
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x30]
mov rbx, qword [rcx + 0x38]
mov rsi, qword [rcx + 0x40]
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov rdx, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x20]
mov rsi, qword [rcx + 0x28]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rsi
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0xc0], rdx
mov rbx, qword [rsp + 0x110]
mov qword [rsp + 0xc8], rbx
mov rsi, qword [rsp + 0x118]
mov qword [rsp + 0xd0], rsi
mov rdi, qword [rcx + 0xa8]
mov r8, qword [rcx + 0xb0]
mov r9, qword [rcx + 0xb8]
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xe8], r9
cmp dword [0x00811460], 0
jne 0x5c0352
mov rdi, rax
mov r8, rsi
lea rsi, [rsp + 0x90]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046d3ac
mov rbp, qword [rbp]
mov rsi, qword [rcx + 0xc0]
mov r9, qword [rcx + 0x50]
nop
test r9, r9
jne 0x5c0345
mov r10, qword [rcx + 0xa8]
mov r11, qword [rcx + 0xb0]
mov r12, qword [rcx + 0xb8]
mov qword [rax + 0x38], r11
mov qword [rax + 0x40], r12
cmp dword [0x00811460], 0
jne 0x5c032d
mov qword [rax + 0x30], r10
mov qword [rax + 0x50], rbx
mov qword [rax + 0x58], r8
cmp dword [0x00811460], 0
jne 0x5c031a
mov qword [rax + 0x48], rdx
test r9, r9
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdx
sete byte [rsp]
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdx
call fcn.005bc040
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
test rbx, rbx
cmp dword [0x00811460], 0
jne 0x5c02fe
mov rsi, qword [rsp + 0x100]
mov qword [rsi + 0x120], rax
test rbx, rbx
jne 0x5c02de
mov rdx, qword [rsp + 0x40]
cmp byte [rdx + 0x100], 0
nop dword [rax]
je 0x5c02d7
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rdx + 0x18]
mov rbx, qword [rdx + 0x10]
test rcx, rcx
jbe 0x5c03dd
mov rdi, qword [rbx + 8]
mov rbx, qword [rbx]
mov r8, qword [rsp + 0x50]
mov rcx, qword [r8 + 0x18]
mov r9, qword [r8 + 0x10]
test rcx, rcx
jbe 0x5c03d6
mov r10, qword [r9]
nop dword [rax]
cmp qword [r9 + 8], rdi
je 0x5c02a5
mov eax, 1
test al, al
je 0x5c022f
mov eax, 1
nop dword [rax]
test al, al
jne 0x5c01dd
mov rax, qword [rsi + 0x120]
mov rcx, qword [0x007cb748]
mov rdx, qword [rax]
mov rax, qword [rax + 8]
lea rbx, [0x0061d140]
mov qword [rsp], rbx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rax
call fcn.00414100
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
cmp byte [rsp + 0x28], 0
je 0x5c013c
mov rdx, qword [rsp + 0x100]
cmp qword [rdx + 0x50], 0
jle 0x5c00ff
mov rbx, qword [rdx + 0x120]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.005c0400
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
nop
test rcx, rcx
jne 0x5c00df
mov rcx, qword [rsp + 0x100]
cmp qword [rcx + 0x148], 0
je 0x5c009f
mov rdx, qword [rcx + 0x148]
mov rbx, qword [rcx + 0x150]
mov rsi, qword [rcx + 0x158]
mov qword [rax + 0x70], rbx
mov qword [rax + 0x78], rsi
cmp dword [0x00811460], 0
jne 0x5c0091
mov qword [rax + 0x68], rdx
mov rdx, qword [rcx]
mov rbx, qword [rcx + 8]
mov rdx, qword [rdx + 0x20]
mov rsi, qword [rcx + 0x120]
mov qword [rsp], rbx
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rax
call rdx
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x18], 0
nop
jne 0x5c0071
lea rax, [0x00615240]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov byte [rax], 0x15
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx]
mov rbx, qword [rcx + 8]
mov rdx, qword [rdx + 0x30]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 1
mov qword [rsp + 0x18], 1
call rdx
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
cmp qword [rsp + 0x20], 0
nop
jne 0x5c0051
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov rcx, qword [rcx + 0x28]
mov qword [rsp], rax
call rcx
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
cmp qword [rsp + 0x20], 0
jne 0x5c0031
nop
test rbx, rbx
jbe 0x5c03be
movzx eax, byte [rdx]
cmp al, 0x15
je 0x5c0016
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
lea rcx, [0x00614000]
mov qword [rsp + 0x70], rcx
lea rdx, [0x007b3ae0]
lea rax, [rdx + rax*8]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rcx
lea rax, [0x007b3b88]
mov qword [rsp + 0x88], rax
lea rax, [0x006670cc]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2d
lea rax, [rsp + 0x70]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 2
mov qword [rsp + 0x20], 2
call fcn.004d6e60
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
lea rdi, [rax + 0x68]
call fcn.0046ca40
jmp 0x5bfe8d
mov rdx, qword [rax]
mov rbx, qword [rax + 8]
mov rsi, qword [rax + 0x10]
mov qword [rcx + 0x150], rbx
mov qword [rcx + 0x158], rsi
cmp dword [0x00811460], 0
nop
jne 0x5c00ce
mov qword [rcx + 0x148], rdx
jmp 0x5bfe5f
lea rdi, [rcx + 0x148]
call fcn.0046ca40
jmp 0x5bfe5f
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rdx
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
mov rbx, qword [rdx + 0x120]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.005c0640
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
jmp 0x5bfe40
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x120]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
lea rax, [0x00666371]
mov qword [rsp], rax
mov qword [rsp + 8], 0x29
lea rax, [rsp + 0x60]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call fcn.004d6e60
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov rax, qword [rax + 0x28]
mov qword [rsp], rcx
call rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
cmp qword [rsp + 0x20], 0
nop
jne 0x5c020f
mov rsi, qword [rsp + 0x100]
jmp 0x5bfda8
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
mov rcx, qword [rdx + 0x30]
mov rdx, qword [rdx + 0x28]
nop word [rax + rax]
test rcx, rcx
jbe 0x5c03cf
mov rbx, qword [rdx + 8]
mov rdx, qword [rdx]
mov rcx, qword [r8 + 0x30]
mov rdi, qword [r8 + 0x28]
nop dword [rax + rax]
test rcx, rcx
jbe 0x5c03c8
mov rax, qword [rdi]
cmp qword [rdi + 8], rbx
je 0x5c027c
mov eax, 1
jmp 0x5bfda0
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00402a40
movzx eax, byte [rsp + 0x18]
xor eax, 1
mov rsi, qword [rsp + 0x100]
nop
jmp 0x5bfda0
mov qword [rsp], rbx
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rdi
call fcn.00402a40
movzx eax, byte [rsp + 0x18]
xor eax, 1
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x100]
mov r8, qword [rsp + 0x50]
jmp 0x5bfd8f
xor eax, eax
jmp 0x5bfda0
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rdx
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
mov rsi, qword [rsp + 0x100]
lea rdi, [rsi + 0x120]
call fcn.0046c920
test rbx, rbx
jmp 0x5bfd2b
lea rdi, [rax + 0x48]
nop
call fcn.0046ca40
test r9, r9
jmp 0x5bfcd3
lea rdi, [rax + 0x30]
mov r11, rcx
mov rcx, r10
call fcn.0046ca20
mov rcx, r11
nop
jmp 0x5bfcb7
mov rdx, rsi
mov rsi, qword [rsp + 0x40]
jmp 0x5bfcd8
lea rcx, [0x0063d760]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x10], rcx
call fcn.00415320
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov r8, qword [rsp + 0x118]
jmp 0x5bfc73
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
xor eax, eax
mov rcx, rbx
call fcn.0046cdc0
xor eax, eax
call fcn.0046cdc0
xor eax, eax
call fcn.0046cdc0
xor eax, eax
call fcn.0046cdc0
xor eax, eax
nop
call fcn.0046cdc0
nop
call fcn.0046abe0
jmp fcn.005bfaa0