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

Disassembly:
lea r12, [rsp - 0x180]
cmp r12, qword [r14 + 0x10]
jbe 0x583c95
sub rsp, 0x200
mov qword [rsp + 0x1f8], rbp
lea rbp, [rsp + 0x1f8]
mov qword [rsp + 0x218], rcx
cmp qword [rax + 0x320], 0
jne 0x5836a3
mov qword [rsp + 0x210], rbx
mov qword [rsp + 0x230], r8
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x220], rdi
mov qword [rsp + 0x218], rcx
test rdi, rdi
je 0x583208
mov rdx, qword [rcx + rdi*8 - 8]
mov rsi, qword [rdx + 0x68]
mov rdx, qword [rdx + 0x60]
mov r9, qword [rax + 0x48]
cmp qword [rax + 0x50], rsi
jne 0x5831ab
mov rax, rdx
mov rbx, r9
mov rcx, rsi
call fcn.00402de0
test al, al
je 0x5831a3
mov rax, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x210]
mov rdi, qword [rsp + 0x220]
mov r8, qword [rsp + 0x230]
jmp 0x583208
mov rax, qword [rsp + 0x208]
movups xmmword [rsp + 0xf8], xmm15
movups xmmword [rsp + 0x108], xmm15
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 5
movups xmmword [rsp + 0x108], xmm15
lea rax, [0x006975c0]
lea rbx, [rsp + 0xf8]
call fcn.0040ae00
mov rbx, rax
lea rax, [0x0072eea0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
mov rdx, qword [r8 + 0x20]
mov r9, qword [r8 + 0x28]
mov r10, qword [r8 + 0x30]
bt rdx, 0x3f
jae 0x583234
mov r11, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r12, 0xdd7b17f80
add rdx, r12
jmp 0x58323a
mov r11, rdx
mov rdx, r9
test rdx, rdx
jne 0x583266
mov rdx, r11
and r11d, 0x3fffffff
test r11d, r11d
jne 0x583269
call fcn.00486420
mov r9, rbx
mov rdx, rax
mov r10, rcx
mov rax, qword [rsp + 0x208]
jmp 0x583269
mov rdx, r11
mov qword [rsp + 0x98], r10
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r9
mov rsi, qword [rax + 0x2b8]
mov r8, qword [rax + 0x2c0]
mov rdi, qword [rax + 0x2b0]
mov rbx, r9
mov rcx, r10
mov rax, rdx
call fcn.004850a0
nop
test al, al
jne 0x583543
mov rdx, qword [rsp + 0x208]
mov rsi, qword [rdx + 0x2d0]
mov r8, qword [rdx + 0x2d8]
mov rdi, qword [rdx + 0x2c8]
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
call fcn.00484fe0
nop dword [rax]
test al, al
jne 0x5833de
mov rdx, qword [rsp + 0x230]
mov rdx, qword [rdx + 0x50]
mov qword [rsp + 0x60], rdx
test rdx, rdx
jne 0x583307
mov qword [rsp + 0x60], 0x3d090
mov qword [rsp + 0x70], 0
mov rdx, qword [rsp + 0x210]
cmp rdx, 1
jne 0x58332b
mov r8, qword [rsp + 0x220]
test r8, r8
jmp 0x58333c
cmp rdx, 2
jne 0x583387
mov r8, qword [rsp + 0x220]
test r8, r8
je 0x58334f
mov r9, qword [rsp + 0x218]
mov r9, qword [r9]
cmp rdx, 1
jmp 0x583399
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x38
lea rcx, [0x006cb2c0]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0072e7e0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
cmp rdx, 1
mov r8, qword [rsp + 0x220]
mov r9d, 0
mov qword [rsp + 0xa0], r9
je 0x5833a9
cmp rdx, 2
jne 0x5833d7
nop
mov r10, qword [0x008b7020]
mov r11, qword [0x008b7028]
mov r12, qword [rsp + 0x208]
mov r13, qword [r12 + 0x2e8]
mov r15, qword [r12 + 0x2f0]
xor eax, eax
jmp 0x583bf5
xor eax, eax
jmp 0x5836c1
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
lea rdi, [0x006bfd85]
mov esi, 0x19
nop dword [rax]
call fcn.0047e4c0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x88], rbx
mov rdx, qword [rsp + 0x208]
mov r8, qword [rdx + 0x2c8]
mov r9, qword [rdx + 0x2d0]
mov rcx, qword [rdx + 0x2d8]
lea rdi, [0x006bfd85]
mov esi, 0x19
mov rax, r8
mov rbx, r9
call fcn.0047e4c0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x80], rbx
movups xmmword [rsp + 0xd8], xmm15
movups xmmword [rsp + 0xe8], xmm15
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x88]
nop dword [rax + rax]
call fcn.0040b080
lea rdx, [0x00667a40]
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x80]
call fcn.0040b080
lea rdx, [0x00667a40]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rax
lea rax, [0x006c0fa9]
mov ebx, 0x1b
lea rcx, [rsp + 0xd8]
mov edi, 2
mov rsi, rdi
call fcn.004f3aa0
mov rdx, qword [rsp + 0x208]
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
lea rax, [0x006975c0]
lea rbx, [rsp + 0xf8]
call fcn.0040ae00
mov rbx, rax
lea rax, [0x0072eea0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
lea rdi, [0x006bfd85]
mov esi, 0x19
call fcn.0047e4c0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x88], rbx
mov rdx, qword [rsp + 0x208]
mov r8, qword [rdx + 0x2b0]
mov r9, qword [rdx + 0x2b8]
mov rcx, qword [rdx + 0x2c0]
lea rdi, [0x006bfd85]
mov esi, 0x19
mov rax, r8
mov rbx, r9
call fcn.0047e4c0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x80], rbx
movups xmmword [rsp + 0xd8], xmm15
movups xmmword [rsp + 0xe8], xmm15
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x88]
nop dword [rax]
call fcn.0040b080
lea rdx, [0x00667a40]
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x80]
call fcn.0040b080
lea rdx, [0x00667a40]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rax
lea rax, [0x006c1834]
mov ebx, 0x1c
lea rcx, [rsp + 0xd8]
mov edi, 2
mov rsi, rdi
call fcn.004f3aa0
mov rdx, qword [rsp + 0x208]
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
lea rax, [0x006975c0]
lea rbx, [rsp + 0xf8]
call fcn.0040ae00
mov rbx, rax
lea rax, [0x0072eea0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
lea rax, [0x0072ef40]
lea rbx, [0x00918838]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
test al, al
je 0x5836e8
mov r10, qword [0x008b7040]
mov r11, qword [0x008b7048]
mov r12, qword [r9 + 0x2f0]
mov r13, qword [r9 + 0x2e8]
xor eax, eax
jmp 0x5837e2
cmp rdx, 1
jne 0x583753
mov rcx, qword [rsp + 0x208]
cmp byte [rcx + 0x360], 0
je 0x583708
cmp byte [rcx + 0x361], 0
jne 0x58375b
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 0
movups xmmword [rsp + 0x108], xmm15
lea rax, [0x006975c0]
lea rbx, [rsp + 0xf8]
call fcn.0040ae00
mov rbx, rax
lea rax, [0x0072eea0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
mov rcx, qword [rsp + 0x208]
cmp byte [rcx + 0x360], 0
je 0x5837c4
mov rdx, qword [rcx + 0x368]
test rdx, rdx
jl 0x5837c4
lea rsi, [r8 - 1]
cmp rdx, rsi
jge 0x5837c4
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 3
movups xmmword [rsp + 0x108], xmm15
lea rax, [0x006975c0]
lea rbx, [rsp + 0xf8]
call fcn.0040ae00
mov rbx, rax
lea rax, [0x0072eea0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
add r13, 0x38
inc rax
mov r8, rcx
cmp rax, r12
jge 0x583842
mov r15, qword [r13]
mov qword [rsp + 0x150], r15
movups xmm0, xmmword [r13 + 8]
movups xmmword [rsp + 0x158], xmm0
movups xmm0, xmmword [r13 + 0x18]
movups xmmword [rsp + 0x168], xmm0
movups xmm0, xmmword [r13 + 0x28]
movups xmmword [rsp + 0x178], xmm0
mov r15, qword [rsp + 0x158]
mov rcx, r8
mov r8, qword [rsp + 0x150]
cmp r15, r11
jne 0x5837d8
xor ebx, ebx
jmp 0x583bc0
mov rdx, rsi
mov r9, rdi
nop
jmp 0x5837d8
jl 0x58384f
lea rax, [rsp + 0x40]
xor ecx, ecx
xor ebx, ebx
jmp 0x5838a7
lea rax, [rsp + 0x40]
mov ebx, 1
xor ecx, ecx
mov rdi, rbx
lea rsi, [0x006a5ca0]
call fcn.0044a700
cmp dword [0x00918a90], 0
jne 0x583882
mov rdx, qword [rsp + 0xa0]
mov qword [rax], rdx
nop
jmp 0x583892
mov rdi, rax
mov rdx, qword [rsp + 0xa0]
call fcn.00465720
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
mov ebx, 1
mov r9, qword [0x008b7040]
mov r10, qword [0x008b7048]
mov qword [rsp + 0x48], r10
mov r11, qword [rsp + 0x208]
mov r12, qword [r11 + 0x2e8]
mov r13, qword [r11 + 0x2f0]
xor esi, esi
jmp 0x5838e0
add r12, 0x38
inc rsi
mov r8, rdi
nop
cmp rsi, r13
jge 0x583967
mov r15, qword [r12]
mov qword [rsp + 0x118], r15
movups xmm0, xmmword [r12 + 8]
movups xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [r12 + 0x18]
movups xmmword [rsp + 0x130], xmm0
movups xmm0, xmmword [r12 + 0x28]
movups xmmword [rsp + 0x140], xmm0
mov r15, qword [rsp + 0x120]
mov rdi, r8
mov r8, qword [rsp + 0x118]
cmp r15, r10
jne 0x5838d4
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x78]
jmp 0x583b83
mov rdx, qword [rsp + 0x210]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x208]
jmp 0x5838d4
jge 0x5839bd
inc rbx
cmp rcx, rbx
jae 0x58399d
mov edi, 1
lea rsi, [0x006a5ca0]
nop dword [rax]
call fcn.0044a700
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
mov r11, qword [rsp + 0x208]
lea rdi, [rax + rbx*8]
lea rdi, [rdi - 8]
cmp dword [0x00918a90], 0
jne 0x5839b5
mov qword [rax + rbx*8 - 8], r11
jmp 0x5839bd
mov rsi, r11
call fcn.00465760
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x40], rbx
xor ecx, ecx
jmp 0x583a00
mov rcx, qword [rsp + 0x88]
inc rcx
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
mov r11, qword [rsp + 0x208]
nop
cmp rbx, rcx
jle 0x583a92
mov qword [rsp + 0x88], rcx
mov rsi, qword [rax + rcx*8]
mov r9, qword [rsi + 0x2e8]
mov rsi, qword [rsi + 0x2f0]
xor edi, edi
jmp 0x583aa2
xor esi, esi
xor edi, edi
xor r9d, r9d
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
lea rdx, [0x00583ce0]
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc0], r11
lea r8, [rsp + 0x70]
mov qword [rsp + 0xc8], r8
lea r8, [rsp + 0x60]
mov qword [rsp + 0xd0], r8
mov rax, r9
mov rbx, rdi
mov rcx, rsi
lea rdi, [rsp + 0xb8]
call fcn.0057a580
test rax, rax
je 0x5839ce
jmp 0x583b10
cmp rdx, 1
jmp 0x5836ec
add r9, 0x38
inc rdi
cmp rdi, rsi
jge 0x583a27
mov r10, qword [r9]
mov qword [rsp + 0x1c0], r10
movups xmm0, xmmword [r9 + 8]
movups xmmword [rsp + 0x1c8], xmm0
movups xmm0, xmmword [r9 + 0x18]
movups xmmword [rsp + 0x1d8], xmm0
movups xmm0, xmmword [r9 + 0x28]
movups xmmword [rsp + 0x1e8], xmm0
mov r10, qword [rsp + 0x1c8]
mov r12, qword [rsp + 0x1c0]
mov r13, qword [0x008b7040]
cmp qword [0x008b7048], r10
jne 0x583a9b
xor r15d, r15d
jmp 0x583b34
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
jmp 0x583a9b
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
nop
ret
inc r15
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
cmp r15, r10
jge 0x583b49
mov r8, qword [r12 + r15*8]
mov rdx, qword [r13 + r15*8]
cmp rdx, r8
je 0x583b21
jmp 0x583afe
mov r9, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x1f0]
jmp 0x583a2e
inc rdx
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x208]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x68]
cmp rdx, r15
jge 0x583b9f
mov r11, qword [r8 + rdx*8]
mov r10, qword [r9 + rdx*8]
cmp r10, r11
je 0x583b66
jmp 0x58394d
cmp rsi, r13
mov rdx, qword [rsp + 0x210]
mov r8, rdi
jmp 0x583967
inc rbx
mov rdx, rsi
mov r9, rdi
nop dword [rax + rax]
cmp rbx, r15
jge 0x583bdd
mov rsi, rdx
mov rdx, qword [r8 + rbx*8]
mov rdi, r9
mov r9, qword [r10 + rbx*8]
cmp r9, rdx
je 0x583bb2
jmp 0x583839
cmp rax, r12
mov r8, rcx
jmp 0x583842
add r13, 0x38
inc rax
mov r8, rcx
mov r12, rbx
cmp rax, r15
jge 0x583c59
mov rcx, r8
mov r8, qword [r13]
mov qword [rsp + 0x188], r8
movups xmm0, xmmword [r13 + 8]
movups xmmword [rsp + 0x190], xmm0
movups xmm0, xmmword [r13 + 0x18]
movups xmmword [rsp + 0x1a0], xmm0
movups xmm0, xmmword [r13 + 0x28]
movups xmmword [rsp + 0x1b0], xmm0
mov r8, qword [rsp + 0x190]
mov rbx, r12
mov r12, qword [rsp + 0x188]
cmp r8, r11
jne 0x583be8
xor esi, esi
jmp 0x583c73
mov rdx, rdi
mov r9, qword [rsp + 0xa0]
jmp 0x583be8
setl al
nop dword [rax]
jmp 0x5836c1
inc rsi
mov rdx, rdi
mov r9, qword [rsp + 0xa0]
cmp rsi, r8
jge 0x583c8a
mov rdi, rdx
mov rdx, qword [r12 + rsi*8]
mov r9, qword [r10 + rsi*8]
cmp r9, rdx
je 0x583c65
jmp 0x583c4c
cmp rax, r15
mov r8, rcx
mov r12, rbx
jmp 0x583c59
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.00463440
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.005830e0