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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x61ac4c
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 0x61abcb
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.0060d480
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 0x61a901
mov rsi, qword [rsp + 0x30]
cmp rsi, rdx
jle 0x61a868
mov qword [rsp + 0x30], rdx
cmp qword [rsp + 0x60], 0
jne 0x61a80a
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x4a
lea rcx, [0x007313b8]
mov qword [rax], rcx
lea rbx, [0x007f1c00]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rax
mov rcx, rax
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.0060eb80
mov rdi, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov qword [rdi + 0x130], rsi
cmp dword [0x00a04ed0], 0
jne 0x61a82d
mov qword [rdi + 0x138], rdx
jmp 0x61a842
lea rsi, [rdi + 0x138]
mov rax, rdi
mov rdi, rsi
call fcn.00465b40
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 [0x009af448]
nop
cmp qword [0x009af440], rax
je 0x61a88d
xor eax, eax
jmp 0x61a8a0
mov rbx, rcx
mov rcx, rsi
call fcn.00403fe0
mov rdi, qword [rsp + 0x58]
nop dword [rax]
test al, al
je 0x61a901
cmp qword [rdi + 0x128], 0
jle 0x61a901
mov rcx, qword [0x009af498]
mov rbx, qword [0x009af490]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov qword [rdi + 0x130], rbx
cmp dword [0x00a04ed0], 0
jne 0x61a8df
mov qword [rdi + 0x138], rcx
jmp 0x61a8eb
add rdi, 0x138
call fcn.00465b20
mov rax, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
nop
ret
cmp qword [rsp + 0x30], 0
je 0x61abac
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 0x61a94c
call fcn.0047d500
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 0x61a965
mov r10d, dword [r10]
nop
cmp r10d, r9d
jl 0x61a968
mov r10d, r9d
cmp r10d, 0x20000000
jge 0x61a9a2
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 0x61a9a5
mov dword [rsi + 0x78], r9d
nop
jmp 0x61a9a5
xor r11d, r11d
mov dword [rsp + 0x28], r11d
cmp qword [rsp + 0x60], 0
je 0x61a9b9
xor ecx, ecx
jmp 0x61aa51
mov ecx, dword [rdi + 0x118]
mov rdx, qword [rdi + 0x120]
test rdx, rdx
je 0x61a9d1
mov edx, dword [rdx]
cmp edx, ecx
jl 0x61a9d3
mov edx, ecx
mov dword [rsp + 0x24], edx
mov rax, qword [rsp + 0x50]
nop dword [rax]
call fcn.0060d300
mov ecx, dword [rsp + 0x24]
movsxd rcx, ecx
lea rdx, [rcx + rax]
cmp rdx, 0x3ff000
jge 0x61aa33
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 0x61aa3a
mov dword [rdi + 0x118], r9d
jmp 0x61aa3a
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 0x61aa84
call fcn.0047d800
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 0x61aa91
test ecx, ecx
je 0x61ab73
xor eax, eax
lock cmpxchg dword [rsi + 0x128], r8d
sete dl
lea rax, [rsi + 0x128]
test dl, dl
je 0x61aaaf
test r11d, r11d
jmp 0x61aad5
mov qword [rsp + 0x38], rax
call fcn.0047d500
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, [0x0061ac80]
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 0x61ab33
cmp r11d, 0x7fffffff
ja 0x61ac14
mov rax, qword [rsi + 0x138]
xor ebx, ebx
mov ecx, r11d
nop dword [rax + rax]
call fcn.00609c00
mov ecx, dword [rsp + 0x2c]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
test ecx, ecx
je 0x61ab60
nop word [rax + rax]
cmp ecx, 0x7fffffff
ja 0x61ac01
mov rax, qword [rsi + 0x138]
mov ebx, dword [rdi + 0x28]
call fcn.00609c00
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsi + 0x130]
call fcn.005dba40
mov eax, 1
jmp 0x61ab75
xor eax, eax
test al, 1
je 0x61ab8d
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, [0x006bb4c0]
lea rbx, [0x007f0da0]
call fcn.00436580
lea rax, [0x006bb4c0]
lea rbx, [0x007f0da0]
call fcn.00436580
nop
call fcn.00435a20
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.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0061a700