Function at 0x4147c0
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 0x414aaf
cmp byte [0x013760e4], 0
je 0x4148de
nop
movabs rdx, 0x800000000000
add rdx, rdi
mov r8, rdx
shr rdx, 0x2a
cmp rdx, 0x40
jb 0x414818
xor edx, edx
jmp 0x414860
lea r9, [0x01348070]
mov rdx, qword [r9 + rdx*8]
test rdx, rdx
je 0x41485a
shr r8, 0x16
and r8d, 0xfffff
mov rdx, qword [rdx + r8*8]
test rdx, rdx
je 0x414856
mov rax, rdi
shr rdi, 0xd
and edi, 0x1ff
mov rdx, qword [rdx + rdi*8 + 0x10400]
mov rdi, rax
jmp 0x414860
xor edx, edx
jmp 0x414860
xor edx, edx
nop dword [rax]
test rdx, rdx
jne 0x414886
mov rdx, qword [0x0131fb28]
test rdx, rdx
je 0x41487a
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
jmp 0x41487f
xor edx, edx
xor r8d, r8d
xor eax, eax
jmp 0x414a09
nop
mov sil, byte [rdx + 0x63]
cmp sil, 1
jne 0x41489d
cmp qword [rdx + 0x18], rdi
ja 0x41489d
cmp qword [rdx + 0x70], rdi
ja 0x4148a7
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.00414640
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x41498f
jmp 0x4148e8
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
call fcn.00414760
test rsi, rsi
je 0x414985
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 0x4148e8
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.0042fce0
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 0x4148e8
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
call fcn.00414760
test rsi, rsi
je 0x414985
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 0x41498f
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.0042fce0
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 0x41498f
inc rax
cmp rdx, rax
jle 0x414a45
mov r9, qword [r8 + rax*8]
mov r10, qword [r9 + 0xd0]
cmp rdi, r10
jb 0x414a06
nop
cmp qword [r9 + 0xd8], rdi
jbe 0x414a06
mov rax, rdi
sub rdi, r10
mov rsi, qword [r9 + 0x208]
call fcn.00414c20
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov rdx, qword [0x0131fb28]
test rdx, rdx
je 0x414a5a
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
jmp 0x414a5f
xor edx, edx
xor r8d, r8d
xor eax, eax
jmp 0x414a66
inc rax
cmp rdx, rax
jle 0x414aa5
mov r9, qword [r8 + rax*8]
mov r10, qword [r9 + 0xe0]
cmp rdi, r10
jb 0x414a63
nop dword [rax + rax]
cmp qword [r9 + 0xe8], rdi
jbe 0x414a63
mov rax, rdi
sub rdi, r10
mov rsi, qword [r9 + 0x218]
call fcn.00414c20
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
lea rax, [0x006d9ad8]
mov ebx, 0x28
nop dword [rax + rax]
call fcn.00436b60
nop
int3