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

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x4882f1
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov qword [rsp + 0xb0], rax
xor ecx, ecx
xor edx, edx
jmp 0x487eeb
inc rcx
cmp rbx, rcx
jle 0x487f33
movzx esi, byte [rax + rcx]
cmp sil, 0x80
jae 0x487f18
test dl, dl
je 0x487f05
mov edx, 1
jmp 0x487ee8
cmp sil, 0x41
jb 0x487f14
cmp sil, 0x5a
setbe dl
jmp 0x487ee8
xor edx, edx
jmp 0x487ee8
mov rcx, rbx
mov rbx, rax
lea rax, fcn.0046c7a0
call fcn.004879c0
add rsp, 0xa0
pop rbp
ret
test dl, dl
je 0x487f7c
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xb0], rax
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
lea rax, [rsp + 0x80]
call fcn.004840a0
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
xor eax, eax
xor edx, edx
jmp 0x487f88
add rsp, 0xa0
pop rbp
ret
inc rax
cmp rbx, rax
jle 0x488180
movzx r8d, byte [rcx + rax]
lea r9d, [r8 - 0x41]
nop word [rax + rax]
cmp r9b, 0x19
ja 0x487f85
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x47], r8b
cmp rdx, rax
jge 0x4880c7
ja 0x4882e5
mov rdi, rax
sub rdi, rdx
mov r9, rdi
neg r9
sar r9, 0x3f
and rdx, r9
mov r9, qword [rsp + 0x80]
add rdx, rcx
nop
nop
test r9, r9
je 0x487ff7
lea r10, [rsp + 0x80]
cmp r9, r10
je 0x488007
jmp 0x4882d0
lea r9, [rsp + 0x80]
mov qword [rsp + 0x80], r9
mov r9, qword [rsp + 0x98]
mov r10, qword [rsp + 0x90]
lea r11, [r10 + rdi]
mov r12, qword [rsp + 0x88]
cmp r9, r11
jae 0x488064
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x60], r10
mov rax, r12
mov rbx, r11
mov rcx, r9
lea rsi, [0x0065bae0]
call fcn.0044b880
mov rdx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
mov r12, rax
mov r9, rcx
mov r11, rbx
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x58], r11
lea rax, [r12 + r10]
mov rbx, rdx
mov rcx, rdi
nop dword [rax]
call fcn.00467360
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x98], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x88], rdx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
movzx r8d, byte [rsp + 0x47]
mov rdx, qword [rsp + 0x80]
nop
nop
test rdx, rdx
je 0x4880ea
lea r9, [rsp + 0x80]
nop
cmp rdx, r9
je 0x4880fa
jmp 0x4882bd
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x80], rdx
mov rdx, qword [rsp + 0x98]
mov r9, qword [rsp + 0x90]
inc r9
mov r10, qword [rsp + 0x88]
cmp rdx, r9
jae 0x488165
mov rax, r10
mov rbx, r9
mov rcx, rdx
mov edi, 1
lea rsi, [0x0065bae0]
call fcn.0044b880
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0xb0]
movzx r8d, byte [rsp + 0x47]
mov r9, rbx
mov r10, rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0xb8]
mov qword [rsp + 0x90], r9
add r8d, 0x20
mov byte [r9 + r10 - 1], r8b
lea rdx, [rax + 1]
jmp 0x487f85
cmp rbx, rdx
jle 0x48826c
jb 0x4882b2
sub rbx, rdx
mov rdi, rbx
neg rbx
sar rbx, 0x3f
and rdx, rbx
mov r8, qword [rsp + 0x80]
lea rbx, [rcx + rdx]
nop
test r8, r8
je 0x4881c5
lea rdx, [rsp + 0x80]
cmp r8, rdx
je 0x4881d5
nop
jmp 0x48829f
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x80], rdx
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
lea r8, [rdi + rdx]
mov rax, qword [rsp + 0x88]
cmp rcx, r8
jae 0x488226
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rbx
mov rbx, r8
lea rsi, [0x0065bae0]
call fcn.0044b880
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r8, rbx
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], r8
add rdx, rax
mov rax, rdx
mov rcx, rdi
nop
call fcn.00467360
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x98], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x88], rdx
mov rax, qword [rsp + 0x88]
mov rcx, rax
neg rcx
mov rbx, qword [rsp + 0x90]
cmp rbx, rcx
ja 0x488290
add rsp, 0xa0
pop rbp
ret
test rax, rax
je 0x48829a
call fcn.0045d440
call fcn.0045d480
lea rax, [0x0065b7a0]
lea rbx, [0x007274e0]
call fcn.00436ac0
mov rax, rdx
mov rcx, rbx
call fcn.00466a20
lea rax, [0x0065b7a0]
lea rbx, [0x007274e0]
call fcn.00436ac0
lea rax, [0x0065b7a0]
lea rbx, [0x007274e0]
nop
call fcn.00436ac0
mov rcx, rax
mov rax, rdx
call fcn.00466a20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
nop dword [rax + rax]
call fcn.004646a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00487ec0