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

Disassembly:
lea r12, [rsp - 0x50]
cmp r12, qword [r14 + 0x10]
jbe 0x4a5a97
sub rsp, 0xd0
mov qword [rsp + 0xc8], rbp
lea rbp, [rsp + 0xc8]
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xd8], rax
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x20]
inc r8
mov r9, qword [rax + 0x18]
mov rcx, qword [rax + 0x28]
cmp rcx, r8
jae 0x4a586d
mov qword [rsp + 0x48], rdx
mov rax, r9
mov rbx, r8
mov edi, 1
lea rsi, [0x006790e0]
call fcn.0044a8e0
mov rdi, qword [rsp + 0xd8]
mov qword [rdi + 0x28], rcx
cmp dword [0x013760e0], 0
jne 0x4a5845
mov qword [rdi + 0x18], rax
jmp 0x4a5857
lea rdx, [rdi + 0x18]
mov rcx, rdi
mov rdi, rdx
call fcn.00465580
mov rdi, rcx
mov rdx, qword [rsp + 0x48]
mov r8, rbx
mov r9, rax
mov rax, rdi
mov rbx, qword [rsp + 0xe0]
mov qword [rax + 0x20], r8
mov qword [r9 + r8*8 - 8], rdx
cmp qword [rbx], 0
nop word [rax + rax]
je 0x4a5a5f
mov rdx, qword [rax]
mov qword [rsp + 0x80], rdx
movups xmm0, xmmword [rax + 8]
movups xmmword [rsp + 0x88], xmm0
movups xmm0, xmmword [rax + 0x18]
movups xmmword [rsp + 0x98], xmm0
movups xmm0, xmmword [rax + 0x28]
movups xmmword [rsp + 0xa8], xmm0
movups xmm0, xmmword [rax + 0x38]
movups xmmword [rsp + 0xb8], xmm0
xor ecx, ecx
call fcn.004a5d20
test al, al
jne 0x4a5a4d
cmp dword [0x013760e0], 0
jne 0x4a5922
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0xd8]
mov qword [r8], rdx
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [r8 + 8], xmm0
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [r8 + 0x18], xmm0
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [r8 + 0x28], xmm0
movups xmm0, xmmword [rsp + 0xb8]
movups xmmword [r8 + 0x38], xmm0
jmp 0x4a5946
lea rax, [0x006b1ec0]
mov rbx, qword [rsp + 0xd8]
lea rcx, [rsp + 0x80]
call fcn.00413de0
mov r8, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
mov r9, qword [rdx]
movzx edx, byte [rdx + 0x15]
mov r10, qword [r8 + 0x30]
lea r10, [rdx + r10]
lea r10, [r10 - 1]
neg rdx
and rdx, r10
mov qword [r8 + 0x30], rdx
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rsp + 0x70], xmm15
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x60], r9
mov rdx, qword [r8 + 0x30]
mov qword [rsp + 0x68], rdx
mov rbx, qword [r8 + 8]
inc rbx
mov rax, qword [r8]
mov rcx, qword [r8 + 0x10]
cmp rcx, rbx
jae 0x4a59e4
mov qword [rsp + 0x40], r9
mov edi, 1
lea rsi, [0x006b51c0]
call fcn.0044a8e0
mov rdi, qword [rsp + 0xd8]
mov qword [rdi + 0x10], rcx
cmp dword [0x013760e0], 0
jne 0x4a59d7
mov qword [rdi], rax
jmp 0x4a59dc
call fcn.00465580
mov r8, rdi
mov r9, qword [rsp + 0x40]
mov qword [r8 + 8], rbx
lea rdx, [rbx + rbx*2]
shl rdx, 4
lea rbx, [rax + rdx]
lea rbx, [rbx - 0x30]
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rbx], xmm0
lea rdx, [rdx + rax]
lea rdx, [rdx - 0x20]
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rdx + 0x10], xmm0
add qword [r8 + 0x30], r9
mov rax, qword [r8 + 8]
mov rdx, qword [r8]
lea rbx, [rax - 1]
cmp rax, rbx
jbe 0x4a5a8b
lea rcx, [rax + rax*2]
shl rcx, 4
lea rax, [rdx + rcx]
lea rax, [rax - 0x30]
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
xor eax, eax
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov rcx, qword [rax + 0x30]
movzx edx, byte [rbx + 0x15]
lea rcx, [rdx + rcx]
lea rcx, [rcx - 1]
neg rdx
and rdx, rcx
mov qword [rax + 0x30], rdx
xor eax, eax
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov rcx, rax
mov rax, rbx
call fcn.00465a20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004633c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004a57c0