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

Disassembly:
lea r12, [rsp - 0x30]
cmp r12, qword [r14 + 0x10]
jbe 0x57d6e8
sub rsp, 0xb0
mov qword [rsp + 0xa8], rbp
lea rbp, [rsp + 0xa8]
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc8], rcx
xor edx, edx
xor esi, esi
xor edi, edi
jmp 0x57cd69
mov rdx, r8
cmp rbx, rdx
jle 0x57d12a
jbe 0x57d6dc
mov qword [rsp + 0x58], rdx
mov byte [rsp + 0x45], dil
mov qword [rsp + 0x48], rsi
movzx r8d, byte [rax + rdx]
lea r9, [rax + rdx]
mov qword [rsp + 0x80], r9
nop dword [rax + rax]
cmp r8b, 0x25
jne 0x57cfd5
lea r8, [rdx + 2]
cmp rbx, r8
jle 0x57d0ae
lea r10, [rdx + 1]
nop dword [rax + rax]
cmp rbx, r10
jbe 0x57d6d1
movzx r10d, byte [rax + rdx + 1]
lea r11d, [r10 - 0x30]
cmp r11b, 9
ja 0x57cdde
cmp rbx, r8
jmp 0x57ce03
lea r12d, [r10 - 0x61]
cmp r12b, 5
ja 0x57cded
cmp rbx, r8
jmp 0x57ce03
lea r12d, [r10 - 0x41]
cmp r12b, 5
ja 0x57d0ae
nop dword [rax + rax]
cmp rbx, r8
jbe 0x57d6c6
movzx r8d, byte [rax + rdx + 2]
lea r12d, [r8 - 0x30]
cmp r12b, 9
jbe 0x57ce34
lea r13d, [r8 - 0x61]
nop dword [rax]
cmp r13b, 5
jbe 0x57ce34
lea r13d, [r8 - 0x41]
cmp r13b, 5
ja 0x57d0ae
cmp rcx, 3
jne 0x57cebb
nop
cmp r11b, 9
ja 0x57ce4b
mov r13d, r11d
jmp 0x57ce83
lea r13d, [r10 - 0x61]
cmp r13b, 5
ja 0x57ce64
lea r13d, [r10 - 0x57]
mov r15d, r13d
mov r13d, r11d
mov r11d, r15d
jmp 0x57ce83
lea r13d, [r10 - 0x41]
cmp r13b, 5
ja 0x57ce7d
lea r13d, [r10 - 0x37]
mov r15d, r13d
mov r13d, r11d
mov r11d, r15d
jmp 0x57ce83
mov r13d, r11d
xor r11d, r11d
cmp r11b, 8
jae 0x57cec0
lea r11, [rdx + 3]
cmp rbx, r11
jb 0x57d6bb
cmp rdx, r11
ja 0x57d6b0
movzx r11d, word [rax + rdx]
cmp r11w, 0x3225
jne 0x57d057
cmp r8b, 0x35
je 0x57cec0
jmp 0x57d057
mov r13d, r11d
nop
cmp rcx, 4
jne 0x57cfc9
cmp r13b, 9
ja 0x57ced6
cmp r12b, 9
jmp 0x57cf14
lea r11d, [r10 - 0x61]
nop word [rax + rax]
cmp r11b, 5
ja 0x57cef3
lea r11d, [r10 - 0x57]
cmp r12b, 9
mov r13d, r11d
jmp 0x57cf14
lea r11d, [r10 - 0x41]
cmp r11b, 5
ja 0x57cf0a
lea r11d, [r10 - 0x37]
cmp r12b, 9
mov r13d, r11d
jmp 0x57cf14
cmp r12b, 9
mov r13d, 0
jbe 0x57cf3f
lea r10d, [r8 - 0x61]
nop word [rax + rax]
cmp r10b, 5
ja 0x57cf2c
lea r12d, [r8 - 0x57]
jmp 0x57cf3f
lea r10d, [r8 - 0x41]
cmp r10b, 5
ja 0x57cf3c
lea r12d, [r8 - 0x37]
jmp 0x57cf3f
xor r12d, r12d
shl r13d, 4
or r12d, r13d
lea r10, [rdx + 3]
cmp rbx, r10
jb 0x57d6a5
cmp rdx, r10
ja 0x57d69a
movzx r10d, word [rax + rdx]
cmp r10w, 0x3225
jne 0x57cf6f
cmp r8b, 0x35
je 0x57cfbb
cmp r12b, 0x20
jne 0x57cf7a
xor r8d, r8d
jmp 0x57cfc0
mov eax, r12d
mov ebx, 3
call fcn.0057cbc0
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x48]
movzx edi, byte [rsp + 0x45]
mov r9, qword [rsp + 0x80]
mov r8d, eax
mov rax, qword [rsp + 0xb8]
jmp 0x57cfc0
xor r8d, r8d
nop
test r8b, r8b
jne 0x57d083
inc rsi
lea r8, [rdx + 3]
jmp 0x57cd66
cmp r8b, 0x2b
jne 0x57cfec
cmp rcx, 6
sete dil
lea r8, [rdx + 1]
jmp 0x57cd66
cmp rcx, 3
je 0x57cff8
cmp rcx, 4
jne 0x57d042
cmp r8b, 0x80
jb 0x57d003
xor r8d, r8d
jmp 0x57d045
mov eax, r8d
mov rbx, rcx
call fcn.0057cbc0
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x48]
movzx edi, byte [rsp + 0x45]
mov r9, qword [rsp + 0x80]
mov r8d, eax
mov rax, qword [rsp + 0xb8]
jmp 0x57d045
xor r8d, r8d
test r8b, r8b
jne 0x57d0f2
lea r8, [rdx + 1]
jmp 0x57cd66
mov rax, r9
mov ebx, 3
nop
call fcn.0040b100
xor ebx, ebx
lea rcx, [0x007f2820]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov rax, r9
mov ebx, 3
call fcn.0040b100
xor ebx, ebx
lea rcx, [0x007f2820]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
sub rbx, rdx
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and rdx, rbx
add rax, rdx
cmp rcx, 3
jle 0x57d0cc
mov ecx, 3
mov rbx, rcx
call fcn.0040b100
xor ebx, ebx
lea rcx, [0x007f2820]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
lea rcx, [rdx + 1]
cmp rdx, rcx
ja 0x57d692
mov rax, r9
mov ebx, 1
call fcn.0040b100
xor ebx, ebx
lea rcx, [0x007f2840]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
test rsi, rsi
jne 0x57d148
test dil, dil
jne 0x57d148
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
movups xmmword [rsp + 0x88], xmm15
movups xmmword [rsp + 0x98], xmm15
nop
lea rdx, [rsp + 0x88]
mov qword [rsp + 0x88], rdx
shl rsi, 1
mov r8, rbx
sub rbx, rsi
test rbx, rbx
jl 0x57d67f
mov r9, qword [rsp + 0x98]
mov r10, qword [rsp + 0xa0]
mov r11, r10
sub r10, r9
cmp r10, rbx
jge 0x57d22f
mov qword [rsp + 0x60], r9
nop
lea rcx, [rbx + r11*2]
mov qword [rsp + 0x68], rcx
lea rax, [0x006bb680]
mov rbx, r9
call fcn.0044a940
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x60]
cmp rdx, rcx
mov rsi, rcx
cmovl rcx, rdx
mov rbx, qword [rsp + 0x90]
cmp rax, rbx
je 0x57d1f2
mov qword [rsp + 0x78], rax
call fcn.00466860
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x98], rsi
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x88]
mov r8, qword [rsp + 0xc0]
xor ebx, ebx
jmp 0x57d240
lea rbx, [r9 + 1]
nop word [rax + rax]
cmp r8, rbx
jle 0x57d5c7
jbe 0x57d674
movzx r9d, byte [rax + rbx]
cmp r9b, 0x25
jne 0x57d397
lea r9, [rbx + 1]
cmp r8, r9
jbe 0x57d669
movzx r9d, byte [rax + rbx + 1]
lea r10d, [r9 - 0x30]
cmp r10b, 9
jbe 0x57d29f
lea r10d, [r9 - 0x61]
nop
cmp r10b, 5
ja 0x57d28c
lea r10d, [r9 - 0x57]
jmp 0x57d29f
lea r10d, [r9 - 0x41]
cmp r10b, 5
ja 0x57d29c
lea r10d, [r9 - 0x37]
jmp 0x57d29f
xor r10d, r10d
lea r9, [rbx + 2]
cmp r8, r9
jbe 0x57d65e
movzx r11d, byte [rax + rbx + 2]
lea r12d, [r11 - 0x30]
cmp r12b, 9
jbe 0x57d2df
lea r12d, [r11 - 0x61]
cmp r12b, 5
ja 0x57d2cc
lea r12d, [r11 - 0x57]
jmp 0x57d2df
lea r12d, [r11 - 0x41]
cmp r12b, 5
ja 0x57d2dc
lea r12d, [r11 - 0x37]
jmp 0x57d2df
xor r12d, r12d
shl r10d, 4
or r12d, r10d
nop
mov r10, qword [rsp + 0x88]
test r10, r10
je 0x57d2fe
cmp r10, rdx
je 0x57d306
jmp 0x57d64b
mov qword [rsp + 0x88], rdx
mov rbx, qword [rsp + 0x98]
inc rbx
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0xa0]
cmp r11, rbx
jae 0x57d385
mov qword [rsp + 0x70], r9
mov byte [rsp + 0x46], r12b
mov rax, r10
mov rcx, r11
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x88]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x70]
movzx r12d, byte [rsp + 0x46]
mov r10, rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x98], rbx
mov byte [rbx + r10 - 1], r12b
jmp 0x57d233
mov qword [rsp + 0x50], rbx
nop dword [rax]
cmp r9b, 0x2b
jne 0x57d510
cmp rcx, 6
jne 0x57d45f
nop
nop
mov r9, qword [rsp + 0x88]
nop
test r9, r9
je 0x57d3cf
cmp r9, rdx
je 0x57d3d7
jmp 0x57d638
mov qword [rsp + 0x88], rdx
mov r9, qword [rsp + 0x98]
inc r9
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0xa0]
cmp r11, r9
jae 0x57d44c
mov rax, r10
mov rbx, r9
mov rcx, r11
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x88]
mov r8, qword [rsp + 0xc0]
mov r9, rbx
mov r10, rax
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x98], r9
mov byte [r9 + r10 - 1], 0x20
jmp 0x57d508
nop
nop
mov r9, qword [rsp + 0x88]
test r9, r9
je 0x57d478
cmp r9, rdx
je 0x57d480
jmp 0x57d625
mov qword [rsp + 0x88], rdx
mov r9, qword [rsp + 0x98]
inc r9
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0xa0]
nop dword [rax + rax]
cmp r11, r9
jae 0x57d4fa
mov rax, r10
mov rbx, r9
mov rcx, r11
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x88]
mov r8, qword [rsp + 0xc0]
mov r9, rbx
mov r10, rax
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x98], r9
mov byte [r9 + r10 - 1], 0x2b
mov r9, rbx
jmp 0x57d233
nop
mov r10, qword [rsp + 0x88]
test r10, r10
je 0x57d52a
nop
cmp r10, rdx
je 0x57d532
jmp 0x57d60f
mov qword [rsp + 0x88], rdx
mov r10, qword [rsp + 0x98]
inc r10
mov r11, qword [rsp + 0x90]
mov r12, qword [rsp + 0xa0]
cmp r12, r10
jae 0x57d5b2
mov byte [rsp + 0x47], r9b
mov rax, r11
mov rbx, r10
mov rcx, r12
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xc8]
lea rdx, [rsp + 0x88]
mov r8, qword [rsp + 0xc0]
movzx r9d, byte [rsp + 0x47]
mov r10, rbx
mov r11, rax
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x98], r10
mov byte [r10 + r11 - 1], r9b
mov r9, rbx
jmp 0x57d233
mov rax, qword [rsp + 0x90]
mov rdx, rax
neg rax
mov rbx, qword [rsp + 0x98]
nop dword [rax]
cmp rbx, rax
ja 0x57d600
mov rax, rdx
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
test rdx, rdx
je 0x57d60a
call fcn.0045cf80
call fcn.0045cfc0
lea rax, [0x006bb4c0]
lea rbx, [0x007f0e90]
nop dword [rax]
call fcn.00436580
lea rax, [0x006bb4c0]
lea rbx, [0x007f0e90]
call fcn.00436580
lea rax, [0x006bb4c0]
lea rbx, [0x007f0e90]
call fcn.00436580
lea rax, [0x006bb4c0]
lea rbx, [0x007f0e90]
call fcn.00436580
mov rax, r9
mov rcx, r8
call fcn.00465ec0
mov rax, r9
mov rcx, r8
call fcn.00465ec0
mov rax, rbx
mov rcx, r8
call fcn.00465ec0
lea rax, [0x006bb4c0]
lea rbx, [0x007f0ea0]
call fcn.00436580
mov rax, rdx
call fcn.00465f80
mov rax, rdx
mov rcx, r10
call fcn.00465f80
mov rcx, r10
mov rdx, rbx
call fcn.00465f00
mov rax, rdx
mov rcx, r11
call fcn.00465f80
mov rcx, r11
mov rdx, rbx
call fcn.00465f00
mov rax, r8
mov rcx, rbx
call fcn.00465ec0
mov rax, r10
mov rcx, rbx
call fcn.00465ec0
mov rax, rdx
mov rcx, rbx
call fcn.00465ec0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.0057cd20