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

Disassembly:
lea r12, [rsp - 0x68]
cmp r12, qword [r14 + 0x10]
jbe 0x535ef1
push rbp
mov rbp, rsp
sub rsp, 0xe0
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x138], r9
mov qword [rsp + 0x140], r10
mov qword [rsp + 0x148], r11
mov qword [rsp + 0x120], rdi
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x535925
mov qword [rsp + 0x130], r8
mov r12, qword [rsp + 0xf8]
lea r13, [r12 - 1]
xor r15d, r15d
xor r15d, r15d
mov qword [rsp + 0x68], r15
xor r15d, r15d
mov qword [rsp + 0xc8], r15
xor r15d, r15d
nop dword [rax]
jmp 0x535c40
mov qword [rsp + 0xc0], rsi
cmp r9, 0xa
jne 0x53593b
mov rdx, rsi
jmp 0x535a56
mov rdx, rsi
nop
jmp 0x535960
mov rdx, r11
mov rdi, r10
mov r9, qword [rsp + 0x138]
mov r10, rsi
mov r11, qword [rsp + 0x148]
mov rsi, r12
nop
test rbx, rbx
je 0x5359ad
mov qword [rsp + 0x78], rsi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, r11
call fcn.00536c20
mov rdx, qword [rsp + 0x138]
mov r10, qword [rsp + 0x120]
mov r11, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x78]
mov r13, qword [rsp + 0x140]
mov rsi, r13
jmp 0x5359e2
mov byte [rsi + rdi - 1], 0x30
mov rsi, rax
test rsi, rsi
jle 0x5359bd
lea rax, [rsi - 1]
cmp rdx, rax
ja 0x5359a5
jmp 0x5359c6
add rsp, 0xe0
pop rbp
ret
mov rcx, rdx
call fcn.004601e0
mov byte [r12 + r10 - 1], dl
dec r13
mov rdx, r9
mov r12, rdi
mov rdi, rax
mov rax, r8
test r13, r13
jle 0x535942
test r12, r12
jle 0x535942
test rdx, rdx
je 0x535a40
mov r8, rax
mov rax, rdi
mov r15, rdx
xor edx, edx
div r15
cmp rdx, 0x3e
jae 0x535a31
lea rdi, [r12 - 1]
mov r9, r15
lea r15, [0x006d726c]
movzx edx, byte [r15 + rdx]
cmp r11, rdi
ja 0x5359ce
mov rax, rdi
mov rcx, r11
call fcn.004601e0
mov rax, rdx
mov ecx, 0x3e
call fcn.00460200
nop
call fcn.00432ee0
mov rdi, r10
mov r10, rsi
mov rsi, r11
mov r11, qword [rsp + 0x148]
test rbx, rbx
je 0x5359ad
mov qword [rsp + 0x78], rsi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, r11
call fcn.00536c20
mov rdx, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x120]
mov r11, qword [rsp + 0x78]
mov r12, qword [rsp + 0x140]
mov rsi, r12
jmp 0x535aaf
lea r15d, [rdi + 0x30]
mov byte [r11 + r10 - 1], r15b
dec r12
mov rax, r8
mov r11, r13
mov rdi, rdx
mov rdx, r9
test r12, r12
jle 0x535a45
test r11, r11
jle 0x535a45
lea r13, [r11 - 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
nop
cmp r9, r13
ja 0x535a97
mov rax, r13
mov rcx, r9
call fcn.004601e0
mov qword [rsp + 0x80], r13
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], r8
mov qword [rsp], r12
mov rdx, qword [rsp + 0xb0]
mov qword [rsp + 8], rdx
mov r12, qword [rsp + 0x100]
mov qword [rsp + 0x10], r12
mov r12, qword [rsp + 0x130]
sub r12, r13
sub r15, r13
mov r9, r12
neg r12
sar r12, 0x3f
and r12, r13
mov rdx, qword [rsp + 0x120]
add r12, rdx
mov r11, qword [rsp + 0x148]
mov rax, rdi
mov rbx, rsi
mov rcx, r8
mov rdi, r12
mov rsi, r15
mov r8, r9
mov r9, qword [rsp + 0x138]
mov r10, qword [rsp + 0x140]
call fcn.005358a0
mov rdx, qword [rsp + 0xf8]
mov r12, qword [rsp + 0xf0]
mov r13, qword [rsp + 0x80]
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov r15, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xa0]
mov rdx, r12
mov rdi, qword [rsp + 0x120]
mov r8, qword [rsp + 0x130]
mov r9, qword [rsp + 0x138]
mov r10, qword [rsp + 0x140]
mov r11, qword [rsp + 0x148]
mov r12, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xd8]
mov rcx, rsi
mov r13, r15
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
nop word [rax + rax]
nop
cmp qword [0x00871308], rbx
jge 0x535925
mov qword [rsp + 0x70], r15
lea r9, [rbx - 1]
test r9, r9
jl 0x535ce2
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 rdx, 0xffffffffffffffff
cmove r15, rdx
lea rdx, [r15 + r9]
lea rdx, [rdx + 1]
mov r10, qword [rsp + 0x140]
mov r15, qword [rsp + 0x70]
mov r9, rdx
mov rdx, qword [rsp + 0xf0]
nop
jmp 0x535ce5
xor r9d, r9d
mov qword [rsp + 0x60], r9
sar r9, 1
jmp 0x535e80
mov r10, qword [rsp + 0x140]
mov r11, qword [rsp + 0x148]
cmp r12, r13
jbe 0x535ed8
mov qword [rsp + 0xc0], rsi
lea r9, [r13 + r13*4]
mov r10, qword [rdx + r9*8 + 0x18]
mov r15, qword [rsp + 0x60]
cmp r10, r15
jge 0x535d2f
xor r9d, r9d
jmp 0x535dcd
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xd0], rax
mov r10, qword [rdx + r9*8]
mov r11, qword [rdx + r9*8 + 8]
mov r9, qword [rdx + r9*8 + 0x10]
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, r10
mov rbx, r11
mov rcx, r9
call fcn.0052d680
test rax, rax
setge dl
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x120]
mov r8, qword [rsp + 0x130]
mov r11, qword [rsp + 0x148]
mov r12, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x98]
mov r9d, edx
mov rdx, qword [rsp + 0xf0]
test r9b, r9b
je 0x535de0
dec r13
test r13, r13
jl 0x535ec5
nop
cmp r12, r13
jbe 0x535eb5
mov qword [rsp + 0xb0], r13
lea r12, [r13 + r13*4]
mov qword [rsp + 0xa8], r12
mov r15, qword [rdx + r12*8]
mov rsi, qword [rdx + r12*8 + 8]
mov rdi, qword [rdx + r12*8 + 0x10]
mov qword [rsp], r15
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdi
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov r9, rax
mov r10, rbx
mov r11, rcx
call fcn.00536880
mov rdx, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xf0]
mov rdx, qword [r12 + rdx*8 + 0x20]
mov r13, qword [rsp + 0xc0]
mov r15, r13
sub r13, rdx
nop dword [rax]
cmp r15, r13
jae 0x535af0
jmp 0x535eaa
mov r11, qword [rsp + 0x148]
mov r13, r10
mov r10, qword [rsp + 0x140]
nop
test r13, r13
jle 0x535d02
lea r10, [r13 - 1]
cmp r12, r10
jbe 0x535ee5
lea r11, [r13 + r13*4]
mov r11, qword [rdx + r11*8 - 0x10]
nop dword [rax]
cmp r11, r9
jg 0x535e6b
jmp 0x535cf2
mov rax, r13
mov rcx, r15
call fcn.004602a0
mov rax, r13
mov rcx, r12
nop dword [rax + rax]
call fcn.004601e0
lea rax, [0x0066d140]
lea rbx, [0x00740dd0]
call fcn.004337c0
mov rax, r13
mov rcx, r12
nop
call fcn.004601e0
mov rax, r10
mov rcx, r12
call fcn.004601e0
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.0045df00
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.005358a0