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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x52be51
push rbp
mov rbp, rsp
sub rsp, 0xe8
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x140], r9
mov qword [rsp + 0x148], r10
mov qword [rsp + 0xc8], r11
mov qword [rsp + 0x128], rdi
mov rdx, qword [rsp + 0xf8]
test rdx, rdx
je 0x52b86c
mov qword [rsp + 0x138], r8
mov rdx, qword [rsp + 0x100]
lea r12, [rdx - 1]
mov r13, qword [rsp + 0xf8]
xor r15d, r15d
xor r15d, r15d
mov qword [rsp + 0x80], r15
xor r15d, r15d
mov qword [rsp + 0xd8], r15
xor r15d, r15d
jmp 0x52bba2
mov qword [rsp + 0xc0], rsi
cmp r9, 0xa
jne 0x52b885
mov rdx, rsi
nop dword [rax]
jmp 0x52b9b4
mov rdx, rsi
jmp 0x52b8a3
mov rdx, r12
mov rdi, r11
mov r9, qword [rsp + 0x140]
mov r11, qword [rsp + 0xc8]
mov rsi, r13
test rbx, rbx
je 0x52b8f9
mov qword [rsp + 0x90], rsi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, r11
nop dword [rax]
call fcn.0052cbc0
mov rdx, qword [rsp + 0x140]
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0x128]
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x90]
xor esi, esi
jmp 0x52b92e
mov byte [rsi + rdi - 1], 0x30
mov rsi, rax
test rsi, rsi
jle 0x52b909
lea rax, [rsi - 1]
cmp rdx, rax
ja 0x52b8f1
jmp 0x52b912
add rsp, 0xe8
pop rbp
ret
mov rcx, rdx
call fcn.00466960
mov byte [r13 + r11 - 1], dl
inc rsi
mov rdx, r9
mov r13, rdi
mov rdi, rax
mov rax, r8
cmp r10, rsi
jle 0x52b88a
nop word [rax + rax]
test r13, r13
jle 0x52b88a
test rdx, rdx
je 0x52b996
mov r8, rax
mov rax, rdi
mov r15, rdx
xor edx, edx
div r15
nop dword [rax]
cmp rdx, 0x3e
jae 0x52b989
lea rdi, [r13 - 1]
mov r9, r15
lea r15, [0x006c3ca5]
movzx edx, byte [r15 + rdx]
cmp r12, rdi
ja 0x52b91a
mov rax, rdi
mov rcx, r12
call fcn.00466960
mov rax, rdx
mov ecx, 0x3e
call fcn.00466980
call fcn.004357c0
mov rdx, r11
mov rdi, r10
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0xc8]
mov rsi, r12
test rbx, rbx
je 0x52b8f9
mov qword [rsp + 0x90], rsi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, r11
call fcn.0052cbc0
mov rdx, qword [rsp + 0x148]
mov r10, qword [rsp + 0x128]
mov r11, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x90]
xor esi, esi
jmp 0x52ba12
lea r15d, [rdi + 0x30]
mov byte [r12 + r10 - 1], r15b
inc rsi
mov rax, r8
mov rdi, rdx
mov r12, r13
mov rdx, r9
cmp rdx, rsi
jle 0x52b99b
nop word [rax + rax]
test r12, r12
jle 0x52b99b
lea r13, [r12 - 1]
mov r8, rax
movabs rax, 0xcccccccccccccccd
mov r9, rdx
mul rdi
shr rdx, 3
lea r15, [rdx + rdx*4]
shl r15, 1
sub rdi, r15
cmp r11, r13
ja 0x52b9fa
mov rax, r13
mov rcx, r11
call fcn.00466960
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x80], r8
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rcx
mov qword [rsp], r12
mov rdx, qword [rsp + 0xb0]
mov qword [rsp + 8], rdx
mov r12, qword [rsp + 0x108]
mov qword [rsp + 0x10], r12
mov r12, qword [rsp + 0x138]
sub r12, r13
sub r15, r13
mov r9, r12
neg r12
sar r12, 0x3f
and r12, r13
mov rdx, qword [rsp + 0x128]
add r12, rdx
mov r11, qword [rsp + 0xc8]
mov rax, rdi
mov rbx, rsi
mov rcx, r8
mov rdi, r12
mov rsi, r15
mov r8, r9
mov r9, qword [rsp + 0x140]
mov r10, qword [rsp + 0x148]
call fcn.0052b7e0
mov rdx, qword [rsp + 0x100]
mov r12, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x98]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov r15, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x128]
mov r8, qword [rsp + 0x138]
mov r9, qword [rsp + 0x140]
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0xc8]
mov r13, r12
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xe0]
mov rcx, rsi
mov r12, r15
mov r15, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x98]
cmp qword [0x0088c610], rbx
jge 0x52b86c
mov qword [rsp + 0x78], r15
lea r9, [rbx - 1]
nop dword [rax + rax]
test r9, r9
jl 0x52bc4b
mov r10, qword [rax + rbx*8 - 8]
mov qword [rsp + 0xb8], r10
shr r10, 1
mov r15, qword [rsp + 0xb8]
or r10, r15
mov r15, r10
shr r10, 2
or r10, r15
mov r15, r10
shr r10, 4
or r10, r15
mov r15, r10
shr r10, 8
or r10, r15
mov r15, r10
shr r10, 0x10
or r10, r15
mov r15, r10
shr r10, 0x20
or r10, r15
shl r9, 6
bsr r15, r10
mov r13, 0xffffffffffffffff
cmove r15, r13
lea r13, [r15 + r9]
lea r13, [r13 + 1]
mov r10, qword [rsp + 0x148]
mov r15, qword [rsp + 0x78]
mov r9, r13
mov r13, qword [rsp + 0xf8]
jmp 0x52bc4e
xor r9d, r9d
mov qword [rsp + 0x60], r9
sar r9, 1
jmp 0x52bde0
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0xc8]
cmp rdx, r12
jbe 0x52be38
mov qword [rsp + 0xc0], rsi
lea r9, [r12 + r12*4]
mov r10, qword [r13 + r9*8 + 0x18]
mov r15, qword [rsp + 0x60]
cmp r10, r15
jge 0x52bc97
xor r9d, r9d
jmp 0x52bd2a
mov qword [rsp + 0x88], r12
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rcx
mov rdx, qword [r13 + r9*8]
mov r10, qword [r13 + r9*8 + 8]
mov r9, qword [r13 + r9*8 + 0x10]
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, rdx
mov rbx, r10
mov rcx, r9
call fcn.00523ce0
test rax, rax
setge dl
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x128]
mov r8, qword [rsp + 0x138]
mov r11, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x88]
mov r13, qword [rsp + 0xf8]
mov r9d, edx
mov rdx, qword [rsp + 0x100]
test r9b, r9b
je 0x52bd40
dec r12
test r12, r12
jl 0x52be25
nop dword [rax + rax]
cmp rdx, r12
jbe 0x52be15
mov qword [rsp + 0xb0], r12
lea rdx, [r12 + r12*4]
mov qword [rsp + 0xa8], rdx
mov r15, qword [r13 + rdx*8]
mov rsi, qword [r13 + rdx*8 + 8]
mov rdi, qword [r13 + rdx*8 + 0x10]
mov qword [rsp], r15
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdi
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
mov r9, rax
mov r10, rbx
mov r11, rcx
call fcn.0052c820
mov rdx, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xf8]
mov rdx, qword [r12 + rdx*8 + 0x20]
mov r13, qword [rsp + 0xc0]
mov r15, r13
sub r13, rdx
cmp r15, r13
jae 0x52ba5f
jmp 0x52be0a
mov r11, qword [rsp + 0xc8]
mov r12, r10
mov r10, qword [rsp + 0x148]
nop
test r12, r12
jle 0x52bc6b
lea r10, [r12 - 1]
cmp rdx, r10
jbe 0x52be45
lea r11, [r12 + r12*4]
mov r11, qword [r13 + r11*8 - 0x10]
nop dword [rax]
cmp r11, r9
jg 0x52bdcb
jmp 0x52bc5b
mov rax, r13
mov rcx, r15
call fcn.00466a20
mov rax, r12
mov rcx, rdx
nop dword [rax + rax]
call fcn.00466960
lea rax, [0x0065b7a0]
lea rbx, [0x007282d0]
call fcn.00436ac0
mov rax, r12
mov rcx, rdx
nop
call fcn.00466960
mov rax, r10
mov rcx, rdx
call fcn.00466960
nop
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x60], r11
nop
call fcn.004646a0
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
jmp fcn.0052b7e0