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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x524211
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x50], rax
xor ecx, ecx
xor edx, edx
jmp 0x523f66
mov rcx, rsi
cmp rbx, rcx
jle 0x524079
jbe 0x524205
movzx esi, byte [rax + rcx]
cmp sil, 0x25
je 0x523f85
lea rsi, [rcx + 1]
jmp 0x523f63
lea rsi, [rcx + 2]
cmp rbx, rsi
jle 0x524005
lea r8, [rcx + 1]
cmp rbx, r8
jbe 0x5241fa
movzx r8d, byte [rax + rcx + 1]
lea r9d, [r8 - 0x30]
cmp r9b, 9
ja 0x523fb0
cmp rbx, rsi
jmp 0x523fcc
lea r9d, [r8 - 0x61]
cmp r9b, 5
ja 0x523fbf
cmp rbx, rsi
jmp 0x523fcc
add r8d, 0xffffffbf
cmp r8b, 5
ja 0x524005
cmp rbx, rsi
jbe 0x5241ef
movzx esi, byte [rax + rcx + 2]
lea r8d, [rsi - 0x30]
nop dword [rax + rax]
cmp r8b, 9
jbe 0x523ff9
lea r8d, [rsi - 0x61]
cmp r8b, 5
jbe 0x523ff9
add esi, 0xffffffbf
cmp sil, 5
ja 0x524005
inc rdx
lea rsi, [rcx + 3]
jmp 0x523f63
sub rbx, rcx
mov rdx, rbx
neg rbx
sar rbx, 0x3f
and rcx, rbx
add rax, rcx
cmp rdx, 3
jle 0x524023
mov edx, 3
movups xmmword [rsp + 0x30], xmm15
mov rbx, rdx
call fcn.0040afc0
lea rcx, [0x00679500]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
lea rax, [0x006d602d]
mov ebx, 0x23
lea rcx, [rsp + 0x30]
mov edi, 1
mov rsi, rdi
nop dword [rax + rax]
call fcn.004c8440
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
test rdx, rdx
je 0x5240ba
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rax
shl rdx, 1
mov rcx, rbx
sub rcx, rdx
mov qword [rsp + 0x28], rcx
lea rax, [0x006796c0]
mov rbx, rcx
call fcn.0044a840
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
xor ebx, ebx
xor edi, edi
jmp 0x5240cb
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov rbx, r8
cmp rcx, rbx
jle 0x5241a5
jbe 0x5241e7
movzx r8d, byte [rsi + rbx]
nop
cmp r8b, 0x25
jne 0x52418b
lea r8, [rbx + 1]
cmp rcx, r8
jbe 0x5241df
movzx r8d, byte [rsi + rbx + 1]
lea r9d, [r8 - 0x30]
cmp r9b, 9
jbe 0x52412f
lea r9d, [r8 - 0x61]
cmp r9b, 5
ja 0x524117
lea r9d, [r8 - 0x57]
jmp 0x52412f
lea r9d, [r8 - 0x41]
nop dword [rax + rax]
cmp r9b, 5
ja 0x52412c
lea r9d, [r8 - 0x37]
jmp 0x52412f
xor r9d, r9d
lea r8, [rbx + 2]
cmp rcx, r8
jbe 0x5241d7
movzx r8d, byte [rsi + rbx + 2]
lea r10d, [r8 - 0x30]
cmp r10b, 9
jbe 0x52416f
lea r10d, [r8 - 0x61]
cmp r10b, 5
ja 0x52415c
lea r10d, [r8 - 0x57]
jmp 0x52416f
lea r10d, [r8 - 0x41]
cmp r10b, 5
ja 0x52416c
lea r10d, [r8 - 0x37]
jmp 0x52416f
xor r10d, r10d
shl r9d, 4
or r9d, r10d
cmp rdi, rdx
jae 0x5241cc
mov byte [rax + rdi], r9b
inc rdi
lea r8, [rbx + 3]
jmp 0x5240c8
cmp rdi, rdx
jae 0x5241c1
mov byte [rax + rdi], r8b
inc rdi
lea r8, [rbx + 1]
nop dword [rax + rax]
jmp 0x5240c8
mov rbx, rax
mov rcx, rdx
xor eax, eax
call fcn.0044eb00
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
nop
ret
mov rax, rdi
mov rcx, rdx
call fcn.00465da0
mov rax, rdi
mov rcx, rdx
call fcn.00465da0
mov rax, r8
call fcn.00465da0
mov rax, r8
call fcn.00465da0
mov rax, rbx
call fcn.00465da0
mov rax, rsi
mov rcx, rbx
call fcn.00465da0
mov rax, r8
mov rcx, rbx
call fcn.00465da0
mov rax, rcx
mov rcx, rbx
call fcn.00465da0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
nop dword [rax + rax]
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00523f40