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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x60fe8c
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
mov qword [rsp + 0xa0], rbx
mov r13, 0
mov qword [rsp + 0x80], r13
mov byte [rsp + 0x23], 0
mov qword [rsp + 0x30], 0
movups xmmword [rsp + 0x60], xmm15
mov rdx, qword [rax]
cmp qword [rax + 0x130], 0
nop dword [rax]
jne 0x60fe0b
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x48], rdx
lea rdx, [rax + 0x30]
mov qword [rsp + 0x50], rdx
mov rax, rdx
nop dword [rax]
call fcn.006026c0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov rdi, qword [rsp + 0x58]
mov rdx, qword [rdi + 0x128]
cmp rdx, 0xffffffffffffffff
je 0x60fb41
mov rsi, qword [rsp + 0x30]
cmp rsi, rdx
jle 0x60faa8
mov qword [rsp + 0x30], rdx
cmp qword [rsp + 0x60], 0
jne 0x60fa4a
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x4a
lea rcx, [0x006b8001]
mov qword [rax], rcx
lea rbx, [0x007191c0]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rax
mov rcx, rax
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.00603dc0
mov rdi, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov qword [rdi + 0x130], rsi
cmp dword [0x008f2cf0], 0
jne 0x60fa6d
mov qword [rdi + 0x138], rdx
jmp 0x60fa82
lea rsi, [rdi + 0x138]
mov rax, rdi
mov rdi, rsi
call fcn.004655c0
mov rdi, rax
mov rax, qword [rdi + 0x128]
mov qword [rsp + 0x30], rax
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
sub rdx, rsi
mov qword [rdi + 0x128], rdx
mov rax, qword [rsp + 0x60]
mov rsi, qword [0x0089d3d8]
nop
cmp qword [0x0089d3d0], rax
je 0x60facd
xor eax, eax
jmp 0x60fae0
mov rbx, rcx
mov rcx, rsi
call fcn.00403fe0
mov rdi, qword [rsp + 0x58]
nop dword [rax]
test al, al
je 0x60fb41
cmp qword [rdi + 0x128], 0
jle 0x60fb41
mov rcx, qword [0x0089d428]
mov rbx, qword [0x0089d420]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov qword [rdi + 0x130], rbx
cmp dword [0x008f2cf0], 0
jne 0x60fb1f
mov qword [rdi + 0x138], rcx
jmp 0x60fb2b
add rdi, 0x138
call fcn.004655a0
mov rax, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
nop
ret
cmp qword [rsp + 0x30], 0
je 0x60fdec
xor eax, eax
mov rsi, qword [rsp + 0x48]
mov r8d, 1
lock cmpxchg dword [rsi + 0x58], r8d
sete r9b
lea rax, [rsi + 0x58]
mov qword [rsp + 0x40], rax
test r9b, r9b
jne 0x60fb8c
call fcn.0046e200
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov r8d, 1
mov r9d, dword [rsi + 0x78]
mov r10, qword [rsi + 0x80]
test r10, r10
je 0x60fba5
mov r10d, dword [r10]
nop
cmp r10d, r9d
jl 0x60fba8
mov r10d, r9d
cmp r10d, 0x20000000
jge 0x60fbe2
lea r11d, [r10 - 0x40000000]
neg r11d
mov r12d, r9d
sub r9d, r10d
add r9d, 0x40000000
cmp r11d, r9d
setl r10b
test r12d, r12d
setg r12b
cmp r12b, r10b
jne 0x60fbe5
mov dword [rsi + 0x78], r9d
nop
jmp 0x60fbe5
xor r11d, r11d
mov dword [rsp + 0x28], r11d
cmp qword [rsp + 0x60], 0
je 0x60fbf9
xor ecx, ecx
jmp 0x60fc91
mov ecx, dword [rdi + 0x118]
mov rdx, qword [rdi + 0x120]
test rdx, rdx
je 0x60fc11
mov edx, dword [rdx]
cmp edx, ecx
jl 0x60fc13
mov edx, ecx
mov dword [rsp + 0x24], edx
mov rax, qword [rsp + 0x50]
nop dword [rax]
call fcn.00602540
mov ecx, dword [rsp + 0x24]
movsxd rcx, ecx
lea rdx, [rcx + rax]
cmp rdx, 0x3ff000
jge 0x60fc73
lea rsi, [rcx + rax]
lea rsi, [rsi - 0x400000]
neg rsi
mov rdi, qword [rsp + 0x58]
mov r8d, dword [rdi + 0x118]
lea r9d, [rsi + r8]
cmp esi, r9d
setl r10b
test r8d, r8d
setg r8b
cmp r8b, r10b
jne 0x60fc7a
mov dword [rdi + 0x118], r9d
jmp 0x60fc7a
mov rdi, qword [rsp + 0x58]
xor esi, esi
mov rax, qword [rsp + 0x40]
mov r8d, 1
mov r11d, dword [rsp + 0x28]
mov ecx, esi
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x2c], ecx
nop
mov ebx, 0xffffffff
lock xadd dword [rsi + 0x58], ebx
dec ebx
test ebx, ebx
je 0x60fcc4
call fcn.0046e500
mov ecx, dword [rsp + 0x2c]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov r8d, 1
mov r11d, dword [rsp + 0x28]
test r11d, r11d
jne 0x60fcd1
test ecx, ecx
je 0x60fdb3
xor eax, eax
lock cmpxchg dword [rsi + 0x128], r8d
sete dl
lea rax, [rsi + 0x128]
test dl, dl
je 0x60fcef
test r11d, r11d
jmp 0x60fd15
mov qword [rsp + 0x38], rax
call fcn.0046e200
mov ecx, dword [rsp + 0x28]
test ecx, ecx
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov r11d, ecx
mov ecx, dword [rsp + 0x2c]
movups xmmword [rsp + 0x70], xmm15
lea rdx, [0x0060fec0]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x80], rdx
mov byte [rsp + 0x23], 1
nop
je 0x60fd73
cmp r11d, 0x7fffffff
ja 0x60fe54
mov rax, qword [rsi + 0x138]
xor ebx, ebx
mov ecx, r11d
nop dword [rax + rax]
call fcn.005fee40
mov ecx, dword [rsp + 0x2c]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
test ecx, ecx
je 0x60fda0
nop word [rax + rax]
cmp ecx, 0x7fffffff
ja 0x60fe41
mov rax, qword [rsi + 0x138]
mov ebx, dword [rdi + 0x28]
call fcn.005fee40
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsi + 0x130]
call fcn.005d1fc0
mov eax, 1
jmp 0x60fdb5
xor eax, eax
test al, 1
je 0x60fdcd
and eax, 0xfffffffe
mov byte [rsp + 0x23], al
mov rdx, qword [rsp + 0x80]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov qword [rsp + 0x30], 0
mov rbx, qword [rax + 0x130]
mov rcx, qword [rax + 0x138]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov rax, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
lea rax, [0x006576e0]
lea rbx, [0x00718720]
call fcn.00436420
lea rax, [0x006576e0]
lea rbx, [0x00718720]
call fcn.00436420
nop
call fcn.004358c0
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.004632e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0060f940