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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x549ca6
push rbp
mov rbp, rsp
sub rsp, 0x88
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], rcx
test rbx, rbx
je 0x549c4f
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rcx
mov edx, dword [rbx + 0x10]
cmp edx, 0x62de383d
ja 0x54988f
cmp edx, 0x43cfbb1f
ja 0x549820
cmp edx, 0x2e74d42b
jne 0x5497d1
lea rdx, [0x006546a0]
cmp rbx, rdx
je 0x549929
jmp 0x549c4f
cmp edx, 0x338a7ec0
jne 0x5497ee
lea rdx, [0x00654760]
cmp rbx, rdx
je 0x549abc
jmp 0x549c4f
cmp edx, 0x43cfbb1f
jne 0x549c4f
lea rdx, [0x00658920]
cmp rbx, rdx
jne 0x549c4f
mov rbx, rcx
call fcn.00549ec0
add rsp, 0x88
pop rbp
ret
cmp edx, 0x49163278
jne 0x549840
lea rdx, [0x00654a20]
cmp rbx, rdx
je 0x549abc
jmp 0x549c4f
cmp edx, 0x5051f1be
jne 0x54986e
lea rdx, [0x006adea0]
cmp rbx, rdx
jne 0x549c4f
mov rbx, rcx
nop dword [rax + rax]
call fcn.00549ce0
add rsp, 0x88
pop rbp
ret
cmp edx, 0x62de383d
jne 0x549c4f
lea rdx, [0x00654660]
cmp rbx, rdx
je 0x549929
jmp 0x549c4f
cmp edx, 0xba585d67
ja 0x5498ee
cmp edx, 0x6e78e923
jne 0x5498b4
lea rdx, [0x006547e0]
cmp rbx, rdx
je 0x549abc
jmp 0x549c4f
cmp edx, 0x889ce7f8
jne 0x5498d1
lea rdx, [0x00654b60]
cmp rbx, rdx
je 0x549abc
jmp 0x549c4f
cmp edx, 0xba585d67
jne 0x549c4f
lea rdx, [0x006545e0]
cmp rbx, rdx
je 0x549929
jmp 0x549c4f
cmp edx, 0xc3230e0b
jne 0x54990a
lea rdx, [0x00654620]
nop dword [rax]
cmp rbx, rdx
je 0x549929
jmp 0x549c4f
cmp edx, 0xd6631a7c
jne 0x549aa0
lea rdx, [0x006546e0]
nop dword [rax]
cmp rbx, rdx
jne 0x549c4f
mov qword [rsp + 0x28], 0
lea rbx, [rsp + 0x28]
call fcn.00549fe0
nop dword [rax]
test al, al
je 0x549a8a
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x54999f
mov qword [rsp + 0x78], rdx
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x80], rsi
mov rdi, qword [rsp + 0x78]
test rdi, rdi
je 0x549995
movzx r8d, byte [rdi + 0x17]
mov r9d, r8d
and r8d, 0x1f
mov r10, r8
bts r8, 7
nop
mov r11, qword [rsp + 0x80]
test r9b, 0x20
cmove r10, r8
jmp 0x5499a7
xor r10d, r10d
xor edi, edi
xor r11d, r11d
jmp 0x5499a7
xor r10d, r10d
xor edi, edi
xor r11d, r11d
mov rax, rdi
mov rbx, r11
mov rcx, r10
call fcn.004ac0e0
and ecx, 0x1f
lea rdx, [rcx - 2]
nop
nop dword [rax]
cmp rdx, 4
ja 0x549c65
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rax]
shl rcx, 3
mov rsi, rcx
neg rsi
mov rax, rcx
mov rcx, rsi
mov rdi, rdx
shl rdx, cl
lea rcx, [rax - 0x40]
neg rcx
cmp rcx, 0x40
sbb rsi, rsi
sbb r8, r8
and rdx, rsi
not r8
or rcx, r8
sar rdx, cl
cmp rdi, rdx
jne 0x549a8a
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x549a5c
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x549a52
movzx esi, byte [rdx + 0x17]
mov edi, esi
and esi, 0x1f
mov r8, rsi
bts rsi, 7
nop
mov r9, qword [rsp + 0x70]
test dil, 0x20
cmove r8, rsi
jmp 0x549a64
xor r8d, r8d
xor edx, edx
xor r9d, r9d
jmp 0x549a64
xor r8d, r8d
xor edx, edx
xor r9d, r9d
mov rax, rdx
mov rbx, r9
mov rcx, r8
call fcn.004ac0e0
mov rdi, qword [rsp + 0x28]
call fcn.004adba0
mov eax, 1
add rsp, 0x88
pop rbp
ret
xor eax, eax
add rsp, 0x88
pop rbp
ret
cmp edx, 0xf3b50de0
jne 0x549c4f
lea rdx, [0x006547a0]
cmp rbx, rdx
jne 0x549c4f
mov qword [rsp + 0x20], 0
lea rbx, [rsp + 0x20]
call fcn.0054a100
test al, al
je 0x549c08
mov rdx, qword [rsp + 0x40]
nop dword [rax]
test rdx, rdx
je 0x549b2c
mov qword [rsp + 0x58], rdx
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x60], rsi
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x549b22
movzx r8d, byte [rdi + 0x17]
mov r9d, r8d
and r8d, 0x1f
mov r10, r8
bts r8, 7
nop
mov r11, qword [rsp + 0x60]
test r9b, 0x20
cmove r10, r8
jmp 0x549b34
xor r10d, r10d
xor edi, edi
xor r11d, r11d
jmp 0x549b34
xor r10d, r10d
xor edi, edi
xor r11d, r11d
mov rax, rdi
mov rbx, r11
mov rcx, r10
nop dword [rax]
call fcn.004ac0e0
and ecx, 0x1f
lea rdx, [rcx - 7]
nop
cmp rdx, 5
ja 0x549c13
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rax]
shl rcx, 3
lea rsi, [rcx - 0x40]
neg rsi
neg rcx
mov rdi, rdx
shl rdx, cl
cmp rsi, 0x40
sbb rsi, rsi
and rdx, rsi
shr rdx, cl
and rdx, rsi
cmp rdi, rdx
jne 0x549c08
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x549bda
mov qword [rsp + 0x48], rdx
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x549bd0
movzx esi, byte [rdx + 0x17]
mov edi, esi
and esi, 0x1f
mov r8, rsi
bts rsi, 7
nop
mov r9, qword [rsp + 0x50]
test dil, 0x20
cmove r8, rsi
jmp 0x549be2
xor r8d, r8d
xor edx, edx
xor r9d, r9d
jmp 0x549be2
xor r8d, r8d
xor edx, edx
xor r9d, r9d
mov rax, rdx
mov rbx, r9
mov rcx, r8
call fcn.004ac0e0
mov rdi, qword [rsp + 0x20]
call fcn.004adcc0
mov eax, 1
add rsp, 0x88
pop rbp
ret
xor eax, eax
add rsp, 0x88
pop rbp
ret
mov qword [rsp + 0x30], rcx
lea rax, [0x0067f1c0]
nop
call fcn.0040d680
mov qword [rax + 8], 0x1a
lea rcx, [0x006b8c39]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
mov rbx, rax
lea rax, [0x00668240]
call fcn.00436ac0
lea rax, [0x0065b7a0]
lea rbx, [0x00728190]
nop dword [rax]
call fcn.00436ac0
mov qword [rsp + 0x30], rcx
lea rax, [0x0067f1c0]
call fcn.0040d680
mov qword [rax + 8], 0x19
lea rcx, [0x006b8430]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
mov rbx, rax
lea rax, [0x00668240]
nop dword [rax + rax]
call fcn.00436ac0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004646a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00549760