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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x47e58d
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
mov qword [rsp + 0x98], rax
lea rdx, [rsi - 2]
cmp rdx, 0x22
ja 0x47e579
movups xmmword [rsp + 0x3f], xmm15
movups xmmword [rsp + 0x40], xmm15
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rsp + 0x70], xmm15
test r8b, r8b
je 0x47e122
neg rdi
cmp rsi, 0xa
jne 0x47e132
mov edx, 0x41
jmp 0x47e3e0
lea rdx, [rsi - 1]
test rsi, rdx
jne 0x47e151
bsf rdx, rsi
and edx, 7
lea r10, [rsi - 1]
mov r11d, 0x41
jmp 0x47e353
mov edx, 0x41
jmp 0x47e166
mov byte [rsp + r11 + 0x3e], r12b
mov rdi, rdx
mov rdx, rax
mov rax, r10
cmp rsi, rdi
ja 0x47e1ab
mov r10, rax
mov rax, rdi
mov r11, rdx
xor edx, edx
div rsi
mov rdx, rax
imul rax, rsi
sub rdi, rax
cmp rdi, 0x24
jae 0x47e32f
lea rax, [r11 - 1]
lea r12, [0x006b09c5]
movzx r12d, byte [rdi + r12]
nop dword [rax]
cmp rax, 0x41
jb 0x47e158
jmp 0x47e325
lea r10, [rdx - 1]
lea r11, [0x006b09c5]
movzx r11d, byte [rdi + r11]
nop dword [rax + rax]
cmp r10, 0x41
jae 0x47e316
mov byte [rsp + rdx + 0x3e], r11b
test r8b, r8b
je 0x47e1f2
lea rdx, [r10 - 1]
nop dword [rax + rax]
cmp rdx, 0x41
jae 0x47e309
mov byte [rsp + r10 + 0x3e], 0x2d
jmp 0x47e1f5
mov rdx, r10
test r9b, r9b
je 0x47e2ac
nop
cmp rdx, 0x41
ja 0x47e2fc
mov r8, rbx
sub rbx, rdx
add rbx, 0x41
lea rdi, [rdx - 0x41]
mov r9, rdi
sar rdi, 0x3f
and rdx, rdi
lea rdx, [rsp + rdx + 0x3f]
neg r9
cmp rcx, rbx
jae 0x47e262
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x28], r8
mov rdi, r9
lea rsi, [0x006578a0]
call fcn.0044a920
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x28], rcx
lea rsi, [rax + r8]
mov rax, rsi
mov rbx, rdx
mov rcx, r9
call fcn.004662e0
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
xor edi, edi
xor esi, esi
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
cmp rdx, 0x41
ja 0x47e2ef
lea rcx, [rdx - 0x41]
mov rsi, rcx
sar rcx, 0x3f
and rdx, rcx
lea rbx, [rsp + rdx + 0x3f]
neg rsi
xor eax, eax
mov rcx, rsi
call fcn.0044eb00
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, rdx
mov ecx, 0x41
call fcn.00465a00
mov rax, rdx
mov ecx, 0x41
call fcn.00465a00
mov rax, rdx
mov ecx, 0x41
call fcn.00465940
mov rax, r10
mov ecx, 0x41
nop
call fcn.00465940
mov ecx, 0x41
call fcn.00465940
mov rax, rdi
mov ecx, 0x24
call fcn.00465960
mov byte [rsp + r11 + 0x3e], r15b
mov rdi, rcx
mov rcx, rdx
shr r12, cl
mov rcx, rdi
mov rdi, r12
mov r11, r13
cmp rsi, rdi
ja 0x47e37e
mov r12, rdi
and rdi, r10
nop
cmp rdi, 0x24
jae 0x47e3bf
lea r13, [r11 - 1]
lea r15, [0x006b09c5]
movzx r15d, byte [rdi + r15]
cmp r13, 0x41
jb 0x47e33c
jmp 0x47e3b2
lea rdx, [r11 - 1]
lea r10, [0x006b09c5]
movzx r10d, byte [rdi + r10]
cmp rdx, 0x41
jae 0x47e3a5
mov byte [rsp + r11 + 0x3e], r10b
test r8b, r8b
mov r10, rdx
nop
jmp 0x47e1d2
mov rax, rdx
mov ecx, 0x41
call fcn.00465940
mov rax, r13
mov ecx, 0x41
call fcn.00465940
mov rax, rdi
mov ecx, 0x24
call fcn.00465960
mov byte [rsp + r11 + 0x3d], r10b
mov rdi, rdx
mov rdx, rax
mov rax, rsi
nop word [rax + rax]
cmp rdi, 0x64
jb 0x47e48f
mov r10, rdi
shr rdi, 1
mov rsi, rax
movabs rax, 0xa3d70a3d70a3d70b
mov r11, rdx
mul rdi
shr rdx, 5
imul r12, rdx, 0x64
sub r10, r12
lea rax, [r10 + r10]
lea rax, [rax + 1]
nop word [rax + rax]
nop
cmp rax, 0xc8
jae 0x47e56f
lea rax, [r11 - 1]
lea r12, [0x006b9182]
lea r13, [r12 + r10*2]
lea r13, [r13 + 1]
movzx r13d, byte [r13]
cmp rax, 0x41
jae 0x47e565
mov byte [rsp + r11 + 0x3e], r13b
mov rax, r10
shl rax, 1
nop dword [rax]
cmp rax, 0xc8
jae 0x47e556
lea rax, [r11 - 2]
lea r10, [r12 + r10*2]
movzx r10d, byte [r10]
nop dword [rax + rax]
cmp rax, 0x41
jb 0x47e3cc
jmp 0x47e54c
lea r10, [rdi + rdi]
lea r10, [r10 + 1]
nop word [rax + rax]
cmp r10, 0xc8
jae 0x47e53f
lea r10, [rdx - 1]
lea r11, [0x006b9182]
lea r12, [r11 + rdi*2]
lea r12, [r12 + 1]
movzx r12d, byte [r12]
cmp r10, 0x41
jae 0x47e532
mov byte [rsp + rdx + 0x3e], r12b
cmp rdi, 0xa
jb 0x47e505
mov r10, rdi
shl rdi, 1
nop dword [rax]
cmp rdi, 0xc8
jae 0x47e525
lea r12, [rdx - 2]
lea r10, [r11 + r10*2]
movzx r10d, byte [r10]
cmp r12, 0x41
jae 0x47e513
mov byte [rsp + rdx + 0x3d], r10b
test r8b, r8b
jmp 0x47e50b
test r8b, r8b
mov r12, r10
mov r10, r12
jmp 0x47e1d2
mov rax, r12
mov ecx, 0x41
nop dword [rax + rax]
call fcn.00465940
mov rax, rdi
mov ecx, 0xc8
call fcn.00465960
mov rax, r10
mov ecx, 0x41
call fcn.00465940
mov rax, r10
mov ecx, 0xc8
call fcn.00465960
mov ecx, 0x41
call fcn.00465940
mov ecx, 0xc8
nop dword [rax + rax]
call fcn.00465960
mov ecx, 0x41
call fcn.00465940
mov ecx, 0xc8
call fcn.00465960
lea rax, [0x006576e0]
lea rbx, [0x00718d50]
call fcn.00436420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
mov byte [rsp + 0x31], r9b
call fcn.004632e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
movzx r9d, byte [rsp + 0x31]
jmp fcn.0047e0c0