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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x4495d1
push rbp
mov rbp, rsp
sub rsp, 0x88
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa8], rcx
jmp 0x449200
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x50]
mov rcx, rsi
nop dword [rax]
test rbx, rbx
je 0x449434
test rcx, rcx
je 0x449217
lea rsi, [rbx - 1]
jmp 0x449568
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x68], rax
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x2c
call fcn.00403360
xorps xmm15, xmm15
mov r14, qword [0x00696838]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
test rcx, rcx
jge 0x449262
mov rdx, qword [rsp + 0x68]
xor esi, esi
xor eax, eax
mov rcx, qword [rsp + 0x28]
nop
jmp 0x449298
mov rdx, qword [rsp + 0x28]
cmp rdx, rcx
jb 0x449560
lea rax, [rcx + 1]
cmp rdx, rax
jb 0x449556
sub rdx, rcx
dec rdx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
mov rdx, qword [rsp + 0x68]
add rax, rdx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x80], rax
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 0x3d
nop dword [rax]
call fcn.00403360
xorps xmm15, xmm15
mov r14, qword [0x00696838]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
nop dword [rax]
test rcx, rcx
jge 0x4492f2
mov rsi, qword [rsp + 0xa8]
jmp 0x4491ec
mov rdx, qword [rsp + 0x38]
nop word [rax + rax]
cmp rdx, rcx
jb 0x449551
lea rax, [rcx + 1]
cmp rdx, rax
jb 0x449549
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x48], rax
lea rax, [0x004c8700]
mov rbx, qword [rsp + 0xa8]
mov rdi, rcx
mov rcx, qword [rsp + 0x70]
call fcn.00412140
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
sub rbx, rdi
dec rbx
mov rdx, rbx
neg rdx
sar rdx, 0x3f
mov rsi, qword [rsp + 0x48]
and rsi, rdx
mov rcx, qword [rsp + 0x70]
lea rdx, [rsi + rcx]
cmp byte [rax], 0
je 0x449379
mov rsi, qword [rsp + 0xa8]
jmp 0x4491ec
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x58], rdx
mov rsi, qword [rsp + 0xa8]
test rsi, rsi
je 0x4493c9
lea rax, [0x004c8700]
mov rbx, rsi
call fcn.004128e0
mov byte [rax], 1
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x30]
jne 0x449418
cmp rdi, 0xe
jne 0x449418
movabs r8, 0x69666f72706d656d
nop dword [rax + rax]
cmp qword [rcx], r8
jne 0x449418
cmp dword [rcx + 8], 0x6172656c
jne 0x449418
cmp word [rcx + 0xc], 0x6574
jne 0x449418
mov rax, rdx
call fcn.00450020
nop
test bl, bl
je 0x44940b
mov qword [0x005fc378], rax
mov rsi, qword [rsp + 0xa8]
jmp 0x4491ec
mov r8, qword [0x00602ac0]
mov qword [rsp + 0x78], r8
mov r9, qword [0x00602ac8]
mov qword [rsp + 0x48], r9
xor eax, eax
jmp 0x449460
cmp dword [0x00696bc0], 1
jg 0x449446
add rsp, 0x88
pop rbp
ret
lea rax, [0x004eb0ea]
mov ebx, 0x66
call fcn.00437040
inc rax
nop word [rax + rax]
cmp rax, r9
jge 0x4491ec
mov r10, qword [r8 + rax*8]
mov r11, qword [r10 + 8]
cmp r11, rdi
jne 0x449457
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], r10
mov rax, qword [r10]
mov rbx, rcx
mov rcx, r11
call fcn.004031c0
test al, al
jne 0x4494bf
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x48]
jmp 0x449457
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x20]
call fcn.00450020
movsxd rcx, eax
cmp rax, rcx
sete cl
mov edx, 0
cmove edx, eax
and ecx, ebx
test cl, cl
je 0x449519
mov rsi, qword [rsp + 0xa8]
test rsi, rsi
je 0x4494f9
mov rdi, qword [rsp + 0x60]
jmp 0x44950c
mov rdi, qword [rsp + 0x60]
mov r8, qword [rdi + 0x10]
test r8, r8
je 0x44950c
mov dword [r8], edx
jmp 0x449521
mov rdi, qword [rdi + 0x18]
test rdi, rdi
je 0x449521
xchg dword [rdi], edx
jmp 0x449521
mov rsi, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x48]
jmp 0x449457
mov rcx, rdx
call fcn.004668c0
call fcn.00466840
mov rcx, rdx
call fcn.004668c0
nop
call fcn.00466840
dec rsi
test rsi, rsi
jl 0x4495a6
movzx edi, byte [rax + rsi]
cmp dil, 0x2c
jne 0x449565
test rsi, rsi
jl 0x4495a6
nop dword [rax]
cmp rsi, rbx
ja 0x4495c5
lea rdx, [rsi + 1]
cmp rbx, rdx
jb 0x4495b5
sub rbx, rsi
dec rbx
mov rdi, rbx
neg rdi
sar rdi, 0x3f
and rdx, rdi
add rdx, rax
jmp 0x4495ad
xor esi, esi
mov rdx, rax
xor eax, eax
mov rcx, rbx
jmp 0x449298
mov rax, rdx
mov rcx, rbx
nop dword [rax + rax]
call fcn.004668c0
mov rcx, rsi
mov rdx, rbx
call fcn.00466840
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00464520
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.004491c0