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

Disassembly:
lea r12, [rsp - 0x180]
cmp r12, qword [r14 + 0x10]
jbe 0x5b3635
sub rsp, 0x200
mov qword [rsp + 0x1f8], rbp
lea rbp, [rsp + 0x1f8]
mov qword [rsp + 0x218], rcx
cmp qword [rax + 0x320], 0
jne 0x5b3043
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 0x5b2ba8
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 0x5b2b4b
mov rax, rdx
mov rbx, r9
mov rcx, rsi
call fcn.00402d80
test al, al
je 0x5b2b43
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 0x5b2ba8
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, [0x006a8ba0]
lea rbx, [rsp + 0xf8]
call fcn.0040ad40
mov rbx, rax
lea rax, [0x007432c0]
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 0x5b2bd4
mov r11, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r12, 0xdd7b17f80
add rdx, r12
jmp 0x5b2bda
mov r11, rdx
mov rdx, r9
test rdx, rdx
jne 0x5b2c06
mov rdx, r11
and r11d, 0x3fffffff
test r11d, r11d
jne 0x5b2c09
call fcn.004b5740
mov r9, rbx
mov rdx, rax
mov r10, rcx
mov rax, qword [rsp + 0x208]
jmp 0x5b2c09
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.004b43a0
nop
test al, al
jne 0x5b2ee3
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.004b42e0
nop dword [rax]
test al, al
jne 0x5b2d7e
mov rdx, qword [rsp + 0x230]
mov rdx, qword [rdx + 0x50]
mov qword [rsp + 0x60], rdx
test rdx, rdx
jne 0x5b2ca7
mov qword [rsp + 0x60], 0x3d090
mov qword [rsp + 0x70], 0
mov rdx, qword [rsp + 0x210]
cmp rdx, 1
jne 0x5b2ccb
mov r8, qword [rsp + 0x220]
test r8, r8
jmp 0x5b2cdc
cmp rdx, 2
jne 0x5b2d27
mov r8, qword [rsp + 0x220]
test r8, r8
je 0x5b2cef
mov r9, qword [rsp + 0x218]
mov r9, qword [r9]
cmp rdx, 1
jmp 0x5b2d39
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x38
lea rcx, [0x006dc559]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00742c00]
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 0x5b2d49
cmp rdx, 2
jne 0x5b2d77
nop
mov r10, qword [0x008cb3a0]
mov r11, qword [0x008cb3a8]
mov r12, qword [rsp + 0x208]
mov r13, qword [r12 + 0x2e8]
mov r15, qword [r12 + 0x2f0]
xor eax, eax
jmp 0x5b3595
xor eax, eax
jmp 0x5b3061
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
lea rdi, [0x006d0ddc]
mov esi, 0x19
nop dword [rax]
call fcn.004ad4e0
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, [0x006d0ddc]
mov esi, 0x19
mov rax, r8
mov rbx, r9
call fcn.004ad4e0
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.0040afc0
lea rdx, [0x00679500]
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x80]
call fcn.0040afc0
lea rdx, [0x00679500]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rax
lea rax, [0x006d20c7]
mov ebx, 0x1b
lea rcx, [rsp + 0xd8]
mov edi, 2
mov rsi, rdi
call fcn.004cb480
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, [0x006a8ba0]
lea rbx, [rsp + 0xf8]
call fcn.0040ad40
mov rbx, rax
lea rax, [0x007432c0]
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, [0x006d0ddc]
mov esi, 0x19
call fcn.004ad4e0
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, [0x006d0ddc]
mov esi, 0x19
mov rax, r8
mov rbx, r9
call fcn.004ad4e0
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.0040afc0
lea rdx, [0x00679500]
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x80]
call fcn.0040afc0
lea rdx, [0x00679500]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rax
lea rax, [0x006d2891]
mov ebx, 0x1c
lea rcx, [rsp + 0xd8]
mov edi, 2
mov rsi, rdi
call fcn.004cb480
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, [0x006a8ba0]
lea rbx, [rsp + 0xf8]
call fcn.0040ad40
mov rbx, rax
lea rax, [0x007432c0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
lea rax, [0x00743360]
lea rbx, [0x0092ae58]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
test al, al
je 0x5b3088
mov r10, qword [0x008cb3c0]
mov r11, qword [0x008cb3c8]
mov r12, qword [r9 + 0x2f0]
mov r13, qword [r9 + 0x2e8]
xor eax, eax
jmp 0x5b3182
cmp rdx, 1
jne 0x5b30f3
mov rcx, qword [rsp + 0x208]
cmp byte [rcx + 0x360], 0
je 0x5b30a8
cmp byte [rcx + 0x361], 0
jne 0x5b30fb
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 0
movups xmmword [rsp + 0x108], xmm15
lea rax, [0x006a8ba0]
lea rbx, [rsp + 0xf8]
call fcn.0040ad40
mov rbx, rax
lea rax, [0x007432c0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
mov rcx, qword [rsp + 0x208]
cmp byte [rcx + 0x360], 0
je 0x5b3164
mov rdx, qword [rcx + 0x368]
test rdx, rdx
jl 0x5b3164
lea rsi, [r8 - 1]
cmp rdx, rsi
jge 0x5b3164
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 3
movups xmmword [rsp + 0x108], xmm15
lea rax, [0x006a8ba0]
lea rbx, [rsp + 0xf8]
call fcn.0040ad40
mov rbx, rax
lea rax, [0x007432c0]
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 0x5b31e2
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 0x5b3178
xor ebx, ebx
jmp 0x5b3560
mov rdx, rsi
mov r9, rdi
nop
jmp 0x5b3178
jl 0x5b31ef
lea rax, [rsp + 0x40]
xor ecx, ecx
xor ebx, ebx
jmp 0x5b3247
lea rax, [rsp + 0x40]
mov ebx, 1
xor ecx, ecx
mov rdi, rbx
lea rsi, [0x006b7360]
call fcn.0044a920
cmp dword [0x0092b0b0], 0
jne 0x5b3222
mov rdx, qword [rsp + 0xa0]
mov qword [rax], rdx
nop
jmp 0x5b3232
mov rdi, rax
mov rdx, qword [rsp + 0xa0]
call fcn.00465a20
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
mov ebx, 1
mov r9, qword [0x008cb3c0]
mov r10, qword [0x008cb3c8]
mov qword [rsp + 0x48], r10
mov r11, qword [rsp + 0x208]
mov r12, qword [r11 + 0x2e8]
mov r13, qword [r11 + 0x2f0]
xor esi, esi
jmp 0x5b3280
add r12, 0x38
inc rsi
mov r8, rdi
nop
cmp rsi, r13
jge 0x5b3307
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 0x5b3274
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x78]
jmp 0x5b3523
mov rdx, qword [rsp + 0x210]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x208]
jmp 0x5b3274
jge 0x5b335d
inc rbx
cmp rcx, rbx
jae 0x5b333d
mov edi, 1
lea rsi, [0x006b7360]
nop dword [rax]
call fcn.0044a920
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 [0x0092b0b0], 0
jne 0x5b3355
mov qword [rax + rbx*8 - 8], r11
jmp 0x5b335d
mov rsi, r11
call fcn.00465a60
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x40], rbx
xor ecx, ecx
jmp 0x5b33a0
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 0x5b3432
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 0x5b3442
xor esi, esi
xor edi, edi
xor r9d, r9d
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
lea rdx, [0x005b3680]
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.005a9f20
test rax, rax
je 0x5b336e
jmp 0x5b34b0
cmp rdx, 1
jmp 0x5b308c
add r9, 0x38
inc rdi
cmp rdi, rsi
jge 0x5b33c7
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 [0x008cb3c0]
cmp qword [0x008cb3c8], r10
jne 0x5b343b
xor r15d, r15d
jmp 0x5b34d4
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
jmp 0x5b343b
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 0x5b34e9
mov r8, qword [r12 + r15*8]
mov rdx, qword [r13 + r15*8]
cmp rdx, r8
je 0x5b34c1
jmp 0x5b349e
mov r9, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x1f0]
jmp 0x5b33ce
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 0x5b353f
mov r11, qword [r8 + rdx*8]
mov r10, qword [r9 + rdx*8]
cmp r10, r11
je 0x5b3506
jmp 0x5b32ed
cmp rsi, r13
mov rdx, qword [rsp + 0x210]
mov r8, rdi
jmp 0x5b3307
inc rbx
mov rdx, rsi
mov r9, rdi
nop dword [rax + rax]
cmp rbx, r15
jge 0x5b357d
mov rsi, rdx
mov rdx, qword [r8 + rbx*8]
mov rdi, r9
mov r9, qword [r10 + rbx*8]
cmp r9, rdx
je 0x5b3552
jmp 0x5b31d9
cmp rax, r12
mov r8, rcx
jmp 0x5b31e2
add r13, 0x38
inc rax
mov r8, rcx
mov r12, rbx
cmp rax, r15
jge 0x5b35f9
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 0x5b3588
xor esi, esi
jmp 0x5b3613
mov rdx, rdi
mov r9, qword [rsp + 0xa0]
jmp 0x5b3588
setl al
nop dword [rax]
jmp 0x5b3061
inc rsi
mov rdx, rdi
mov r9, qword [rsp + 0xa0]
cmp rsi, r8
jge 0x5b362a
mov rdi, rdx
mov rdx, qword [r12 + rsi*8]
mov r9, qword [r10 + rsi*8]
cmp r9, rdx
je 0x5b3605
jmp 0x5b35ec
cmp rax, r15
mov r8, rcx
mov r12, rbx
jmp 0x5b35f9
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.00463740
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.005b2a80