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

Disassembly:
lea r12, [rsp - 0xb0]
cmp r12, qword [r14 + 0x10]
jbe 0x540bde
sub rsp, 0x130
mov qword [rsp + 0x128], rbp
lea rbp, [rsp + 0x128]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x140], rbx
movups xmmword [rsp + 0xe8], xmm15
movups xmmword [rsp + 0xf0], xmm15
movups xmmword [rsp + 0x100], xmm15
lea rax, [rsp + 0xe8]
call fcn.00505f40
test rbx, rbx
jne 0x540b94
mov qword [rsp + 0x110], rax
movups xmmword [rsp + 0xc0], xmm15
movups xmmword [rsp + 0xc8], xmm15
movups xmmword [rsp + 0xd8], xmm15
lea rcx, [rsp + 0xc0]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.005073e0
xorps xmm15, xmm15
mov r14, qword [0x00a04c40]
mov r14, qword gs:[r14]
mov r14, qword [r14]
movups xmmword [rsp + 0x98], xmm15
movups xmmword [rsp + 0xa0], xmm15
movups xmmword [rsp + 0xb0], xmm15
mov rcx, qword [0x009ad2c8]
lea rax, [rsp + 0x98]
lea rbx, [rsp + 0xc0]
call fcn.00505620
mov qword [rsp + 0x120], rax
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x78], xmm15
movups xmmword [rsp + 0x88], xmm15
mov rcx, qword [0x009ad2b8]
lea rdx, [rsp + 0x70]
mov qword [rsp], rdx
lea rbx, [rsp + 0xc0]
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
call fcn.005071a0
xorps xmm15, xmm15
mov r14, qword [0x00a04c40]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [0x009ad2c8]
lea rax, [rsp + 0x70]
mov rbx, rax
call fcn.00505580
movups xmmword [rsp + 0x48], xmm15
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x60], xmm15
mov rbx, qword [rsp + 0x120]
mov rcx, rax
lea rax, [rsp + 0x48]
call fcn.00506c20
test rbx, rbx
je 0x540b5a
mov qword [rsp + 0x118], rax
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
mov rbx, qword [0x009a2d20]
mov rcx, rax
lea rax, [rsp + 0x20]
call fcn.00505620
mov rcx, qword [rsp + 0x148]
cmp rcx, 0x1f
jbe 0x540bd3
mov rcx, qword [rsp + 0x140]
movzx ecx, byte [rcx + 0x1f]
shr cl, 7
movzx ecx, cl
nop
mov rdx, qword [rax]
neg rcx
and rdx, rcx
mov rbx, rcx
not rcx
mov rsi, qword [rsp + 0x118]
mov rdi, qword [rsi]
and rdi, rcx
or rdi, rdx
mov qword [rsi], rdi
mov rdx, qword [rax + 8]
and rdx, rbx
mov rdi, qword [rsi + 8]
and rdi, rcx
or rdi, rdx
mov qword [rsi + 8], rdi
mov rdx, qword [rax + 0x10]
and rdx, rbx
mov rdi, qword [rsi + 0x10]
and rdi, rcx
or rdi, rdx
mov qword [rsi + 0x10], rdi
mov rdx, qword [rax + 0x18]
and rdx, rbx
mov rdi, qword [rsi + 0x18]
and rdi, rcx
or rdi, rdx
mov qword [rsi + 0x18], rdi
mov rax, qword [rax + 0x20]
and rbx, rax
mov rax, qword [rsi + 0x20]
and rcx, rax
or rcx, rbx
mov qword [rsi + 0x20], rcx
mov rax, qword [rsi]
mov rcx, qword [rsp + 0x138]
mov qword [rcx], rax
movups xmm0, xmmword [rsi + 8]
movups xmmword [rcx + 8], xmm0
movups xmm0, xmmword [rsi + 0x18]
movups xmmword [rcx + 0x18], xmm0
nop
mov rax, qword [rsp + 0x110]
mov rdx, qword [rax]
mov qword [rcx + 0x28], rdx
movups xmm0, xmmword [rax + 8]
movups xmmword [rcx + 0x30], xmm0
movups xmm0, xmmword [rax + 0x18]
movups xmmword [rcx + 0x40], xmm0
mov rdx, qword [0x009a2d18]
nop
mov rbx, qword [rdx]
mov qword [rcx + 0x50], rbx
movups xmm0, xmmword [rdx + 8]
movups xmmword [rcx + 0x58], xmm0
movups xmm0, xmmword [rdx + 0x18]
movups xmmword [rcx + 0x68], xmm0
lea rdx, [rcx + 0x78]
mov qword [rsp], rdx
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rax
call fcn.005071a0
xorps xmm15, xmm15
mov r14, qword [0x00a04c40]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x138]
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0x128]
add rsp, 0x130
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x24
lea rcx, [0x00728eaa]
mov qword [rax], rcx
lea rbx, [0x007f1c00]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0x128]
add rsp, 0x130
ret
lea rax, [0x006d8800]
nop dword [rax + rax]
call fcn.0040daa0
mov qword [rax + 8], 0x2b
lea rcx, [0x0072bc89]
mov qword [rax], rcx
lea rbx, [0x007f1c00]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0x128]
add rsp, 0x130
ret
mov eax, 0x1f
call fcn.00465ec0
nop
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.00540860