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

Disassembly:
lea r12, [rsp - 0xa8]
cmp r12, qword [r14 + 0x10]
jbe 0x44811a
push rbp
mov rbp, rsp
sub rsp, 0x120
mov ecx, dword [rax]
nop
cmp ecx, 1
je 0x448108
cmp ecx, 2
je 0x447cd8
mov qword [rsp + 0x130], rax
mov dword [rax], 1
cmp byte [0x00696980], 0
jne 0x447c71
xor edx, edx
xor ecx, ecx
xor ebx, ebx
jmp 0x447ca6
nop
call fcn.00468100
xorps xmm15, xmm15
mov r14, qword [0x00696838]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [0x00696990]
mov rcx, qword [0x00696998]
mov rdx, qword [rsp]
mov rbx, rax
mov rax, qword [rsp + 0x130]
cmp dword [rax + 4], 0
je 0x4480f7
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xc0], rdx
lea rsi, [rax + 8]
mov qword [rsp + 0x110], rsi
xor esi, esi
jmp 0x447d34
add rsp, 0x120
pop rbp
ret
mov eax, esi
shl rsi, 3
add rsi, qword [rsp + 0x110]
inc eax
mov dword [rsp + 0xbc], eax
mov qword [rsp + 0x108], rsi
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rdx]
call rcx
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xd8]
mov esi, dword [rsp + 0xbc]
cmp dword [rax + 4], esi
ja 0x447ce1
cmp byte [0x00696980], 0
je 0x447f0f
nop
call fcn.00468100
xorps xmm15, xmm15
mov r14, qword [0x00696838]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [0x00696998]
mov qword [rsp + 0xf8], rax
mov rcx, qword [rsp + 0x110]
mov rcx, qword [rcx]
mov rdx, qword [rsp]
mov rbx, qword [rsp + 0xc0]
sub rdx, rbx
mov qword [rsp + 0xf0], rdx
mov rsi, qword [0x00696990]
mov qword [rsp + 0xe8], rsi
mov rax, rcx
call fcn.00451c60
call fcn.004524e0
mov qword [rsp + 0x100], rax
mov qword [rsp + 0xc8], rbx
movups xmmword [rsp + 0x24], xmm15
movups xmmword [rsp + 0x2c], xmm15
call fcn.00438ae0
lea rax, [0x004df305]
mov ebx, 5
call fcn.00439360
mov rax, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xc8]
call fcn.00439360
lea rax, [0x004deffe]
mov ebx, 2
nop
call fcn.00439360
call fcn.00438b40
mov rax, qword [0x00696788]
mov rdi, qword [rsp + 0xc0]
sub rdi, rax
lea rax, [rsp + 0x24]
mov ebx, 0x18
mov rcx, rbx
call fcn.0041c580
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x9c]
nop dword [rax]
call fcn.0044fbc0
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xe0], rbx
call fcn.00438ae0
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xe0]
call fcn.00439360
lea rax, [0x004df30a]
mov ebx, 5
nop dword [rax + rax]
call fcn.00439360
call fcn.00438b40
lea rax, [rsp + 0x24]
mov ebx, 0x18
mov rcx, rbx
mov rdi, qword [rsp + 0xf0]
nop
call fcn.0041c580
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x7c]
call fcn.0044fbc0
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xe0], rbx
call fcn.00438ae0
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xe0]
call fcn.00439360
lea rax, [0x004e0113]
mov ebx, 0xb
call fcn.00439360
call fcn.00438b40
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xd0]
sub rax, rcx
mov ecx, 0x17
jmp 0x447f2d
mov dword [rax], 2
add rsp, 0x120
pop rbp
ret
lea rsi, [rbx + 0x30]
mov byte [rsp + rcx + 0x24], sil
dec rcx
mov rax, rdx
cmp rax, 0xa
jb 0x447f60
mov rdx, rax
movabs rax, 0xcccccccccccccccd
mov rbx, rdx
mul rdx
shr rdx, 3
lea rsi, [rdx + rdx*4]
shl rsi, 1
sub rbx, rsi
cmp rcx, 0x18
jb 0x447f1e
jmp 0x4480ea
cmp rcx, 0x18
jae 0x4480dd
lea rdx, [rax + 0x30]
mov byte [rsp + rcx + 0x24], dl
lea rdx, [rcx - 0x18]
mov rsi, rdx
sar rdx, 0x3f
and rcx, rdx
lea rbx, [rsp + rcx + 0x24]
neg rsi
lea rax, [rsp + 0x5c]
mov rcx, rsi
call fcn.0044fbc0
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xe0], rbx
call fcn.00438ae0
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xe0]
call fcn.00439360
lea rax, [0x004df891]
mov ebx, 8
call fcn.00439360
call fcn.00438b40
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xd8]
sub rdx, rsi
mov eax, 0x17
jmp 0x448000
lea rsi, [rbx + 0x30]
mov byte [rsp + rcx + 0x24], sil
lea rax, [rcx - 1]
nop dword [rax]
cmp rdx, 0xa
jb 0x448032
mov rcx, rax
movabs rax, 0xcccccccccccccccd
mov rbx, rdx
mul rdx
shr rdx, 3
lea rsi, [rdx + rdx*4]
shl rsi, 1
sub rbx, rsi
cmp rcx, 0x18
jb 0x447fef
jmp 0x4480d0
cmp rax, 0x18
jae 0x4480c6
add rdx, 0x30
mov byte [rsp + rax + 0x24], dl
lea rcx, [rax - 0x18]
mov rdx, rcx
sar rdx, 0x3f
and rax, rdx
lea rbx, [rsp + rax + 0x24]
neg rcx
lea rax, [rsp + 0x3c]
nop
call fcn.0044fbc0
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xe0], rbx
call fcn.00438ae0
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xe0]
call fcn.00439360
lea rax, [0x004df621]
mov ebx, 7
nop dword [rax + rax]
call fcn.00439360
call fcn.00438b40
call fcn.00438ae0
call fcn.00438d20
call fcn.00438b40
mov rax, qword [rsp + 0x130]
jmp 0x447f0f
mov ecx, 0x18
call fcn.00466800
mov rax, rcx
mov ecx, 0x18
call fcn.00466800
mov rax, rcx
mov ecx, 0x18
call fcn.00466800
mov rax, rcx
mov ecx, 0x18
call fcn.00466800
lea rax, [0x004e52fc]
mov ebx, 0x1a
call fcn.00437040
lea rax, [0x004ea287]
mov ebx, 0x32
call fcn.00437040
nop
mov qword [rsp + 8], rax
nop
call fcn.00464520
mov rax, qword [rsp + 8]
jmp fcn.00447c20