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

Disassembly:
lea r12, [rsp - 0x208]
cmp r12, qword [r14 + 0x10]
jbe 0x56b4f4
push rbp
mov rbp, rsp
sub rsp, 0x280
mov byte [rsp + 0x398], al
nop
call 0x4628e0
mov qword [rsp + 0x130], rax
mov ebx, 2
mov ecx, 0x202
lea rax, [0x0065bae0]
call fcn.0044b7a0
mov qword [rsp], 0
mov qword [rsp + 6], 0
mov rcx, qword [rsp + 0x130]
shr rcx, 1
mov qword [rsp + 0x130], rcx
mov word [rsp], cx
mov byte [rsp + 8], 1
movzx edx, byte [rsp + 0x398]
mov byte [rsp + 0xa], dl
mov ebx, 2
mov ecx, 0x202
call fcn.005621c0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x248], rax
movups xmm0, xmmword [rsp + 0x18]
movups xmmword [rsp + 0x250], xmm0
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsp + 0x260], xmm0
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rsp + 0x270], xmm0
movzx eax, byte [rsp + 0x260]
test al, al
ja 0x56b242
mov rdx, qword [0x008be8b0]
mov r12, qword [0x008be8b8]
nop
jmp 0x56b260
cmp al, 2
jbe 0x56b256
mov rdx, qword [0x008be8c0]
mov r12, qword [0x008be8c8]
jmp 0x56b260
xor edx, edx
xor r12d, r12d
nop dword [rax + rax]
test rdx, rdx
jne 0x56b272
mov byte [rsp + 0x260], 2
xor edx, edx
xor r12d, r12d
test rdx, rdx
jne 0x56b4c5
mov rcx, qword [rsp + 0x290]
mov qword [rsp], rcx
lea rdi, [rsp + 4]
lea rsi, [rsp + 0x294]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f60
mov rbp, qword [rbp]
lea rax, [rsp + 0x248]
nop dword [rax + rax]
call fcn.00562420
test rax, rax
jne 0x56b4a4
movzx edx, byte [rsp + 0x260]
test dl, dl
ja 0x56b2ea
mov rdx, qword [0x008be8b0]
mov r12, qword [0x008be8b8]
jmp 0x56b304
cmp dl, 5
jbe 0x56b2ff
mov rdx, qword [0x008be8c0]
mov r12, qword [0x008be8c8]
jmp 0x56b304
xor edx, edx
xor r12d, r12d
test rdx, rdx
jne 0x56b316
mov byte [rsp + 0x260], 5
xor edx, edx
xor r12d, r12d
test rdx, rdx
jne 0x56b483
movups xmmword [rsp + 0x13c], xmm15
lea rdi, [rsp + 0x148]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c54
mov rbp, qword [rbp]
nop
lea rdi, [rsp + 0x13c]
lea rsi, [0x0072cda0]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f60
mov rbp, qword [rbp]
mov dword [rsp + 0x23c], 0x4d00029
mov dword [rsp + 0x240], 0
movups xmm0, xmmword [rsp + 0x13c]
movups xmmword [rsp], xmm0
lea rdi, [rsp + 0xc]
lea rsi, [rsp + 0x148]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f60
mov rbp, qword [rbp]
lea rax, [rsp + 0x248]
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
call fcn.005625c0
test rax, rax
jne 0x56b462
lea rax, [rsp + 0x248]
nop dword [rax]
call fcn.00562ae0
test rdi, rdi
jne 0x56b441
cmp rbx, 2
jb 0x56b4e6
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 + 0x130]
mov rbx, r12
mov rcx, r13
add rsp, 0x280
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, 0x280
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, 0x280
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, 0x280
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, 0x280
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, 0x280
pop rbp
ret
mov eax, 2
mov rcx, rbx
call fcn.00466a20
nop
mov byte [rsp + 0x110], al
nop dword [rax + rax]
call fcn.004646a0
movzx eax, byte [rsp + 0x110]
jmp fcn.0056b160