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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x44d897
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov rdx, qword [r14 + 0x30]
mov r8, r14
nop
cmp qword [rdx + 0x90], r8
jne 0x44d885
nop
jmp 0x44d5b3
mov rax, r9
mov edx, dword [rax]
test edx, edx
je 0x44d5d8
lea r8d, [rdx - 1]
mov r9, rax
mov eax, edx
lock cmpxchg dword [r9], r8d
sete dl
test dl, dl
je 0x44d5b0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rdi
mov byte [rsp + 0x23], sil
mov byte [rsp + 0x22], bl
mov qword [rsp + 0x68], rax
call fcn.0043cb20
mov qword [rsp + 0x48], rax
nop
mov rcx, qword [rsp + 0x68]
mov rdx, rcx
movups xmmword [rax + 0x20], xmm15
mov dword [rax + 0x30], 0
shr rcx, 3
mov rbx, rax
movabs rax, 0x5197f7d73404147
mov rsi, rdx
mul rcx
add rdx, rcx
rcr rdx, 1
shr rdx, 7
imul rax, rdx, 0xfb
sub rcx, rax
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x78]
bt eax, 0
jae 0x44d6a2
cmp qword [0x01bfaf40], 0
ja 0x44d65b
xor edx, edx
jmp 0x44d6a4
nop dword [rax + rax]
call fcn.0046d700
xorps xmm15, xmm15
mov r14, qword [0x01bfb078]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp]
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x28], 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
mov rdx, rax
mov rax, qword [rsp + 0x78]
nop
jmp 0x44d6a4
xor edx, edx
bt eax, 1
jae 0x44d6e7
cmp qword [0x01bfafc0], 0
jbe 0x44d6e7
test rdx, rdx
jne 0x44d6e3
call fcn.0046d700
xorps xmm15, xmm15
mov r14, qword [0x01bfb078]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp]
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
mov qword [rbx + 0x20], rdx
mov qword [rsp + 0x28], rdx
shl rcx, 6
mov qword [rsp + 0x30], rcx
lea rdi, [0x01ba8f80]
lea r8, [rdi + rcx]
mov qword [rsp + 0x40], r8
jmp 0x44d713
mov rcx, qword [rsp + 0x30]
lea rdi, [0x01ba8f80]
lea rax, [rdi + rcx]
mov qword [rsp + 0x50], rax
nop dword [rax]
call fcn.0040c680
nop
mov rcx, qword [rsp + 0x30]
lea rdx, [0x01ba8f80]
lea rbx, [rdx + rcx]
lea rbx, [rbx + 0x10]
mov esi, 1
lock xadd dword [rbx], esi
mov rsi, qword [rsp + 0x68]
jmp 0x44d7d9
mov r8d, dword [rsp + 0x24]
test r8d, r8d
jne 0x44d805
mov rax, qword [rsp + 0x40]
mov rbx, rsi
mov rcx, qword [rsp + 0x48]
movzx edi, byte [rsp + 0x22]
call fcn.0044db00
mov rsi, qword [rsp + 0x80]
lea rdx, [rsi + 4]
lea rax, [0x011dc790]
mov rbx, qword [rsp + 0x50]
movzx ecx, byte [rsp + 0x23]
mov edi, 0x19
mov rsi, rdx
call fcn.0043c920
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x30], 0
je 0x44d7b6
mov rcx, qword [rsp + 0x68]
mov rbx, rax
mov edx, 1
jmp 0x44d7cf
mov rcx, qword [rsp + 0x68]
nop dword [rax + rax]
jmp 0x44d85c
test edx, edx
jmp 0x44d7cc
mov rbx, rax
setne dl
test dl, dl
je 0x44d707
jmp 0x44d81b
mov eax, dword [rsi]
nop dword [rax + rax]
test eax, eax
je 0x44d755
mov dword [rsp + 0x24], eax
lea r8d, [rax - 1]
lock cmpxchg dword [rsi], r8d
sete r8b
test r8b, r8b
je 0x44d7d9
nop
jmp 0x44d74d
nop
mov ecx, 0xffffffff
lock xadd dword [rbx], ecx
nop
nop
mov rax, qword [rsp + 0x50]
call fcn.0040c8a0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x28]
test rcx, rcx
jle 0x44d84a
mov rdx, qword [rsp + 0x28]
sub rcx, rdx
mov rbx, qword [rsp + 0x80]
add rbx, 3
mov rax, rcx
call fcn.0042eda0
mov rax, qword [rsp + 0x48]
call fcn.0043ce20
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov rax, rbx
mov edx, dword [rcx]
nop
test edx, edx
je 0x44d7c9
lea esi, [rdx - 1]
mov rbx, rax
mov eax, edx
lock cmpxchg dword [rcx], esi
sete sil
test sil, sil
je 0x44d859
nop dword [rax]
jmp 0x44d7c5
lea rax, [0x010a1469]
mov ebx, 0x1d
call fcn.00439e00
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
call fcn.0046b6c0
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
jmp fcn.0044d580