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

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x4ff12e
sub rsp, 0xb8
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
xor ecx, ecx
xor edx, edx
jmp 0x4fec77
inc rcx
cmp rbx, rcx
jle 0x4fecc8
movzx r8d, byte [rax + rcx]
cmp r8b, 0x80
jae 0x4feca6
test dl, dl
je 0x4fec92
mov edx, 1
jmp 0x4fec74
cmp r8b, 0x41
jb 0x4feca2
cmp r8b, 0x5a
setbe dl
nop
jmp 0x4fec74
xor edx, edx
jmp 0x4fec74
mov rcx, rbx
mov rbx, rax
lea rax, fcn.004a3100
call fcn.004fe620
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
test dl, dl
je 0x4fedc2
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xc0], rax
movups xmmword [rsp + 0x90], xmm15
movups xmmword [rsp + 0xa0], xmm15
nop
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x90], rdx
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
mov r10, r9
sub r9, r8
nop dword [rax]
cmp rbx, r9
jle 0x4fedba
mov qword [rsp + 0x50], r8
nop
lea rcx, [rbx + r10*2]
mov qword [rsp + 0x58], rcx
lea rax, [0x00667c00]
mov rbx, r8
call fcn.0044a620
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x50]
cmp rdx, rcx
mov rsi, rcx
cmovl rcx, rdx
mov rbx, qword [rsp + 0x98]
cmp rax, rbx
je 0x4fed85
mov qword [rsp + 0x88], rax
call fcn.00466460
mov rax, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rsi
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xc0]
lea rdx, [rsp + 0x90]
mov rbx, qword [rsp + 0xc8]
xor ecx, ecx
xor esi, esi
nop
jmp 0x4fedd5
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
inc rcx
cmp rbx, rcx
jle 0x4fefc5
movzx r8d, byte [rax + rcx]
lea r9d, [r8 - 0x41]
cmp r9b, 0x19
ja 0x4fedd2
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x47], r8b
nop word [rax + rax]
cmp rsi, rcx
jge 0x4fef14
ja 0x4ff125
mov rdi, rcx
sub rdi, rsi
mov r9, rdi
neg rdi
sar rdi, 0x3f
and rsi, rdi
lea r10, [rax + rsi]
nop
mov r11, qword [rsp + 0x90]
test r11, r11
je 0x4fee3e
cmp r11, rdx
je 0x4fee46
jmp 0x4ff10e
mov qword [rsp + 0x90], rdx
mov r11, qword [rsp + 0xa0]
lea r12, [r11 + r9]
mov r13, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x98]
cmp r13, r12
jae 0x4feea6
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x60], r11
mov rax, r15
mov rbx, r12
mov rcx, r13
mov rdi, r9
lea rsi, [0x00667c00]
call fcn.0044a700
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x60]
mov r15, rax
mov r13, rcx
mov r12, rbx
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x60], r12
lea rax, [r15 + r11]
mov rbx, r10
mov rcx, r9
call fcn.00466460
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x98], rdx
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x90]
mov rbx, qword [rsp + 0xc8]
movzx r8d, byte [rsp + 0x47]
nop
nop
mov r9, qword [rsp + 0x90]
nop
test r9, r9
je 0x4fef2f
cmp r9, rdx
je 0x4fef37
jmp 0x4ff0fb
mov qword [rsp + 0x90], rdx
mov r9, qword [rsp + 0xa0]
inc r9
mov r10, qword [rsp + 0x98]
mov r11, qword [rsp + 0xa8]
cmp r11, r9
jae 0x4fefaa
mov rax, r10
mov rbx, r9
mov rcx, r11
mov edi, 1
lea rsi, [0x00667c00]
call fcn.0044a700
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x90]
movzx r8d, byte [rsp + 0x47]
mov r9, rbx
mov r10, rax
mov rax, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
mov qword [rsp + 0xa0], r9
add r8d, 0x20
mov byte [r9 + r10 - 1], r8b
lea rsi, [rcx + 1]
nop
jmp 0x4fedd2
cmp rbx, rsi
jle 0x4ff0a8
jb 0x4ff0f0
sub rbx, rsi
mov rdi, rbx
neg rbx
sar rbx, 0x3f
and rsi, rbx
lea rbx, [rax + rsi]
nop
mov r8, qword [rsp + 0x90]
test r8, r8
je 0x4ff005
cmp r8, rdx
je 0x4ff00d
nop dword [rax + rax]
jmp 0x4ff0dd
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0xa0]
lea r8, [rdi + rdx]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
cmp rcx, r8
jae 0x4ff05e
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rbx
mov rbx, r8
lea rsi, [0x00667c00]
call fcn.0044a700
mov rdx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov r8, rbx
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], r8
add rdx, rax
mov rax, rdx
mov rcx, rdi
call fcn.00466460
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x98], rdx
mov rax, qword [rsp + 0x98]
mov rcx, rax
neg rax
mov rbx, qword [rsp + 0xa0]
nop
cmp rbx, rax
ja 0x4ff0d8
mov rax, rcx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
call fcn.0045d000
lea rax, [0x00667a40]
lea rbx, [0x0072dd30]
call fcn.00436260
mov rax, rsi
mov rcx, rbx
call fcn.00465b60
lea rax, [0x00667a40]
lea rbx, [0x0072dd30]
call fcn.00436260
lea rax, [0x00667a40]
lea rbx, [0x0072dd30]
nop dword [rax]
call fcn.00436260
mov rax, rsi
call fcn.00465b60
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004fec40