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

Disassembly:
lea r12, [rsp - 0x68]
cmp r12, qword [r14 + 0x10]
jbe 0x575f8b
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 0x575863
mov rdi, rbx
mov rcx, rax
jmp 0x5758d6
cmp byte [rcx], 0x2f
je 0x5758d6
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], rcx
lea rcx, [0x006a41db]
mov edi, 1
call fcn.00502300
lea rcx, [rax + 1]
mov rdx, qword [rsp + 0xf8]
cmp rdx, rcx
jb 0x575f85
lea rax, [rsp + 0x78]
mov rbx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x108]
call fcn.0044e760
mov rdi, rbx
mov rcx, rax
test rdi, rdi
je 0x575989
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 0x57596b
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x58], rdi
mov rcx, r8
mov edi, 1
lea rsi, [0x006578a0]
call fcn.0044a920
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 0x5759af
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 0x575c20
mov byte [rsp + 0x47], bl
mov rax, rcx
mov rbx, rdi
lea rcx, [0x006a41db]
mov edi, 1
call fcn.00505840
cmp rbx, 1
jne 0x5759e2
cmp byte [rax], 0x2e
jne 0x5759e2
xor edx, edx
nop
jmp 0x57599d
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 0x575a55
cmp word [rax], 0x2e2e
jne 0x575a55
mov r8, qword [rsp + 0xc8]
mov r9, r8
neg r8
mov rdx, qword [rsp + 0xd0]
cmp rdx, r8
ja 0x575f71
cmp rdx, 1
jb 0x575f65
lea r8, [rdx - 1]
mov r10, r8
neg r8
sar r8, 0x3f
and r8d, 1
add r8, r9
lea r9, [rdx - 2]
jmp 0x575d48
movzx edx, byte [rsp + 0x47]
test dl, dl
je 0x575a6b
lea r8, [rsp + 0xc0]
jmp 0x575b2a
nop
nop
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x575a8c
lea r8, [rsp + 0xc0]
cmp rdx, r8
je 0x575aa4
jmp 0x575d30
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 0x575b1c
mov rax, r9
mov rbx, rdx
mov rcx, r10
mov edi, 1
lea rsi, [0x006578a0]
call fcn.0044a920
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 0x575b45
cmp rdx, r8
je 0x575b4d
nop
jmp 0x575d1d
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 0x575ba6
mov qword [rsp + 0x70], rdx
mov rax, r11
mov rcx, r10
mov rdi, rbx
lea rsi, [0x006578a0]
mov rbx, r9
call fcn.0044a920
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.004662e0
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 0x57599d
cmp rsi, 1
jne 0x575c2c
cmp byte [r8], 0x2e
je 0x575c3a
cmp rsi, 2
jne 0x575ca9
cmp word [r8], 0x2e2e
jne 0x575ca9
nop
nop
mov r8, qword [rsp + 0xc0]
test r8, r8
je 0x575c53
cmp r8, rdx
je 0x575c5b
jmp 0x575d0a
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 0x575c9c
mov edi, 1
lea rsi, [0x006578a0]
call fcn.0044a920
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 0x575cf8
cmp rsi, 1
jle 0x575cdf
cmp byte [rdx + 1], 0x2f
jne 0x575cda
lea rcx, [rdx + 1]
dec rsi
jmp 0x575ce2
mov rcx, rdx
jmp 0x575ce2
mov rcx, rdx
mov rax, rcx
mov rbx, rsi
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
test rdx, rdx
je 0x575d05
nop dword [rax]
call fcn.0045cf80
call fcn.0045cfc0
lea rax, [0x006576e0]
lea rbx, [0x00718800]
call fcn.00436420
lea rax, [0x006576e0]
lea rbx, [0x00718800]
call fcn.00436420
lea rax, [0x006576e0]
lea rbx, [0x00718800]
nop
call fcn.00436420
dec r9
test r9, r9
jl 0x575d5a
movzx r11d, byte [r8 + r9]
cmp r11b, 0x2f
jne 0x575d45
jmp 0x575d61
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 0x575e21
mov qword [rsp + 0x70], r10
mov rax, r13
mov rbx, r12
mov rcx, r15
mov edi, 1
lea rsi, [0x006578a0]
call fcn.0044a920
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 0x575e40
mov edx, 1
jmp 0x575f3e
cmp r9, r10
ja 0x575f58
nop
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x575e65
cmp rdx, r11
je 0x575e6d
nop dword [rax]
jmp 0x575f45
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 0x575ec6
mov qword [rsp + 0x70], rdx
mov rax, r13
mov rbx, r10
mov rcx, r12
mov rdi, r9
lea rsi, [0x006578a0]
call fcn.0044a920
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.004662e0
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 0x575bf5
lea rax, [0x006576e0]
lea rbx, [0x00718800]
call fcn.00436420
mov rcx, r9
mov rdx, r10
nop
call fcn.00465980
mov eax, 1
xor ecx, ecx
call fcn.00465a00
test r9, r9
je 0x575f80
call fcn.0045cf80
nop dword [rax + rax]
call fcn.0045cfc0
call fcn.00465980
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
nop
call fcn.004632e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00575820