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

Disassembly:
lea r12, [rsp - 0x170]
cmp r12, qword [r14 + 0x10]
jbe 0x5fe90f
sub rsp, 0x1f0
mov qword [rsp + 0x1e8], rbp
lea rbp, [rsp + 0x1e8]
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x220], r8
mov qword [rsp + 0xe0], rax
test rbx, rbx
je 0x5fe8ba
cmp qword [rax + 0x10], 0
je 0x5fe862
cmp qword [rax + 0xc8], 0
je 0x5fde3c
nop
mov rcx, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
test rcx, rcx
je 0x5fddfb
mov rcx, qword [rcx + 0x18]
call rcx
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x38
lea rcx, [0x0072f790]
mov qword [rax], rcx
lea rbx, [0x0079ce48]
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x60], rsi
cmp qword [rax + 0x38], 0
jne 0x5fdf45
nop
cmp rax, rax
jne 0x5fdef4
lea rax, [0x0070ff80]
nop
call fcn.0040daa0
mov qword [rsp + 0xe0], rax
cmp dword [0x00a04ed0], 0
jne 0x5fded5
mov rsi, qword [rsp + 0x1f8]
mov rcx, qword [rsi]
mov qword [rax], rcx
lea rdi, [rax + 8]
lea rax, [rsi + 8]
mov rcx, rsi
mov rsi, rax
nop word [rax + rax]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046646e
mov rbp, qword [rbp]
jmp 0x5fdef4
mov rbx, rax
mov rcx, qword [rsp + 0x1f8]
lea rax, [0x0070ff80]
call fcn.00413f80
mov rcx, qword [rsp + 0x1f8]
call fcn.0040e5e0
mov rdi, qword [rsp + 0xe0]
test byte [rdi], al
cmp dword [0x00a04ed0], 0
jne 0x5fdf12
mov qword [rdi + 0x38], rax
jmp 0x5fdf1b
add rdi, 0x38
call fcn.00465a20
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x110]
mov rdx, qword [rsp + 0xe0]
mov r9, qword [rdx + 0x10]
mov r9, qword [r9 + 0x20]
test r9, r9
jne 0x5fdf5e
xor edx, edx
jmp 0x5fdfb3
mov qword [rsp + 0xd0], r9
mov rax, qword [rdx + 0x38]
lea rbx, [0x0071c91c]
mov ecx, 0xd
call fcn.005dc760
test rbx, rbx
sete dl
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0xd0]
test dl, dl
je 0x5fe226
nop dword [rax + rax]
test r9, r9
je 0x5fdfce
mov rdx, qword [r9]
mov r10, qword [r9 + 8]
jmp 0x5fdfd9
mov r10d, 0
mov edx, 0
je 0x5fdfe5
mov r11, qword [r9 + 0x10]
mov r9, qword [r9 + 0x18]
jmp 0x5fdfeb
xor r9d, r9d
xor r11d, r11d
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0x40], r10
mov qword [rsp + 0xb0], r11
mov qword [rsp + 0x38], r9
nop
cmp qword [rsp + 0xe0], rax
jne 0x5fe07d
lea rax, [0x0070ff80]
call fcn.0040daa0
mov qword [rsp + 0xe0], rax
cmp dword [0x00a04ed0], 0
jne 0x5fe05e
mov rsi, qword [rsp + 0x1f8]
mov rcx, qword [rsi]
mov qword [rax], rcx
lea rcx, [rsi + 8]
lea rdi, [rax + 8]
mov rax, rsi
mov rsi, rcx
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046646e
mov rbp, qword [rbp]
jmp 0x5fe07d
mov rbx, rax
mov rcx, qword [rsp + 0x1f8]
lea rax, [0x0070ff80]
call fcn.00413f80
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rax + 0x38]
mov rax, rcx
call fcn.00601740
mov rdi, qword [rsp + 0xe0]
test byte [rdi], al
cmp dword [0x00a04ed0], 0
jne 0x5fe0a2
mov qword [rdi + 0x38], rax
jmp 0x5fe0ab
add rdi, 0x38
call fcn.00465a20
lea rax, [rsp + 0x90]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x40]
lea rdi, [0x007eeb98]
mov esi, 1
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x38]
call fcn.0044e900
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x70]
call fcn.0044ee00
mov rdx, qword [0x009ad3a0]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.0054c620
mov rdx, qword [rsp + 0xe0]
mov rdx, qword [rdx + 0x38]
mov qword [rsp + 0xe8], rdx
mov ecx, 6
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x00719ffc]
call fcn.0044e860
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x48], rbx
nop
lea rax, [0x0071c91c]
mov ebx, 0xd
call fcn.005ddf00
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x58], rbx
lea rax, [0x006bcfc0]
call fcn.0040daa0
mov qword [rsp + 0x100], rax
mov rdx, qword [rsp + 0x48]
mov qword [rax + 8], rdx
cmp dword [0x00a04ed0], 0
jne 0x5fe192
mov rdx, qword [rsp + 0xc8]
mov qword [rax], rdx
jmp 0x5fe1a5
mov rdi, rax
mov rdx, qword [rsp + 0xc8]
nop dword [rax]
call fcn.00465b40
lea rax, [0x006f5d80]
mov rbx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x58]
call fcn.00413320
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
cmp dword [0x00a04ed0], 0
jne 0x5fe1ec
mov rdx, qword [rsp + 0x100]
mov qword [rax], rdx
jmp 0x5fe1fc
mov rdi, rax
mov rdx, qword [rsp + 0x100]
call fcn.00465b40
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x110]
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], r8
mov rdx, qword [rsp + 0x160]
bt rdx, 0x3f
jae 0x5fe266
mov r9, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r10, 0xdd7b17f80
add rdx, r10
jmp 0x5fe276
mov r9, rdx
movabs r10, 0xdd7b17f80
mov rdx, rsi
test rdx, rdx
jne 0x5fe28b
and r9d, 0x3fffffff
test r9d, r9d
je 0x5fe338
nop
cmp qword [rsp + 0xe0], rax
jne 0x5fe338
lea rax, [0x0070ff80]
call fcn.0040daa0
mov qword [rsp + 0xe0], rax
cmp dword [0x00a04ed0], 0
jne 0x5fe2f5
mov rsi, qword [rsp + 0x1f8]
mov rdx, qword [rsi]
mov qword [rax], rdx
add rsi, 8
lea rdi, [rax + 8]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046646e
mov rbp, qword [rbp]
jmp 0x5fe30c
mov rbx, rax
mov rcx, qword [rsp + 0x1f8]
lea rax, [0x0070ff80]
call fcn.00413f80
mov rcx, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x110]
movabs r10, 0xdd7b17f80
mov rax, qword [rsp + 0xe0]
call fcn.005feb60
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xf8], rbx
mov rdx, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x200]
mov r10, qword [r9 + 0x18]
mov rax, qword [rsp + 0x208]
mov rbx, rdx
call r10
mov qword [rsp + 0xf0], rax
nop
test rbx, rbx
jne 0x5fe72e
test rax, rax
je 0x5fe6b6
cmp qword [rax + 0x40], 0
je 0x5fe3a5
mov rdi, rax
nop dword [rax]
jmp 0x5fe57e
cmp qword [rax + 0x50], 0
jle 0x5fe47e
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rcx]
cmp qword [rcx + 8], 4
je 0x5fe3cf
mov rcx, qword [rsp + 0x200]
test rcx, rcx
jmp 0x5fe3e6
cmp dword [rdx], 0x44414548
je 0x5fe47e
mov rcx, qword [rsp + 0x200]
test rcx, rcx
movups xmmword [rsp + 0x178], xmm15
movups xmmword [rsp + 0x188], xmm15
je 0x5fe402
mov rbx, qword [rcx + 8]
nop
jmp 0x5fe405
mov rbx, rcx
mov qword [rsp + 0x178], rbx
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 0x180], rcx
mov rax, qword [rax + 0x50]
call fcn.0040b080
lea rcx, [0x006bad40]
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rax
lea rax, [0x00732b6f]
mov ebx, 0x61
lea rcx, [rsp + 0x178]
mov edi, 2
mov rsi, rdi
call fcn.004c2160
mov rcx, rax
mov rdi, rbx
xor eax, eax
mov rbx, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
lea rax, [0x006ef180]
call fcn.0040daa0
mov qword [rsp + 0xc0], rax
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xffffffffffffffff
lea rbx, [0x007f20c0]
mov rcx, rax
lea rax, [0x006d4180]
call fcn.0040b3a0
nop
test rax, rax
je 0x5fe50e
movups xmmword [rsp + 0x128], xmm15
lea rcx, [0x007f20c0]
mov qword [rsp + 0x128], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x130], rcx
lea rax, [0x006ecfc0]
lea rbx, [rsp + 0x128]
nop dword [rax]
call fcn.0040ae80
lea rcx, [0x007f37f0]
jmp 0x5fe551
movups xmmword [rsp + 0x118], xmm15
lea rcx, [0x007f20c0]
mov qword [rsp + 0x118], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rcx
lea rax, [0x006e8680]
lea rbx, [rsp + 0x118]
call fcn.0040ae80
lea rcx, [0x007f37c8]
mov rdi, qword [rsp + 0xf0]
mov qword [rdi + 0x40], rcx
cmp dword [0x00a04ed0], 0
jne 0x5fe56c
mov qword [rdi + 0x48], rax
jmp 0x5fe57e
lea rdx, [rdi + 0x48]
mov rcx, rdi
mov rdi, rdx
call fcn.00465a20
mov rdi, rcx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x148], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x150], rdx
mov rsi, qword [rsp + 0x110]
mov qword [rsp + 0x158], rsi
mov rsi, qword [rsp + 0x148]
bt rsi, 0x3f
jae 0x5fe5d0
mov rdx, rsi
shl rsi, 1
shr rsi, 0x1f
movabs r8, 0xdd7b17f80
add rsi, r8
jmp 0x5fe5d8
mov rdx, rsi
mov rsi, qword [rsp + 0x60]
test rsi, rsi
jne 0x5fe5eb
and edx, 0x3fffffff
test edx, edx
je 0x5fe69d
lea rax, [0x006ed680]
call fcn.0040daa0
cmp dword [0x00a04ed0], 0
nop
jne 0x5fe60f
mov rdx, qword [rsp + 0xd8]
mov qword [rax], rdx
jmp 0x5fe61f
mov rdi, rax
mov rdx, qword [rsp + 0xd8]
call fcn.00465b40
mov rdi, qword [rsp + 0xf0]
mov rdx, qword [rdi + 0x48]
mov rsi, qword [rdi + 0x40]
mov qword [rax + 8], rsi
cmp dword [0x00a04ed0], 0
jne 0x5fe64e
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0xf8]
mov qword [rax + 0x18], rdx
jmp 0x5fe671
lea rsi, [rax + 0x10]
mov rcx, rdi
mov rdi, rsi
call fcn.00465b40
lea rdi, [rax + 0x18]
mov rdx, qword [rsp + 0xf8]
call fcn.00465b40
mov rdi, rcx
lea rdx, [0x007f31b0]
mov qword [rdi + 0x40], rdx
cmp dword [0x00a04ed0], 0
jne 0x5fe68b
mov qword [rdi + 0x48], rax
jmp 0x5fe69d
lea rdx, [rdi + 0x48]
mov rcx, rdi
mov rdi, rdx
call fcn.00465a20
mov rdi, rcx
mov rax, rdi
xor ebx, ebx
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
movups xmmword [rsp + 0x138], xmm15
mov rdx, qword [rsp + 0x200]
test rdx, rdx
je 0x5fe6d2
mov rbx, qword [rdx + 8]
jmp 0x5fe6d5
mov rbx, rdx
mov qword [rsp + 0x138], rbx
mov rdx, qword [rsp + 0x208]
mov qword [rsp + 0x140], rdx
lea rax, [0x0073183c]
mov ebx, 0x50
lea rcx, [rsp + 0x138]
mov edi, 1
mov rsi, rdi
call fcn.004c2160
mov rcx, rax
mov rdi, rbx
xor eax, eax
mov rbx, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x50], rbx
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x5fe76d
lea rax, [0x0072fc3c]
mov ebx, 0x3b
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.004cde40
mov rdx, qword [rsp + 0x50]
lea rsi, [0x007f22e0]
cmp rdx, rsi
jne 0x5fe7ab
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsi]
mov qword [rsp + 0x1c0], r8
movups xmm0, xmmword [rsi + 8]
movups xmmword [rsp + 0x1c8], xmm0
movups xmm0, xmmword [rsi + 0x18]
movups xmmword [rsp + 0x1d8], xmm0
jmp 0x5fe7ce
movups xmmword [rsp + 0x1c0], xmm15
movups xmmword [rsp + 0x1c8], xmm15
movups xmmword [rsp + 0x1d8], xmm15
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x1c0]
mov qword [rsp + 0x198], r8
movups xmm0, xmmword [rsp + 0x1c8]
movups xmmword [rsp + 0x1a0], xmm0
movups xmm0, xmmword [rsp + 0x1d8]
movups xmmword [rsp + 0x1b0], xmm0
nop
jne 0x5fe842
cmp dword [rsp + 0x1a8], 0x50545448
jne 0x5fe842
cmp byte [rsp + 0x1ac], 0x2f
jne 0x5fe842
nop
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x2f
lea rcx, [0x0072d42e]
mov qword [rax], rcx
lea rdx, [0x007f1c00]
mov rsi, rax
xor eax, eax
mov rbx, qword [rsp + 0xf8]
mov rcx, rdx
mov rdi, rsi
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
nop
mov rcx, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
test rcx, rcx
je 0x5fe876
mov rcx, qword [rcx + 0x18]
call rcx
lea rax, [0x006d8800]
nop dword [rax]
call fcn.0040daa0
mov qword [rax + 8], 0x15
lea rcx, [0x00720da1]
mov qword [rax], rcx
lea rbx, [0x0079ce48]
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
nop
mov rcx, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
test rcx, rcx
je 0x5fe8ce
mov rcx, qword [rcx + 0x18]
call rcx
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x2d
lea rcx, [0x0072c776]
mov qword [rax], rcx
lea rbx, [0x0079ce48]
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x1e8]
add rsp, 0x1f0
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.005fdd80