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

Disassembly:
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov rdi, rax
or rax, rbx
or rax, rcx
nop word [rax + rax]
test rax, 7
jne 0x414c4f
cmp byte [0x00a04ed4], 0
je 0x414a7e
nop
movabs rdx, 0x800000000000
add rdx, rdi
mov r8, rdx
shr rdx, 0x2a
cmp rdx, 0x40
jb 0x4149b8
xor edx, edx
jmp 0x414a00
lea r9, [0x009d6e30]
mov rdx, qword [r9 + rdx*8]
test rdx, rdx
je 0x4149fa
shr r8, 0x16
and r8d, 0xfffff
mov rdx, qword [rdx + r8*8]
test rdx, rdx
je 0x4149f6
mov rax, rdi
shr rdi, 0xd
and edi, 0x1ff
mov rdx, qword [rdx + rdi*8 + 0x10400]
mov rdi, rax
jmp 0x414a00
xor edx, edx
jmp 0x414a00
xor edx, edx
nop dword [rax]
test rdx, rdx
jne 0x414a26
mov rdx, qword [0x009ae958]
test rdx, rdx
je 0x414a1a
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
jmp 0x414a1f
xor edx, edx
xor r8d, r8d
xor eax, eax
jmp 0x414ba9
nop
mov sil, byte [rdx + 0x63]
cmp sil, 1
jne 0x414a3d
cmp qword [rdx + 0x18], rdi
ja 0x414a3d
cmp qword [rdx + 0x70], rdi
ja 0x414a47
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x70], rbx
mov rdx, qword [r14 + 0x30]
mov rdx, qword [rdx + 0xa0]
mov qword [rsp + 0x50], rdx
test byte [rdx], al
mov rax, rdi
mov rbx, rcx
call fcn.004147e0
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x414b2f
jmp 0x414a88
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
call fcn.00414900
test rsi, rsi
je 0x414b25
mov rdx, rsi
mov r8, qword [rsp + 0x48]
sub rdx, r8
mov r9, qword [rsp + 0x70]
add rdx, r9
mov r10, qword [rsp + 0x50]
mov r11, qword [r10 + 0x1260]
mov rsi, qword [rsi]
mov rdx, qword [rdx]
mov qword [r11], rsi
mov qword [r11 + 8], rdx
mov rdx, qword [r10 + 0x1260]
add rdx, 0x10
mov qword [r10 + 0x1260], rdx
cmp qword [r10 + 0x1268], rdx
jne 0x414a88
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
xor eax, eax
xor ebx, ebx
call fcn.0042fea0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x50]
nop dword [rax]
jmp 0x414a88
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
call fcn.00414900
test rsi, rsi
je 0x414b25
mov rdx, qword [rsp + 0x50]
mov r8, qword [rdx + 0x1260]
mov rsi, qword [rsi]
mov qword [r8], rsi
mov qword [r8 + 8], 0
mov rsi, qword [rdx + 0x1260]
add rsi, 0x10
mov qword [rdx + 0x1260], rsi
cmp qword [rdx + 0x1268], rsi
jne 0x414b2f
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
xor eax, eax
xor ebx, ebx
call fcn.0042fea0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
jmp 0x414b2f
inc rax
cmp rdx, rax
jle 0x414be5
mov r9, qword [r8 + rax*8]
mov r10, qword [r9 + 0xd0]
cmp rdi, r10
jb 0x414ba6
nop
cmp qword [r9 + 0xd8], rdi
jbe 0x414ba6
mov rax, rdi
sub rdi, r10
mov rsi, qword [r9 + 0x208]
call fcn.00414dc0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov rdx, qword [0x009ae958]
test rdx, rdx
je 0x414bfa
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
jmp 0x414bff
xor edx, edx
xor r8d, r8d
xor eax, eax
jmp 0x414c06
inc rax
cmp rdx, rax
jle 0x414c45
mov r9, qword [r8 + rax*8]
mov r10, qword [r9 + 0xe0]
cmp rdi, r10
jb 0x414c03
nop dword [rax + rax]
cmp qword [r9 + 0xe8], rdi
jbe 0x414c03
mov rax, rdi
sub rdi, r10
mov rsi, qword [r9 + 0x218]
call fcn.00414dc0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
lea rax, [0x0072aae1]
mov ebx, 0x28
nop dword [rax + rax]
call fcn.00436d20
nop
int3