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

Disassembly:
lea r12, [rsp - 0x210]
cmp r12, qword [r14 + 0x10]
jbe 0x5050b4
push rbp
mov rbp, rsp
sub rsp, 0x288
mov byte [rsp + 0x3a0], al
nop
call fcn.0045b0e0
mov qword [rsp + 0x248], rax
mov ebx, 2
mov ecx, 0x202
lea rax, [0x0066d1c0]
call fcn.004479c0
mov qword [rsp], 0
mov qword [rsp + 6], 0
mov rcx, qword [rsp + 0x248]
shr rcx, 1
mov qword [rsp + 0x240], rcx
mov word [rsp], cx
mov byte [rsp + 8], 1
movzx edx, byte [rsp + 0x3a0]
mov byte [rsp + 0xa], dl
mov ebx, 2
mov ecx, 0x202
call fcn.004faf20
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x250], rax
movups xmm0, xmmword [rsp + 0x18]
movups xmmword [rsp + 0x258], xmm0
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsp + 0x268], xmm0
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rsp + 0x278], xmm0
movzx eax, byte [rsp + 0x268]
test al, al
ja 0x504e02
mov rdx, qword [0x0089a780]
mov r12, qword [0x0089a788]
nop
jmp 0x504e20
cmp al, 2
jbe 0x504e16
mov rdx, qword [0x0089a790]
mov r12, qword [0x0089a798]
jmp 0x504e20
xor edx, edx
xor r12d, r12d
nop dword [rax + rax]
test rdx, rdx
jne 0x504e32
mov byte [rsp + 0x268], 2
xor edx, edx
xor r12d, r12d
test rdx, rdx
jne 0x505085
mov rcx, qword [rsp + 0x298]
mov qword [rsp], rcx
lea rdi, [rsp + 4]
lea rsi, [rsp + 0x29c]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004607a0
mov rbp, qword [rbp]
lea rax, [rsp + 0x250]
nop dword [rax + rax]
call fcn.004fb180
test rax, rax
jne 0x505064
movzx edx, byte [rsp + 0x268]
test dl, dl
ja 0x504eaa
mov rdx, qword [0x0089a780]
mov r12, qword [0x0089a788]
jmp 0x504ec4
cmp dl, 5
jbe 0x504ebf
mov rdx, qword [0x0089a790]
mov r12, qword [0x0089a798]
jmp 0x504ec4
xor edx, edx
xor r12d, r12d
test rdx, rdx
jne 0x504ed6
mov byte [rsp + 0x268], 5
xor edx, edx
xor r12d, r12d
test rdx, rdx
jne 0x505043
movups xmmword [rsp + 0x134], xmm15
lea rdi, [rsp + 0x140]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00460494
mov rbp, qword [rbp]
nop
lea rdi, [rsp + 0x134]
lea rsi, [0x00746440]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004607a0
mov rbp, qword [rbp]
mov dword [rsp + 0x234], 0x4d00029
mov dword [rsp + 0x238], 0
movups xmm0, xmmword [rsp + 0x134]
movups xmmword [rsp], xmm0
lea rdi, [rsp + 0xc]
lea rsi, [rsp + 0x140]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004607a0
mov rbp, qword [rbp]
lea rax, [rsp + 0x250]
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
call fcn.004fb320
test rax, rax
jne 0x505022
lea rax, [rsp + 0x250]
nop dword [rax]
call fcn.004fb820
test rdi, rdi
jne 0x505001
cmp rbx, 2
jb 0x5050a6
lea rdx, [rbx - 2]
lea rdi, [rcx - 2]
mov r12, rdi
neg r12
sar r12, 0x3f
and r12d, 2
add r12, rax
mov r13, rdx
sar rdx, 8
mov byte [rax], dl
mov byte [rax + 1], r13b
mov rsi, rax
mov r8, rbx
mov r9, rcx
xor r10d, r10d
xor r11d, r11d
mov rax, qword [rsp + 0x240]
mov rbx, r12
mov rcx, r13
add rsp, 0x288
pop rbp
nop
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov r8, rcx
mov r9, rcx
mov r10, rdi
mov r11, rsi
mov rdi, rcx
mov rsi, rbx
add rsp, 0x288
pop rbp
ret
xor ecx, ecx
mov rdi, rcx
xor esi, esi
mov r8, rcx
mov r9, rcx
mov r10, rax
mov r11, rbx
xor eax, eax
mov rbx, rsi
add rsp, 0x288
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
mov r10, rdx
mov r11, r12
add rsp, 0x288
pop rbp
ret
xor ecx, ecx
mov rdi, rcx
xor esi, esi
mov r8, rcx
mov r9, rcx
mov r10, rax
mov r11, rbx
xor eax, eax
mov rbx, rsi
add rsp, 0x288
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
mov r10, rdx
mov r11, r12
add rsp, 0x288
pop rbp
ret
mov eax, 2
mov rcx, rbx
call fcn.004602a0
nop
mov byte [rsp + 0x110], al
nop dword [rax + rax]
call fcn.0045df00
movzx eax, byte [rsp + 0x110]
jmp fcn.00504d20