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

Disassembly:
lea r12, [rsp - 0x90]
cmp r12, qword [r14 + 0x10]
jbe 0x5ac850
sub rsp, 0x110
mov qword [rsp + 0x108], rbp
lea rbp, [rsp + 0x108]
mov rdx, qword [rax + 0x48]
cmp byte [rdx + 0xc1], 0
jne 0x5abdce
cmp qword [rdx + 0xe8], 0
je 0x5abdce
mov byte [rbx + 0xc8], 1
mov rdx, qword [rbx + 0x158]
cmp qword [rbx + 0x160], 0
nop
jbe 0x5ac845
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rbx
cmp word [rdx], 0x304
jne 0x5abcbc
lea rax, [0x00658c80]
call fcn.0040d960
mov byte [rax], 1
mov rdi, qword [rsp + 0x130]
mov qword [rdi + 0x1b0], 1
mov qword [rdi + 0x1b8], 1
cmp dword [0x008f2cf0], 0
jne 0x5abc9c
mov qword [rdi + 0x1a8], rax
jmp 0x5abcb1
lea rdx, [rdi + 0x1a8]
mov rcx, rdi
mov rdi, rdx
call fcn.004654a0
mov rdi, rcx
mov rax, qword [rsp + 0x128]
mov rbx, rdi
cmp qword [rax + 0x50], 0
jne 0x5abd9d
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov rcx, qword [rcx + 0x30]
mov rax, rdx
call rcx
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rcx + 0x48]
mov rsi, qword [rdx + 0x88]
mov rdx, qword [rdx + 0x80]
test rsi, rsi
jne 0x5abd0d
mov rcx, qword [rax + 0x20]
mov rax, rbx
call rcx
mov rcx, qword [rsp + 0x128]
mov rsi, rbx
mov rdx, rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0xa8], rdx
mov rdi, qword [rcx + 0x48]
mov r8, qword [rdi + 0xe8]
mov rax, qword [rdi + 0xf0]
mov rdi, qword [r8 + 0x18]
mov rbx, rdx
mov rcx, rsi
call rdi
test bl, bl
je 0x5abd65
nop dword [rax]
test rax, rax
je 0x5abd65
mov rdi, qword [rsp + 0x130]
mov r12, qword [rdi + 0x158]
mov r13, qword [rdi + 0x160]
xor ecx, ecx
nop dword [rax]
jmp 0x5abe02
movups xmmword [rsp + 0x118], xmm15
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
movups xmmword [rsp + 0x118], xmm15
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
mov r8, rbx
mov r9, rax
mov r10, rbx
mov r11, rbx
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
movups xmmword [rsp + 0x118], xmm15
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
mov r8, rbx
mov r9, rax
mov r10, rbx
mov r11, rbx
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
inc rcx
cmp rcx, r13
jge 0x5ac0c3
movzx r15d, word [r12 + rcx*2]
cmp word [rax + 0x18], r15w
jne 0x5abdff
mov qword [rsp + 0x100], rax
mov r12, qword [rsp + 0x128]
mov r13, qword [r12 + 0x48]
cmp byte [r13 + 0xa0], 0
jne 0x5abef5
cmp qword [rax + 0x58], 0
nop
je 0x5ac08b
mov rbx, qword [rax + 0x38]
cmp qword [rax + 0x40], 0
jbe 0x5ac836
mov rcx, qword [rbx]
mov qword [rsp + 0xb8], rcx
mov rbx, qword [r13 + 0x10]
test rbx, rbx
jne 0x5abe70
lea rbx, fcn.004c87a0
mov rax, qword [rbx]
mov rdx, rbx
call rax
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsi + 0x2c8]
mov r8, qword [rsi + 0x2d0]
mov r9, qword [rsi + 0x2d8]
mov rsi, r8
mov r8, r9
nop dword [rax + rax]
call fcn.004c7340
test al, al
jne 0x5ac024
mov rdx, qword [rsp + 0x128]
mov rsi, qword [rdx + 0x48]
mov rbx, qword [rsi + 0x80]
mov rcx, qword [rsi + 0x88]
mov rax, qword [rsp + 0xb8]
call fcn.0058ba20
test rax, rax
jne 0x5abfec
mov rax, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x130]
mov r12, qword [rsp + 0x128]
cmp word [rax + 0x18], 0x304
je 0x5abf11
mov rdx, qword [rdi + 0x50]
mov r12, qword [rdi + 0x58]
movzx r13d, word [rax + 0x1a]
xor ecx, ecx
jmp 0x5ac740
mov rcx, qword [r12 + 0x48]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x5abf26
lea rcx, fcn.004c87a0
mov rax, qword [rcx]
mov rdx, rcx
call rax
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsi + 0xd0]
mov r8, qword [rsi + 0xd8]
mov r9, qword [rsi + 0xc8]
mov rdx, rdi
mov rdi, r9
mov rsi, rdx
call fcn.004c7340
test al, al
jne 0x5abf85
mov r12, qword [rsp + 0x100]
movzx r13d, word [r12 + 0x1a]
mov r15, qword [0x00892e90]
mov rax, r12
mov r12, qword [0x00892e98]
xor ecx, ecx
nop
jmp 0x5ac101
mov rdx, qword [rsp + 0x128]
mov rdx, qword [rdx + 0x48]
mov rsi, qword [rdx + 0xe8]
mov rax, qword [rdx + 0xf0]
mov rdx, qword [rsi + 0x20]
mov rbx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x58]
xor edi, edi
call rdx
movups xmmword [rsp + 0x118], xmm15
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
movups xmmword [rsp + 0x118], xmm15
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
mov rdx, qword [rsp + 0x128]
mov rdx, qword [rdx + 0x48]
mov rsi, qword [rdx + 0xe8]
mov rax, qword [rdx + 0xf0]
mov rdx, qword [rsi + 0x20]
mov rbx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x58]
xor edi, edi
call rdx
movups xmmword [rsp + 0x118], xmm15
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
movups xmmword [rsp + 0x118], xmm15
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
movups xmmword [rsp + 0x118], xmm15
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
inc rcx
mov r15, rdx
cmp rcx, r12
jge 0x5ac115
mov rdx, r15
mov r15, qword [r15 + rcx*8]
cmp word [r15], r13w
jne 0x5ac0fb
jmp 0x5ac120
mov rdx, r15
xor r15d, r15d
nop dword [rax + rax]
test r15, r15
je 0x5ac13f
mov r13, qword [rsp + 0x130]
mov rcx, r15
mov r15, qword [r13 + 0x50]
mov rbx, r13
mov r13, qword [r13 + 0x58]
xor esi, esi
jmp 0x5ac180
movups xmmword [rsp + 0x118], xmm15
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
inc rsi
mov r13, r9
mov r15, rdi
cmp rsi, r13
jge 0x5ac1a9
mov rdi, r15
movzx r15d, word [r15 + rsi*2]
xor r8d, r8d
jmp 0x5ac1e7
mov r9, r13
xor r13d, r13d
test r13, r13
je 0x5ac177
mov r13, qword [r13 + 0x18]
cmp qword [rcx + 0x18], r13
jne 0x5ac177
jmp 0x5ac1fc
movups xmmword [rsp + 0x118], xmm15
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
inc r8
mov r13, r9
cmp r8, r12
jge 0x5ac192
mov r9, r13
mov r13, qword [rdx + r8*8]
cmp word [r13], r15w
jne 0x5ac1e1
jmp 0x5ac198
mov qword [rsp + 0xf8], rcx
mov rsi, qword [rsp + 0x128]
mov rsi, qword [rsi + 0x48]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x5ac220
lea rsi, fcn.004c87a0
mov rax, qword [rsi]
mov rdx, rsi
call rax
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsi + 0x70]
mov r8, qword [rsi + 0x78]
mov r9, qword [rsi + 0x68]
mov rdx, rdi
mov rdi, r9
mov rsi, rdx
call fcn.004c8040
mov rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
sar rcx, 0x3f
sub rdx, rcx
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax]
mov qword [rsp + 0xc0], rcx
mov rbx, qword [rax + 8]
mov qword [rsp + 0x60], rbx
mov rsi, qword [rax + 0x10]
mov qword [rsp + 0x68], rsi
add edx, dword [rax + 0xe0]
mov dword [rsp + 0x54], edx
lea rax, [0x00658860]
nop dword [rax + rax]
call fcn.0040d960
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x10], rcx
mov ecx, dword [rsp + 0x54]
mov dword [rax + 0x18], ecx
cmp dword [0x008f2cf0], 0
jne 0x5ac2d4
mov rdx, qword [rsp + 0xc0]
mov qword [rax], rdx
jmp 0x5ac2e5
mov rdi, rax
mov rdx, qword [rsp + 0xc0]
nop
call fcn.004655c0
mov rdi, qword [rsp + 0x130]
mov qword [rdi + 0x1c8], 1
mov qword [rdi + 0x1d0], 1
cmp dword [0x008f2cf0], 0
jne 0x5ac315
mov qword [rdi + 0x1c0], rax
jmp 0x5ac32a
lea rdx, [rdi + 0x1c0]
mov rcx, rdi
mov rdi, rdx
call fcn.004654a0
mov rdi, rcx
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rdx + 0x18]
lea rsi, [rax - 1]
nop word [rax + rax]
cmp rsi, 0x13
jae 0x5ac725
mov rcx, qword [0x00892d98]
mov rsi, qword [0x00892d90]
nop dword [rax + rax]
cmp rcx, rax
jbe 0x5ac720
movzx ecx, byte [rsi + rax]
mov qword [rsp + 0xa0], rcx
lea rax, [0x006578a0]
mov rbx, rcx
nop
call fcn.0044a840
mov qword [rsp + 0xf0], rax
lea rax, [0x006586e0]
call fcn.0040d960
mov rdx, qword [rsp + 0xa0]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rdx
cmp dword [0x008f2cf0], 0
jne 0x5ac3bf
mov rdx, qword [rsp + 0xf0]
mov qword [rax], rdx
jmp 0x5ac3cf
mov rdi, rax
mov rdx, qword [rsp + 0xf0]
call fcn.004655c0
mov rdi, qword [rsp + 0x130]
mov qword [rdi + 0x1e0], 1
mov qword [rdi + 0x1e8], 1
cmp dword [0x008f2cf0], 0
jne 0x5ac3ff
mov qword [rdi + 0x1d8], rax
jmp 0x5ac414
lea rdx, [rdi + 0x1d8]
mov rcx, rdi
mov rdi, rdx
call fcn.004654a0
mov rdi, rcx
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rax + 0x18]
lea r12, [rdx - 1]
cmp r12, 0x13
jae 0x5ac709
mov rcx, qword [0x00892d98]
mov r12, qword [0x00892d90]
nop dword [rax]
cmp rcx, rdx
jbe 0x5ac701
mov r13, qword [rsp + 0x100]
mov rbx, qword [r13 + 0x20]
mov rcx, qword [r13 + 0x28]
mov rdi, qword [r13 + 0x30]
mov r9, qword [r13 + 0xb0]
mov r10, qword [r13 + 0xb8]
mov r11, qword [r13 + 0xc0]
movzx edx, byte [r12 + rdx]
mov qword [rsp], rdx
lea rsi, [0x006a5c98]
mov r8d, 0xa
call fcn.005ca400
mov rdi, rcx
xor esi, esi
xor r8d, r8d
mov r9, r8
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xf8]
call fcn.005cb0c0
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x98], rcx
mov rdi, rcx
lea rsi, [0x006a5c84]
mov r8d, 0xa
xor r9d, r9d
xor r10d, r10d
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xf8]
call fcn.005caf60
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rcx
mov rdx, qword [rsp + 0xf8]
mov r12, qword [rdx + 0x18]
mov rax, r12
call fcn.004809e0
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xb0], rbx
mov rax, qword [rsp + 0x130]
call fcn.005b9880
test rdi, rdi
jne 0x5ac6c9
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0xd0], rsi
mov rdx, qword [rsp + 0xd8]
mov rsi, qword [rdx + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xb0]
call rsi
mov rax, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xb0]
nop dword [rax]
call fcn.005cb420
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x70], rcx
lea rax, [0x006586e0]
nop
call fcn.0040d960
mov rdx, qword [rsp + 0x78]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
cmp dword [0x008f2cf0], 0
nop
jne 0x5ac5ef
mov rdx, qword [rsp + 0xc8]
mov qword [rax], rdx
jmp 0x5ac5ff
mov rdi, rax
mov rdx, qword [rsp + 0xc8]
call fcn.004655c0
mov rbx, rax
mov ecx, 1
mov rdi, rcx
mov rax, qword [rsp + 0x130]
call fcn.005b9940
test rax, rax
je 0x5ac654
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rbx
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
mov r8, rbx
mov r9, rax
mov r10, rbx
mov r11, rbx
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x120], rdx
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], rsi
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
mov r8, rbx
mov r9, rax
mov r10, rbx
mov r11, rbx
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
mov rax, rdx
call fcn.00465960
lea rax, [0x006576e0]
lea rbx, [0x00718590]
call fcn.00436420
nop dword [rax]
call fcn.00465960
lea rax, [0x006576e0]
lea rbx, [0x00718590]
call fcn.00436420
inc rcx
nop dword [rax + rax]
cmp rcx, r12
jge 0x5ac766
movzx r15d, word [rdx + rcx*2]
cmp r15w, r13w
jne 0x5ac738
nop
mov rdx, qword [0x00892e30]
mov r12, qword [0x00892e38]
xor ecx, ecx
jmp 0x5ac819
xor ecx, ecx
test rcx, rcx
je 0x5ac7de
mov rdx, qword [rax]
mov r12, qword [rax + 8]
mov r13, qword [rax + 0x10]
mov qword [rdi + 0xd8], r12
mov qword [rdi + 0xe0], r13
cmp dword [0x008f2cf0], 0
jne 0x5ac798
mov qword [rdi + 0xd0], rdx
jmp 0x5ac7a5
add rdi, 0xd0
nop
call fcn.004655c0
movups xmmword [rsp + 0x118], xmm15
mov rbx, qword [rsp + 0x58]
mov rcx, rax
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rax, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
movups xmmword [rsp + 0x118], xmm15
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8, rsi
mov r9, rdi
mov r10, rsi
mov r11, rsi
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
inc rcx
cmp rcx, r12
jge 0x5ac82b
mov r13, qword [rdx + rcx*8]
cmp word [r13], r15w
jne 0x5ac816
jmp 0x5ac82e
xor r13d, r13d
mov rcx, r13
jmp 0x5ac768
xor eax, eax
mov rcx, rax
nop dword [rax + rax]
call fcn.00465940
xor eax, eax
mov rcx, rax
call fcn.00465940
nop
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rbx
call fcn.004632e0
mov rax, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
jmp fcn.005abbe0