Function at 0x414820
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 0x414b0f
cmp byte [0x008f2cf4], 0
je 0x41493e
nop
movabs rdx, 0x800000000000
add rdx, rdi
mov r8, rdx
shr rdx, 0x2a
cmp rdx, 0x40
jb 0x414878
xor edx, edx
jmp 0x4148c0
lea r9, [0x008c4c90]
mov rdx, qword [r9 + rdx*8]
test rdx, rdx
je 0x4148ba
shr r8, 0x16
and r8d, 0xfffff
mov rdx, qword [rdx + r8*8]
test rdx, rdx
je 0x4148b6
mov rax, rdi
shr rdi, 0xd
and edi, 0x1ff
mov rdx, qword [rdx + rdi*8 + 0x10400]
mov rdi, rax
jmp 0x4148c0
xor edx, edx
jmp 0x4148c0
xor edx, edx
nop dword [rax]
test rdx, rdx
jne 0x4148e6
mov rdx, qword [0x0089c9a0]
test rdx, rdx
je 0x4148da
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
jmp 0x4148df
xor edx, edx
xor r8d, r8d
xor eax, eax
jmp 0x414a69
nop
mov sil, byte [rdx + 0x63]
cmp sil, 1
jne 0x4148fd
cmp qword [rdx + 0x18], rdi
ja 0x4148fd
cmp qword [rdx + 0x70], rdi
ja 0x414907
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.004146a0
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x4149ef
jmp 0x414948
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
call fcn.004147c0
test rsi, rsi
je 0x4149e5
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 0x414948
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.0042fd40
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 0x414948
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
call fcn.004147c0
test rsi, rsi
je 0x4149e5
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 0x4149ef
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.0042fd40
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 0x4149ef
inc rax
cmp rdx, rax
jle 0x414aa5
mov r9, qword [r8 + rax*8]
mov r10, qword [r9 + 0xd0]
cmp rdi, r10
jb 0x414a66
nop
cmp qword [r9 + 0xd8], rdi
jbe 0x414a66
mov rax, rdi
sub rdi, r10
mov rsi, qword [r9 + 0x208]
call fcn.00414c80
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov rdx, qword [0x0089c9a0]
test rdx, rdx
je 0x414aba
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
jmp 0x414abf
xor edx, edx
xor r8d, r8d
xor eax, eax
jmp 0x414ac6
inc rax
cmp rdx, rax
jle 0x414b05
mov r9, qword [r8 + rax*8]
mov r10, qword [r9 + 0xe0]
cmp rdi, r10
jb 0x414ac3
nop dword [rax + rax]
cmp qword [r9 + 0xe8], rdi
jbe 0x414ac3
mov rax, rdi
sub rdi, r10
mov rsi, qword [r9 + 0x218]
call fcn.00414c80
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
lea rax, [0x006b2259]
mov ebx, 0x28
nop dword [rax + rax]
call fcn.00436bc0
nop
int3