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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x420306
push rbp
mov rbp, rsp
sub rsp, 0x48
cmp dword [0x0092d508], 0
je 0x4202f3
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
test rcx, rcx
jne 0x420074
nop
call fcn.00461b20
xorps xmm15, xmm15
mov r14, qword [0x0092d718]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp]
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov rdx, qword [0x0092dd00]
mov rsi, rcx
sub rcx, rdx
cmp rcx, 0x989680
jle 0x4200ad
lea rax, [0x0092dcc0]
mov rbx, rsi
call fcn.0041c040
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x28]
test rbx, rbx
je 0x4200da
mov rdx, qword [rbx + 0x1260]
test rdx, rdx
je 0x4200da
cmp qword [rdx + 0x10], 0
jne 0x4200d3
mov rdx, qword [rbx + 0x1268]
cmp qword [rdx + 0x10], 0
je 0x4200da
mov ecx, 1
jmp 0x420104
mov rdx, qword [0x008a7e00]
test rdx, rdx
jne 0x4200ff
mov edx, dword [0x008a7ec8]
cmp dword [0x008a7ecc], edx
jbe 0x4200fb
mov ecx, 1
jmp 0x420104
xor ecx, ecx
jmp 0x420104
mov ecx, 1
test cl, cl
je 0x42010b
nop
jmp 0x420119
xor eax, eax
mov rbx, rsi
add rsp, 0x48
pop rbp
ret
mov rax, rcx
mov rdx, qword [0x0092d6d8]
test rdx, rdx
je 0x420152
mov rdi, rdx
sar rdx, 0x13
shl rdx, 3
nop
nop
mov r8, qword [rdx]
mov rcx, rax
mov rax, rdi
lea r9, [0x0092d6d8]
lock cmpxchg qword [r9], r8
sete dil
test dil, dil
je 0x420116
jmp 0x420160
mov rcx, rax
lea r9, [0x0092d6d8]
xor edx, edx
nop
test rdx, rdx
je 0x420169
test byte [rcx], al
jmp 0x420174
xor eax, eax
mov rbx, rsi
add rsp, 0x48
pop rbp
ret
nop
mov rax, qword [rcx + 0xe8]
nop dword [rax]
test rax, rax
jle 0x4201ad
mov qword [rsp + 0x30], rax
lea rdi, [rax - 1]
lock cmpxchg qword [rcx + 0xe8], rdi
sete dil
nop dword [rax + rax]
test dil, dil
je 0x420174
mov rdi, qword [rsp + 0x30]
test rdi, rdi
jg 0x42023a
movsd xmm0, qword [rcx + 0x108]
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x4201c6
jnp 0x420222
mov rdi, qword [rcx + 0xe0]
mov r8, rsi
sub rsi, rdi
test rsi, rsi
jle 0x420213
test byte [rbx], al
mov rdi, qword [rbx + 0x1240]
xorps xmm1, xmm1
cvtsi2sd xmm1, rdi
xorps xmm2, xmm2
cvtsi2sd xmm2, rsi
divsd xmm1, xmm2
ucomisd xmm1, xmm0
jbe 0x420213
mov rax, r9
mov rbx, rdx
call fcn.0040b380
xor eax, eax
mov rbx, qword [rsp + 0x28]
add rsp, 0x48
pop rbp
ret
test byte [rbx], al
mov qword [rbx + 0x1250], 2
jmp 0x42024a
mov rax, r9
mov rbx, rdx
call fcn.0040b380
xor eax, eax
mov rbx, qword [rsp + 0x28]
add rsp, 0x48
pop rbp
ret
test byte [rbx], al
mov qword [rbx + 0x1250], 1
mov r8, rsi
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x40], rax
mov rdx, qword [0x0092d490]
test rdx, rdx
jne 0x420265
xor ebx, ebx
xor ecx, ecx
jmp 0x420272
call fcn.004520a0
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x38], rcx
mov ebx, 4
mov ecx, 1
call fcn.00437960
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x4202e3
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
xor edi, edi
call fcn.00452f60
nop
mov edx, 1
mov rsi, qword [rsp + 0x38]
lock xadd qword [rsi + 0x398], rdx
mov edx, dword [rsi + 0xd8]
lea r8d, [rdx - 1]
nop
mov dword [rsi + 0xd8], r8d
cmp edx, 1
jne 0x4202e3
cmp byte [r14 + 0xb1], 0
je 0x4202e3
mov qword [r14 + 0x10], 0xfffffffffffffade
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x28]
add rsp, 0x48
pop rbp
ret
lea rax, [0x006d605c]
mov ebx, 0x36
nop
call fcn.004341e0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00420020