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

Disassembly:
lea r12, [rsp - 0x68]
cmp r12, qword [r14 + 0x10]
jbe 0x57057c
sub rsp, 0xe8
mov qword [rsp + 0xe0], rbp
lea rbp, [rsp + 0xe0]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x100], rcx
test rdi, rdi
jne 0x56fe63
mov rdi, rbx
mov rcx, rax
jmp 0x56fed6
cmp byte [rcx], 0x2f
je 0x56fed6
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], rcx
lea rcx, [0x006b861b]
mov edi, 1
call fcn.004fd7c0
lea rcx, [rax + 1]
mov rdx, qword [rsp + 0xf8]
cmp rdx, rcx
jb 0x570576
lea rax, [rsp + 0x78]
mov rbx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x108]
call fcn.0044e540
mov rdi, rbx
mov rcx, rax
test rdi, rdi
je 0x56ff89
movups xmmword [rsp + 0xc0], xmm15
movups xmmword [rsp + 0xd0], xmm15
nop
lea rdx, [rsp + 0xc0]
mov qword [rsp + 0xc0], rdx
mov rbx, qword [rsp + 0xd0]
inc rbx
mov rax, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd8]
nop dword [rax]
cmp r8, rbx
jae 0x56ff6b
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x58], rdi
mov rcx, r8
mov edi, 1
lea rsi, [0x00667c00]
call fcn.0044a700
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xa8]
lea rdx, [rsp + 0xc0]
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0xd0], rbx
mov byte [rbx + rax - 1], 0x2f
mov eax, 1
mov ebx, 1
xor esi, esi
xor r8d, r8d
jmp 0x56ffaf
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov r8, rax
mov eax, esi
mov rsi, rbx
mov ebx, edx
lea rdx, [rsp + 0xc0]
test al, al
je 0x570220
mov byte [rsp + 0x47], bl
mov rax, rcx
mov rbx, rdi
lea rcx, [0x006b861b]
mov edi, 1
call fcn.00500a20
cmp rbx, 1
jne 0x56ffe2
cmp byte [rax], 0x2e
jne 0x56ffe2
xor edx, edx
nop
jmp 0x56ff9d
mov byte [rsp + 0x46], sil
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x50], rdi
cmp rbx, 2
jne 0x570055
cmp word [rax], 0x2e2e
jne 0x570055
mov r8, qword [rsp + 0xc8]
mov r9, r8
neg r8
mov rdx, qword [rsp + 0xd0]
cmp rdx, r8
ja 0x570571
cmp rdx, 1
jb 0x570565
lea r8, [rdx - 1]
mov r10, r8
neg r8
sar r8, 0x3f
and r8d, 1
add r8, r9
lea r9, [rdx - 2]
jmp 0x570340
movzx edx, byte [rsp + 0x47]
test dl, dl
je 0x57006b
lea r8, [rsp + 0xc0]
jmp 0x57012a
nop
nop
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x57008c
lea r8, [rsp + 0xc0]
cmp rdx, r8
je 0x5700a4
jmp 0x570325
lea rdx, [rsp + 0xc0]
mov qword [rsp + 0xc0], rdx
lea r8, [rsp + 0xc0]
mov rdx, qword [rsp + 0xd0]
inc rdx
mov r9, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xd8]
nop
cmp r10, rdx
jae 0x57011c
mov rax, r9
mov rbx, rdx
mov rcx, r10
mov edi, 1
lea rsi, [0x00667c00]
call fcn.0044a700
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xa0]
movzx esi, byte [rsp + 0x46]
mov rdi, qword [rsp + 0x50]
lea r8, [rsp + 0xc0]
mov rdx, rbx
mov r9, rax
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rdx
mov byte [rdx + r9 - 1], 0x2f
nop
nop
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x570145
cmp rdx, r8
je 0x57014d
nop
jmp 0x570310
mov qword [rsp + 0xc0], r8
mov rdx, qword [rsp + 0xd0]
lea r9, [rdx + rbx]
mov r10, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xc8]
cmp r10, r9
jae 0x5701a6
mov qword [rsp + 0x70], rdx
mov rax, r11
mov rcx, r10
mov rdi, rbx
lea rsi, [0x00667c00]
mov rbx, r9
call fcn.0044a700
mov rdx, qword [rsp + 0x70]
mov r11, rax
mov r9, rbx
mov r10, rcx
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x70], r9
mov qword [rsp + 0xb8], r11
mov qword [rsp + 0x68], r10
add rdx, r11
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.00466460
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xd0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0xc8], rdx
xor eax, eax
mov rcx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x46]
mov rdi, qword [rsp + 0x50]
mov edx, eax
mov rax, qword [rsp + 0xb0]
jmp 0x56ff9d
cmp rsi, 1
jne 0x57022c
cmp byte [r8], 0x2e
je 0x57023a
cmp rsi, 2
jne 0x5702a9
cmp word [r8], 0x2e2e
jne 0x5702a9
nop
nop
mov r8, qword [rsp + 0xc0]
test r8, r8
je 0x570253
cmp r8, rdx
je 0x57025b
jmp 0x5702fd
mov qword [rsp + 0xc0], rdx
mov rbx, qword [rsp + 0xd0]
inc rbx
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
cmp rcx, rbx
jae 0x57029c
mov edi, 1
lea rsi, [0x00667c00]
call fcn.0044a700
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rbx
mov byte [rbx + rax - 1], 0x2f
nop
mov rcx, qword [rsp + 0xc8]
mov rdx, rcx
neg rcx
mov rsi, qword [rsp + 0xd0]
cmp rsi, rcx
ja 0x5702f8
cmp rsi, 1
jle 0x5702df
cmp byte [rdx + 1], 0x2f
jne 0x5702da
lea rcx, [rdx + 1]
dec rsi
jmp 0x5702e2
mov rcx, rdx
jmp 0x5702e2
mov rcx, rdx
mov rax, rcx
mov rbx, rsi
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
call fcn.0045d000
lea rax, [0x00667a40]
lea rbx, [0x0072dd30]
call fcn.00436260
lea rax, [0x00667a40]
lea rbx, [0x0072dd30]
nop
call fcn.00436260
lea rax, [0x00667a40]
lea rbx, [0x0072dd30]
call fcn.00436260
dec r9
nop dword [rax + rax]
test r9, r9
jl 0x570352
movzx r11d, byte [r8 + r9]
cmp r11b, 0x2f
jne 0x570338
jmp 0x570359
mov r9, 0xffffffffffffffff
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x48], r9
nop
movups xmmword [rsp + 0xc0], xmm15
movups xmmword [rsp + 0xd0], xmm15
nop
nop
lea r11, [rsp + 0xc0]
mov qword [rsp + 0xc0], r11
mov r12, qword [rsp + 0xd0]
inc r12
mov r13, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xd8]
cmp r15, r12
jae 0x570419
mov qword [rsp + 0x70], r10
mov rax, r13
mov rbx, r12
mov rcx, r15
mov edi, 1
lea rsi, [0x00667c00]
call fcn.0044a700
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xa0]
movzx esi, byte [rsp + 0x46]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x70]
lea r11, [rsp + 0xc0]
mov r12, rbx
mov r13, rax
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0xd0], r12
mov byte [r12 + r13 - 1], 0x2f
cmp r9, 0xffffffffffffffff
jne 0x570440
mov edx, 1
jmp 0x57053e
cmp r9, r10
ja 0x570558
nop
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x570465
cmp rdx, r11
je 0x57046d
nop dword [rax]
jmp 0x570545
mov qword [rsp + 0xc0], r11
mov rdx, qword [rsp + 0xd0]
lea r10, [r9 + rdx]
mov r12, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xc8]
cmp r12, r10
jae 0x5704c6
mov qword [rsp + 0x70], rdx
mov rax, r13
mov rbx, r10
mov rcx, r12
mov rdi, r9
lea rsi, [0x00667c00]
call fcn.0044a700
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x48]
mov r13, rax
mov r12, rcx
mov r10, rbx
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x68], r10
mov qword [rsp + 0xb8], r13
lea rax, [r13 + rdx]
mov rbx, r8
mov rcx, r9
call fcn.00466460
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xd0], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0xc8], rdx
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x46]
mov rdi, qword [rsp + 0x50]
lea r11, [rsp + 0xc0]
movzx edx, byte [rsp + 0x47]
mov eax, edx
jmp 0x5701f5
lea rax, [0x00667a40]
lea rbx, [0x0072dd30]
call fcn.00436260
mov rcx, r9
mov rdx, r10
nop
call fcn.00465ae0
mov eax, 1
xor ecx, ecx
call fcn.00465b60
call fcn.0045d000
call fcn.00465ae0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0056fe20