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

Disassembly:
lea r12, [rsp - 0x90]
cmp r12, qword [r14 + 0x10]
jbe 0x5d6750
sub rsp, 0x110
mov qword [rsp + 0x108], rbp
lea rbp, [rsp + 0x108]
mov rdx, qword [rax + 0x48]
cmp byte [rdx + 0xc1], 0
jne 0x5d5cce
cmp qword [rdx + 0xe8], 0
je 0x5d5cce
mov byte [rbx + 0xc8], 1
mov rdx, qword [rbx + 0x158]
cmp qword [rbx + 0x160], 0
nop
jbe 0x5d6745
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rbx
cmp word [rdx], 0x304
jne 0x5d5bbc
lea rax, [0x0067ab00]
call fcn.0040d960
mov byte [rax], 1
mov rdi, qword [rsp + 0x130]
mov qword [rdi + 0x1b0], 1
mov qword [rdi + 0x1b8], 1
cmp dword [0x0092b0b0], 0
jne 0x5d5b9c
mov qword [rdi + 0x1a8], rax
jmp 0x5d5bb1
lea rdx, [rdi + 0x1a8]
mov rcx, rdi
mov rdi, rdx
call fcn.00465900
mov rdi, rcx
mov rax, qword [rsp + 0x128]
mov rbx, rdi
cmp qword [rax + 0x50], 0
jne 0x5d5c9d
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 0x5d5c0d
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 0x5d5c65
nop dword [rax]
test rax, rax
je 0x5d5c65
mov rdi, qword [rsp + 0x130]
mov r12, qword [rdi + 0x158]
mov r13, qword [rdi + 0x160]
xor ecx, ecx
nop dword [rax]
jmp 0x5d5d02
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 0x5d5fc3
movzx r15d, word [r12 + rcx*2]
cmp word [rax + 0x18], r15w
jne 0x5d5cff
mov qword [rsp + 0x100], rax
mov r12, qword [rsp + 0x128]
mov r13, qword [r12 + 0x48]
cmp byte [r13 + 0xa0], 0
jne 0x5d5df5
cmp qword [rax + 0x58], 0
nop
je 0x5d5f8b
mov rbx, qword [rax + 0x38]
cmp qword [rax + 0x40], 0
jbe 0x5d6736
mov rcx, qword [rbx]
mov qword [rsp + 0xb8], rcx
mov rbx, qword [r13 + 0x10]
test rbx, rbx
jne 0x5d5d70
lea rbx, fcn.004b5740
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.004b42e0
test al, al
jne 0x5d5f24
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.005b5920
test rax, rax
jne 0x5d5eec
mov rax, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x130]
mov r12, qword [rsp + 0x128]
cmp word [rax + 0x18], 0x304
je 0x5d5e11
mov rdx, qword [rdi + 0x50]
mov r12, qword [rdi + 0x58]
movzx r13d, word [rax + 0x1a]
xor ecx, ecx
jmp 0x5d6640
mov rcx, qword [r12 + 0x48]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x5d5e26
lea rcx, fcn.004b5740
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.004b42e0
test al, al
jne 0x5d5e85
mov r12, qword [rsp + 0x100]
movzx r13d, word [r12 + 0x1a]
mov r15, qword [0x008cb160]
mov rax, r12
mov r12, qword [0x008cb168]
xor ecx, ecx
nop
jmp 0x5d6001
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 0x5d6015
mov rdx, r15
mov r15, qword [r15 + rcx*8]
cmp word [r15], r13w
jne 0x5d5ffb
jmp 0x5d6020
mov rdx, r15
xor r15d, r15d
nop dword [rax + rax]
test r15, r15
je 0x5d603f
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 0x5d6080
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 0x5d60a9
mov rdi, r15
movzx r15d, word [r15 + rsi*2]
xor r8d, r8d
jmp 0x5d60e7
mov r9, r13
xor r13d, r13d
test r13, r13
je 0x5d6077
mov r13, qword [r13 + 0x18]
cmp qword [rcx + 0x18], r13
jne 0x5d6077
jmp 0x5d60fc
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 0x5d6092
mov r9, r13
mov r13, qword [rdx + r8*8]
cmp word [r13], r15w
jne 0x5d60e1
jmp 0x5d6098
mov qword [rsp + 0xf8], rcx
mov rsi, qword [rsp + 0x128]
mov rsi, qword [rsi + 0x48]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x5d6120
lea rsi, fcn.004b5740
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.004b4fe0
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, [0x0067a6e0]
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 [0x0092b0b0], 0
jne 0x5d61d4
mov rdx, qword [rsp + 0xc0]
mov qword [rax], rdx
jmp 0x5d61e5
mov rdi, rax
mov rdx, qword [rsp + 0xc0]
nop
call fcn.00465a20
mov rdi, qword [rsp + 0x130]
mov qword [rdi + 0x1c8], 1
mov qword [rdi + 0x1d0], 1
cmp dword [0x0092b0b0], 0
jne 0x5d6215
mov qword [rdi + 0x1c0], rax
jmp 0x5d622a
lea rdx, [rdi + 0x1c0]
mov rcx, rdi
mov rdi, rdx
call fcn.00465900
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 0x5d6625
mov rcx, qword [0x008cb068]
mov rsi, qword [0x008cb060]
nop dword [rax + rax]
cmp rcx, rax
jbe 0x5d6620
movzx ecx, byte [rsi + rax]
mov qword [rsp + 0xa0], rcx
lea rax, [0x006796c0]
mov rbx, rcx
nop
call fcn.0044a840
mov qword [rsp + 0xf0], rax
lea rax, [0x0067a560]
call fcn.0040d960
mov rdx, qword [rsp + 0xa0]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rdx
cmp dword [0x0092b0b0], 0
jne 0x5d62bf
mov rdx, qword [rsp + 0xf0]
mov qword [rax], rdx
jmp 0x5d62cf
mov rdi, rax
mov rdx, qword [rsp + 0xf0]
call fcn.00465a20
mov rdi, qword [rsp + 0x130]
mov qword [rdi + 0x1e0], 1
mov qword [rdi + 0x1e8], 1
cmp dword [0x0092b0b0], 0
jne 0x5d62ff
mov qword [rdi + 0x1d8], rax
jmp 0x5d6314
lea rdx, [rdi + 0x1d8]
mov rcx, rdi
mov rdi, rdx
call fcn.00465900
mov rdi, rcx
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rax + 0x18]
lea r12, [rdx - 1]
cmp r12, 0x13
jae 0x5d6609
mov rcx, qword [0x008cb068]
mov r12, qword [0x008cb060]
nop dword [rax]
cmp rcx, rdx
jbe 0x5d6601
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, [0x006cae64]
mov r8d, 0xa
call fcn.005f4300
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.005f4fc0
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x98], rcx
mov rdi, rcx
lea rsi, [0x006cae50]
mov r8d, 0xa
xor r9d, r9d
xor r10d, r10d
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xf8]
call fcn.005f4e60
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.00539b80
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xb0], rbx
mov rax, qword [rsp + 0x130]
call fcn.005e3780
test rdi, rdi
jne 0x5d65c9
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.005f5320
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x70], rcx
lea rax, [0x0067a560]
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 [0x0092b0b0], 0
nop
jne 0x5d64ef
mov rdx, qword [rsp + 0xc8]
mov qword [rax], rdx
jmp 0x5d64ff
mov rdi, rax
mov rdx, qword [rsp + 0xc8]
call fcn.00465a20
mov rbx, rax
mov ecx, 1
mov rdi, rcx
mov rax, qword [rsp + 0x130]
call fcn.005e3840
test rax, rax
je 0x5d6554
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.00465dc0
lea rax, [0x00679500]
lea rbx, [0x00741da0]
call fcn.00436420
nop dword [rax]
call fcn.00465dc0
lea rax, [0x00679500]
lea rbx, [0x00741da0]
call fcn.00436420
inc rcx
nop dword [rax + rax]
cmp rcx, r12
jge 0x5d6666
movzx r15d, word [rdx + rcx*2]
cmp r15w, r13w
jne 0x5d6638
nop
mov rdx, qword [0x008cb100]
mov r12, qword [0x008cb108]
xor ecx, ecx
jmp 0x5d6719
xor ecx, ecx
test rcx, rcx
je 0x5d66de
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 [0x0092b0b0], 0
jne 0x5d6698
mov qword [rdi + 0xd0], rdx
jmp 0x5d66a5
add rdi, 0xd0
nop
call fcn.00465a20
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 0x5d672b
mov r13, qword [rdx + rcx*8]
cmp word [r13], r15w
jne 0x5d6716
jmp 0x5d672e
xor r13d, r13d
mov rcx, r13
jmp 0x5d6668
xor eax, eax
mov rcx, rax
nop dword [rax + rax]
call fcn.00465da0
xor eax, eax
mov rcx, rax
call fcn.00465da0
nop
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rbx
call fcn.00463740
mov rax, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
jmp fcn.005d5ae0