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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x5137c6
sub rsp, 0xf0
mov qword [rsp + 0xe8], rbp
lea rbp, [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 0x5131b8
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 0x5134ec
mov qword [rsp + 0xc0], rsi
cmp r9, 0xa
jne 0x5131ce
mov rdx, rsi
jmp 0x513300
mov rdx, rsi
jmp 0x5131ec
mov rdx, r12
mov rdi, r11
mov r9, qword [rsp + 0x140]
mov r11, qword [rsp + 0xc8]
mov rsi, r13
test rbx, rbx
je 0x513240
mov qword [rsp + 0x98], rsi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, r11
call fcn.00514580
mov rdx, qword [rsp + 0x140]
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0x128]
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x98]
xor esi, esi
jmp 0x513280
mov byte [rsi + rdi - 1], 0x30
mov rsi, rax
nop
test rsi, rsi
jle 0x513250
lea rax, [rsi - 1]
cmp rdx, rax
ja 0x513236
jmp 0x513261
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
nop
ret
mov rcx, rdx
call fcn.00465940
mov byte [r13 + r11 - 1], dl
inc rsi
mov rdx, rdi
mov r10, r9
mov rdi, rax
mov r13, r15
mov rax, r8
cmp r10, rsi
jle 0x5131d3
test r13, r13
jle 0x5131d3
test rdx, rdx
je 0x5132e0
mov r8, rax
mov rax, rdi
mov r15, rdx
xor edx, edx
div r15
cmp rdx, 0x3e
jae 0x5132d1
mov rdi, r15
lea r15, [r13 - 1]
mov r9, r10
lea r10, [0x006b706d]
movzx edx, byte [r10 + rdx]
cmp r12, r15
ja 0x513269
mov rax, r15
mov rcx, r12
call fcn.00465940
mov rax, rdx
mov ecx, 0x3e
call fcn.00465960
nop
call fcn.004350e0
mov rdx, r11
mov rdi, r10
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0xc8]
mov rsi, r12
nop
test rbx, rbx
je 0x513240
mov qword [rsp + 0x98], rsi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, r11
nop dword [rax]
call fcn.00514580
mov rdx, qword [rsp + 0x148]
mov r10, qword [rsp + 0x128]
mov r11, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x98]
xor esi, esi
jmp 0x513361
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 0x5132e5
test r12, r12
jle 0x5132e5
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 0x513349
mov rax, r13
mov rcx, r11
call fcn.00465940
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x80], r8
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xd8], rdi
mov qword [rsp], r12
mov rdx, qword [rsp + 0x90]
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.00513120
mov rdx, qword [rsp + 0x100]
mov r12, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov r15, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xb0]
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 + 0xb0]
mov rax, qword [rsp + 0xe0]
mov rcx, rsi
mov r12, r15
mov r15, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xa0]
cmp qword [0x008614c8], rbx
jge 0x5131b8
mov qword [rsp + 0x78], r15
lea r15, [rbx - 1]
test r15, r15
jl 0x513584
mov r13, qword [rax + rbx*8 - 8]
mov qword [rsp + 0xb8], r13
shr r13, 1
mov rdx, qword [rsp + 0xb8]
or r13, rdx
mov rdx, r13
shr r13, 2
or r13, rdx
mov rdx, r13
shr r13, 4
or r13, rdx
mov rdx, r13
shr r13, 8
or r13, rdx
mov rdx, r13
shr r13, 0x10
or r13, rdx
mov rdx, r13
shr r13, 0x20
or r13, rdx
bsr rdx, r13
mov r13, 0xffffffffffffffff
cmove rdx, r13
shl r15, 6
lea rdx, [rdx + r15]
lea rdx, [rdx + 1]
mov r13, qword [rsp + 0xf8]
mov r15, rdx
mov rdx, qword [rsp + 0x100]
jmp 0x513587
xor r15d, r15d
mov qword [rsp + 0x60], r15
sar r15, 1
mov qword [rsp + 0x88], r15
jmp 0x513749
mov r12, qword [rsp + 0x90]
mov r13, qword [rsp + 0xf8]
cmp rdx, r12
jbe 0x5137ae
mov qword [rsp + 0xc0], rsi
lea r15, [r12 + r12*4]
mov qword [rsp + 0xb0], r15
mov r15, qword [r13 + r15*8 + 0x18]
mov r13, qword [rsp + 0x60]
cmp r15, r13
jge 0x5135e5
xor r13d, r13d
nop dword [rax + rax]
jmp 0x513687
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xf8]
mov r10, qword [r9 + rdx*8]
mov r11, qword [r9 + rdx*8 + 8]
mov rdx, qword [r9 + rdx*8 + 0x10]
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, r10
mov rbx, r11
mov rcx, rdx
call fcn.0050b400
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 r9, qword [rsp + 0x140]
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x90]
mov r13d, edx
mov rdx, qword [rsp + 0x100]
test r13b, r13b
je 0x5136a0
dec r12
test r12, r12
jl 0x51379b
nop dword [rax + rax]
cmp rdx, r12
jbe 0x513790
mov qword [rsp + 0x90], r12
lea rdx, [r12 + r12*4]
mov qword [rsp + 0xb0], rdx
mov r13, qword [rsp + 0xf8]
mov r15, qword [r13 + rdx*8]
mov r12, qword [r13 + rdx*8 + 8]
mov rdx, qword [r13 + rdx*8 + 0x10]
mov qword [rsp], r15
mov qword [rsp + 8], r12
mov qword [rsp + 0x10], rdx
mov r8, qword [rsp + 0x80]
mov r9, rax
mov r10, rbx
mov r11, rcx
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x78]
call fcn.005141c0
mov rdx, qword [rsp + 0xb0]
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 0x5133a9
jmp 0x513785
mov r12, qword [rsp + 0xf8]
mov r13, r12
mov r12, r15
mov r15, qword [rsp + 0x88]
mov qword [rsp + 0x90], r12
test r12, r12
jle 0x5135ac
lea r15, [r12 - 1]
nop
cmp rdx, r15
jbe 0x5137b9
lea r12, [r12 + r12*4]
mov r12, qword [r13 + r12*8 - 0x10]
mov r13, qword [rsp + 0x88]
cmp r12, r13
jg 0x513733
nop dword [rax + rax]
jmp 0x51359c
mov rax, r13
mov rcx, r15
call fcn.00465a00
mov rax, r12
mov rcx, rdx
call fcn.00465940
lea rax, [0x006576e0]
lea rbx, [0x007186e0]
call fcn.00436420
mov rax, r12
mov rcx, rdx
call fcn.00465940
mov rax, r15
mov rcx, rdx
nop
call fcn.00465940
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
call fcn.004632e0
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.00513120