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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x68]
cmp rax, qword [rcx + 0x10]
jbe 0x524b28
sub rsp, 0xe8
mov qword [rsp + 0xe0], rbp
lea rbp, [rsp + 0xe0]
lea rax, [0x0066f480]
mov qword [rsp], rax
mov qword [rsp + 8], 0x11e
mov qword [rsp + 0x10], 0x11e
call fcn.0043e630
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x68], rdx
lea rbx, [0x0066f480]
mov qword [rsp], rbx
mov qword [rsp + 8], 0x1e
mov qword [rsp + 0x10], 0x1e
call fcn.0043e630
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x60], rcx
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x58], rdx
lea rbx, [0x0066fcc0]
mov qword [rsp], rbx
mov qword [rsp + 8], 0x13d
mov qword [rsp + 0x10], 0x13d
call fcn.0043e630
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x48], rdx
lea rbx, [0x00693260]
mov qword [rsp], rbx
mov qword [rsp + 8], 0x11e
mov qword [rsp + 0x10], 0x11e
call fcn.0043e630
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0x18]
mov qword [rsp + 0xb0], rdx
lea rbx, [0x006ac060]
mov qword [rsp], rbx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x38]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x10], rcx
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x524b05
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
lea rcx, [0x00693260]
mov qword [rsp], rcx
mov qword [rsp + 8], 0x13
mov qword [rsp + 0x10], 0x13
call fcn.0043e630
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x38], rdx
lea rbx, [0x006ac060]
mov qword [rsp], rbx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x38]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x10], rcx
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x524ae2
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
lea rcx, [0x00693260]
mov qword [rsp], rcx
mov qword [rsp + 8], 0x1e
mov qword [rsp + 0x10], 0x1e
call fcn.0043e630
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0x18]
mov qword [rsp + 0xb0], rdx
lea rbx, [0x006ac060]
mov qword [rsp], rbx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x38]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x10], rcx
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x524abf
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
lea rcx, [0x006c1e20]
mov qword [rsp], rcx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xf8]
mov qword [rax], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 8]
test ecx, ecx
jne 0x524a9c
mov rcx, qword [rsp + 0x100]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x178], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x180], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x170]
test ecx, ecx
jne 0x524a79
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 0x170], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x190], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x198], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x188]
test ecx, ecx
jne 0x524a56
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 0x188], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x1a8], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x1b0], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x1a0]
test ecx, ecx
jne 0x524a33
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x1a0], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x1b8]
test ecx, ecx
jne 0x524a10
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x1b8], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x1c8]
test ecx, ecx
jne 0x5249ed
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0x1c8], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x1c0]
test ecx, ecx
jne 0x5249ca
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x1c0], rcx
mov rdi, qword [rsp + 0xf0]
test byte [rdi], al
mov ecx, dword [0x008b4340]
lea rdx, [rdi + 0x30]
test ecx, ecx
jne 0x5249af
mov qword [rdi + 0x30], rax
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x5248c5
cmp rax, 0xfffffffffffffffe
je 0x5247db
cmp rax, 1
jne 0x5244df
mov rcx, qword [0x0088f1e8]
mov rdx, qword [0x0088f1e0]
cmp rax, rcx
jae 0x5244d8
lea rax, [rax + rax*2]
shl rax, 4
lea rsi, [rdx + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004551b6
mov rbp, qword [rbp]
lea rax, [0x0066fcc0]
mov qword [rsp], rax
mov qword [rsp + 8], 0xffff
mov qword [rsp + 0x10], 0xffff
call fcn.0043e630
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0xf0]
mov qword [rbx + 0xa0080], rcx
mov qword [rbx + 0xa0088], rax
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0xa0078]
test eax, eax
jne 0x5244bd
mov qword [rbx + 0xa0078], rdx
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x40]
test eax, eax
jne 0x52449b
lea rax, [0x006dff80]
mov qword [rbx + 0x40], rax
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x48]
test eax, eax
jne 0x524479
lea rax, [0x006dff70]
mov qword [rbx + 0x48], rax
lea rax, [0x0066fcc0]
mov qword [rsp], rax
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], 0xffff
call fcn.0043e630
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x18]
mov qword [rsp + 0xa8], rdx
lea rbx, [0x0069d8a0]
mov qword [rsp], rbx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa0], rax
mov dword [rax + 0x20018], 0xffff
test byte [rax], al
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x20008], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x20010], rcx
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x20000]
test ecx, ecx
jne 0x524456
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 0x20000], rcx
mov ecx, dword [0x008b4340]
mov rdx, qword [rsp + 0xf0]
lea rbx, [rdx + 0x58]
test ecx, ecx
jne 0x52443b
mov qword [rdx + 0x58], rax
lea rax, [0x006897a0]
mov qword [rsp], rax
mov qword [rsp + 8], 0xffff
mov qword [rsp + 0x10], 0xffff
call fcn.0043e630
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0xf0]
mov qword [rbx + 0xa00b0], rax
mov qword [rbx + 0xa00b8], rdx
mov eax, dword [0x008b4340]
lea rdx, [rbx + 0xa00a8]
test eax, eax
jne 0x52442b
mov qword [rbx + 0xa00a8], rcx
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
call fcn.00410240
jmp 0x524403
mov qword [rsp], rbx
mov qword [rsp + 8], rax
call fcn.00410240
mov rdx, qword [rsp + 0xf0]
jmp 0x5243a4
mov qword [rsp], rdx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xa0]
jmp 0x524386
mov qword [rsp], rcx
lea rax, [0x006dff70]
mov qword [rsp + 8], rax
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x5242de
mov qword [rsp], rcx
lea rax, [0x006dff80]
mov qword [rsp + 8], rax
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x5242c1
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x5242a4
call fcn.004293e0
ud2
cmp rax, 0xffffffffffffffff
jne 0x524719
mov rax, 6
mov rcx, qword [0x0088f1e8]
mov rdx, qword [0x0088f1e0]
cmp rax, rcx
jae 0x524712
lea rax, [rax + rax*2]
shl rax, 4
lea rsi, [rdx + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004551b6
mov rbp, qword [rbp]
lea rax, [0x0066fcc0]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10000
mov qword [rsp + 0x10], 0x10000
call fcn.0043e630
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0xf0]
mov qword [rbx + 0xa0080], rax
mov qword [rbx + 0xa0088], rcx
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0xa0078]
test eax, eax
jne 0x5246f7
mov qword [rbx + 0xa0078], rdx
mov qword [rbx + 0xa0068], 1
lea rax, [0x006897a0]
mov qword [rsp], rax
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], 0x4001
call fcn.0043e630
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0xf0]
mov qword [rbx + 0xa00b0], rcx
mov qword [rbx + 0xa00b8], rax
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0xa00a8]
test eax, eax
jne 0x5246dc
mov qword [rbx + 0xa00a8], rdx
mov qword [rbx + 0xa00c0], 3
mov qword [rbx + 0xa00c8], 0
mov byte [rbx + 0xa00a0], 0
mov qword [rbx + 0xa0070], 0
mov dword [rbx + 0xa00d0], 0
mov qword [rbx + 0x60], 0xffffffffffffffff
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x38]
test eax, eax
jne 0x5246ba
lea rax, [0x006dffb0]
mov qword [rbx + 0x38], rax
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x40]
test eax, eax
jne 0x52469b
lea rax, [0x006dff78]
mov qword [rbx + 0x40], rax
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x48]
test eax, eax
jne 0x524681
lea rax, [0x006dff68]
mov qword [rbx + 0x48], rax
jmp 0x524403
mov qword [rsp], rcx
lea rax, [0x006dff68]
mov qword [rsp + 8], rax
call fcn.00410240
jmp 0x524403
mov qword [rsp], rcx
lea rax, [0x006dff78]
mov qword [rsp + 8], rax
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x524663
mov qword [rsp], rcx
lea rax, [0x006dffb0]
mov qword [rsp + 8], rax
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x52464a
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x5245f7
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x524589
call fcn.004293e0
ud2
lea rcx, [rax - 2]
cmp rcx, 7
ja 0x524728
jmp 0x5244f0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
lea rax, [0x0066f400]
mov qword [rsp], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 8], rax
call fcn.0040ccd0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
lea rax, [0x006de93d]
mov qword [rsp], rax
mov qword [rsp + 8], 0x40
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call fcn.004b0de0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
lea rax, [0x0066fcc0]
mov qword [rsp], rax
mov qword [rsp + 8], 0xffff
mov qword [rsp + 0x10], 0xffff
call fcn.0043e630
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0xf0]
mov qword [rbx + 0xa0080], rcx
mov qword [rbx + 0xa0088], rax
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0xa0078]
test eax, eax
jne 0x5248aa
mov qword [rbx + 0xa0078], rdx
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x40]
test eax, eax
jne 0x52488b
lea rax, [0x006dff80]
mov qword [rbx + 0x40], rax
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x48]
test eax, eax
jne 0x524871
lea rax, [0x006dff88]
mov qword [rbx + 0x48], rax
jmp 0x524403
mov qword [rsp], rcx
lea rax, [0x006dff88]
mov qword [rsp + 8], rax
call fcn.00410240
jmp 0x524403
mov qword [rsp], rcx
lea rax, [0x006dff80]
mov qword [rsp + 8], rax
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x524853
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x52483a
lea rax, [0x0066fcc0]
mov qword [rsp], rax
mov qword [rsp + 8], 0xffff
mov qword [rsp + 0x10], 0xffff
call fcn.0043e630
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0xf0]
mov qword [rbx + 0xa0080], rax
mov qword [rbx + 0xa0088], rdx
mov eax, dword [0x008b4340]
lea rdx, [rbx + 0xa0078]
test eax, eax
jne 0x524994
mov qword [rbx + 0xa0078], rcx
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x40]
test eax, eax
jne 0x524975
lea rax, [0x006dff80]
mov qword [rbx + 0x40], rax
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x48]
test eax, eax
jne 0x52495b
lea rax, [0x006dff90]
mov qword [rbx + 0x48], rax
jmp 0x524403
mov qword [rsp], rcx
lea rax, [0x006dff90]
mov qword [rsp + 8], rax
call fcn.00410240
jmp 0x524403
mov qword [rsp], rcx
lea rax, [0x006dff80]
mov qword [rsp + 8], rax
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x52493d
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
call fcn.00410240
mov rbx, qword [rsp + 0xf0]
jmp 0x524924
mov qword [rsp], rdx
mov qword [rsp + 8], rax
call fcn.00410240
mov rdi, qword [rsp + 0xf0]
jmp 0x5241e6
mov qword [rsp], rdx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x90]
jmp 0x5241c6
mov qword [rsp], rdx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x90]
jmp 0x5241a2
mov qword [rsp], rdx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x90]
jmp 0x52417e
mov qword [rsp], rdx
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x90]
jmp 0x52415a
mov qword [rsp], rdx
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x90]
jmp 0x52411e
mov qword [rsp], rdx
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x90]
jmp 0x5240e2
mov qword [rsp], rdx
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x90]
jmp 0x5240a6
mov qword [rsp], rax
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x88]
jmp 0x524060
mov qword [rsp], rax
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x98]
jmp 0x523fd5
mov qword [rsp], rax
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x80]
jmp 0x523f4a
call fcn.00452210
jmp fcn.00523dc0