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

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x4ad4e6
sub rsp, 0xb8
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0xb0]
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xc0], rax
nop
cmp r8, rdi
je 0x4ace69
xor edx, edx
jmp 0x4aceb1
mov rax, rcx
mov rbx, rsi
mov rcx, rdi
call fcn.00402a00
mov rcx, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf0]
mov edx, eax
mov rax, qword [rsp + 0xc0]
test dl, dl
jne 0x4aceba
test r9, r9
jne 0x4aceca
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
call fcn.004accc0
test rax, rax
je 0x4ad01e
mov r8, qword [rsp + 0xf0]
test r8, r8
jl 0x4aceed
cmp rax, r8
jl 0x4aceed
mov rax, r8
movups xmmword [rsp + 0x90], xmm15
movups xmmword [rsp + 0xa0], xmm15
nop
lea r8, [rsp + 0x90]
mov qword [rsp + 0x90], r8
mov r9, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xd8]
mov r10, r9
sub r9, rdi
imul r9, rax
mov rcx, qword [rsp + 0xc8]
add r9, rcx
test r9, r9
jl 0x4ad4cd
mov qword [rsp + 0x68], rax
mov rbx, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xa8]
mov r12, r11
sub r11, rbx
nop dword [rax]
cmp r11, r9
jge 0x4ad005
mov qword [rsp + 0x38], rbx
nop
lea rcx, [r9 + r12*2]
mov qword [rsp + 0x40], rcx
lea rax, [0x004ea660]
nop
call fcn.0044a6a0
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x38]
cmp rdx, rcx
mov rsi, rcx
cmovl rcx, rdx
mov rbx, qword [rsp + 0x98]
cmp rax, rbx
je 0x4acfc3
mov qword [rsp + 0x88], rax
call fcn.00464340
mov rax, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0xa0], rsi
mov r8, qword [rsp + 0x40]
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd8]
lea r8, [rsp + 0x90]
mov r10, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xd0]
mov r11, qword [rsp + 0xc0]
xor edx, edx
xor ebx, ebx
jmp 0x4ad0e5
mov rax, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x80], rbx
lea rax, [rbx + rcx]
mov rcx, rdx
mov rbx, qword [rsp + 0xe0]
call fcn.00464340
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x98], rdx
mov rdx, qword [rsp + 0x30]
inc rdx
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x60]
lea rbx, [rsi + rdi]
mov rsi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0xc0]
mov rax, r9
mov rcx, rsi
lea r8, [rsp + 0x90]
mov r9, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xe8]
mov r11, qword [rsp + 0xc0]
cmp rdx, rax
jge 0x4ad372
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rbx
test rdi, rdi
jne 0x4ad176
nop dword [rax]
test rdx, rdx
jle 0x4ad171
cmp rcx, rbx
jb 0x4ad4c5
sub rcx, rbx
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and rcx, rbx
lea rax, [r11 + rcx]
mov rbx, rsi
call fcn.0046d540
mov rax, qword [rsp + 0x28]
add rbx, rax
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x30]
mov rsi, rax
mov rdi, qword [rsp + 0xd8]
lea r8, [rsp + 0x90]
mov r9, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xe8]
mov r11, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x68]
jmp 0x4ad1e4
mov rsi, rbx
jmp 0x4ad1e4
cmp rcx, rbx
jb 0x4ad4bb
sub rcx, rbx
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and rcx, rbx
lea rax, [r11 + rcx]
mov rcx, r9
mov rbx, rsi
call fcn.004ad540
mov rdx, qword [rsp + 0x28]
lea rbx, [rdx + rax]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xc8]
mov rsi, rdx
mov rdi, qword [rsp + 0xd8]
lea r8, [rsp + 0x90]
mov r9, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xe8]
mov r11, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x30]
cmp rcx, rbx
jb 0x4ad4b0
cmp rsi, rbx
ja 0x4ad4a5
mov r12, rbx
sub rbx, rsi
mov r13, rbx
neg rbx
sar rbx, 0x3f
and rsi, rbx
lea rbx, [r11 + rsi]
nop
mov r15, qword [rsp + 0x90]
test r15, r15
je 0x4ad22a
nop dword [rax + rax]
cmp r15, r8
je 0x4ad232
jmp 0x4ad48d
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x60], r12
mov r15, qword [rsp + 0xa0]
lea rsi, [r15 + r13]
mov qword [rsp + 0x58], rsi
mov r9, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x98]
cmp r9, rsi
jae 0x4ad29a
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x48], r15
lea rax, [0x004ea660]
mov rbx, r11
mov rcx, r15
mov rdi, r9
nop dword [rax]
call fcn.0044a800
mov rbx, qword [rsp + 0x78]
mov r13, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov r11, rax
mov r9, rcx
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x80], r11
lea rax, [r11 + r15]
mov rcx, r13
call fcn.00464340
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x98], rdx
nop
nop
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x4ad2fe
lea r8, [rsp + 0x90]
cmp rdx, r8
je 0x4ad316
jmp 0x4ad47a
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x90], rdx
lea r8, [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xe8]
lea rsi, [rdx + rcx]
mov qword [rsp + 0x58], rsi
mov rdi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x98]
nop
cmp rdi, rsi
jae 0x4ad03e
mov qword [rsp + 0x50], rcx
lea rax, [0x004ea660]
call fcn.0044a800
mov rdx, qword [rsp + 0xe8]
mov rbx, rax
mov rdi, rcx
mov rcx, qword [rsp + 0x50]
jmp 0x4ad03e
cmp rcx, rbx
jb 0x4ad472
sub rcx, rbx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and rbx, rcx
add rbx, r11
nop
mov r9, qword [rsp + 0x90]
test r9, r9
je 0x4ad3aa
nop dword [rax]
cmp r9, r8
je 0x4ad3b2
jmp 0x4ad45f
mov qword [rsp + 0x90], r8
mov rcx, qword [rsp + 0xa0]
lea rsi, [rcx + rdx]
mov qword [rsp + 0x68], rsi
mov rdi, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x98]
cmp rdi, rsi
jae 0x4ad40b
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x70], rbx
lea rax, [0x004ea660]
mov rbx, r8
call fcn.0044a800
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x70]
mov r8, rax
mov rdi, rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x80], r8
lea rax, [r8 + rcx]
mov rcx, rdx
nop
call fcn.00464340
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0xa0], rbx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa8], rdx
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x98], rax
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
lea rax, [0x004ea4e0]
lea rbx, [0x005360d8]
call fcn.00436620
mov rax, rbx
call fcn.00463a60
lea rax, [0x004ea4e0]
lea rbx, [0x005360d8]
call fcn.00436620
lea rax, [0x004ea4e0]
lea rbx, [0x005360d8]
nop dword [rax + rax]
call fcn.00436620
mov rax, rsi
mov rcx, rbx
call fcn.00463a60
mov rdx, rcx
mov rcx, rbx
call fcn.004639e0
mov rax, rbx
nop
call fcn.00463a60
mov rax, rbx
call fcn.00463a60
lea rax, [0x004ea4e0]
lea rbx, [0x00536648]
nop dword [rax + rax]
call fcn.00436620
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 qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
call fcn.004612c0
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]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
jmp fcn.004ace00