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

Disassembly:
lea r12, [rsp - 0x150]
cmp r12, qword [r14 + 0x10]
jbe 0x57e651
push rbp
mov rbp, rsp
sub rsp, 0x1c8
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], rbx
test rcx, rcx
je 0x57e17e
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x178], rax
mov rdx, rcx
and edx, 0x1f
mov qword [rsp + 0x88], rdx
nop
nop dword [rax]
cmp rdx, 0x14
jne 0x57da49
call fcn.00494fe0
mov rdx, qword [rax + 0xd0]
mov rax, rbx
call rdx
nop word [rax + rax]
test rax, rax
je 0x57e12d
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x180]
cmp rdx, 0x17
jne 0x57da5a
cmp qword [rbx + 8], 0
sete sil
jmp 0x57da60
xor esi, esi
nop dword [rax]
test sil, sil
je 0x57da92
cmp byte [rsp + 0x201], 0
je 0x57da92
xor eax, eax
xor ebx, ebx
mov rcx, rbx
call fcn.0040a9e0
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x00743270]
add rsp, 0x1c8
pop rbp
ret
cmp byte [rsp + 0x1d8], 0
nop word [rax + rax]
je 0x57dbbc
cmp qword [rsp + 0x1e0], 0
je 0x57dbbc
lea rsi, [rdx - 2]
nop
nop word [rax + rax]
cmp rsi, 4
ja 0x57dbbc
call fcn.00494fe0
call fcn.00495f60
call fcn.00491f00
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x80], rcx
mov rdx, qword [rsp + 0x1e0]
mov rdi, qword [rdx]
nop dword [rax]
call fcn.00494540
nop
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x90]
mov edi, 1
call fcn.004923a0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x108], rbx
nop
mov rcx, qword [rsp + 0x80]
mov edi, 1
mov rax, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x168]
call fcn.004923a0
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x108]
call fcn.0048c860
test al, al
jne 0x57db96
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x180]
jmp 0x57dbbc
xor eax, eax
xor ebx, ebx
mov rcx, rbx
nop dword [rax]
call fcn.0040a9e0
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x00743270]
add rsp, 0x1c8
pop rbp
ret
cmp byte [rsp + 0x1d8], 0
je 0x57dc7c
cmp qword [rsp + 0x1e0], 0
jne 0x57dc7c
nop
mov edi, 1
nop
call fcn.004923a0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x100], rbx
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
call fcn.00494fe0
call fcn.00495e60
mov edi, 1
call fcn.004923a0
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x100]
call fcn.0048c860
test al, al
jne 0x57dc54
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x180]
jmp 0x57dc7c
xor eax, eax
xor ebx, ebx
mov rcx, rbx
nop dword [rax + rax]
call fcn.0040a9e0
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x00743270]
add rsp, 0x1c8
pop rbp
ret
nop dword [rax]
call fcn.00494fe0
cmp qword [0x008a6b60], rax
jne 0x57dca8
mov rcx, qword [0x008a6b68]
call fcn.00405280
nop word [rax + rax]
test al, al
jne 0x57df2e
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x90]
call fcn.00494fe0
call fcn.0057a180
test dil, dil
je 0x57de95
test al, al
jne 0x57de95
mov rdx, qword [rsp + 0x1f8]
test rdx, rdx
je 0x57dd32
cmp rbx, 0x17
je 0x57dd32
lea rcx, [0x006d346e]
mov qword [rsp + 0x1a8], rcx
mov qword [rsp + 0x1b0], 0x2b
mov rax, qword [rsp + 0x1a8]
mov ebx, 0x2b
call fcn.0040a940
xor ebx, ebx
lea rcx, [0x00742660]
mov rdi, rax
xor eax, eax
add rsp, 0x1c8
pop rbp
ret
mov byte [rsp + 0x4f], cl
mov rsi, qword [rsp + 0x1f0]
nop
test rsi, rsi
je 0x57dd94
cmp rbx, 0x13
jne 0x57dd50
test rsi, rsi
jmp 0x57dda3
lea rcx, [0x006d48af]
mov qword [rsp + 0x198], rcx
mov qword [rsp + 0x1a0], 0x2f
mov rax, qword [rsp + 0x198]
mov ebx, 0x2f
call fcn.0040a940
xor ebx, ebx
lea rcx, [0x00742660]
mov rdi, rax
xor eax, eax
add rsp, 0x1c8
pop rbp
ret
cmp rbx, 0x13
jne 0x57de14
nop word [rax + rax]
test rsi, rsi
jne 0x57e4dd
mov rdx, qword [rsp + 0x88]
cmp rdx, 0x18
jne 0x57ddc8
mov rbx, qword [rsp + 0x180]
mov rsi, qword [rbx]
mov rdi, qword [rbx + 8]
jmp 0x57de00
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x90]
call fcn.00494f20
movzx ecx, byte [rsp + 0x4f]
mov rdx, qword [rsp + 0x88]
mov rdi, rbx
mov rsi, rax
mov rbx, qword [rsp + 0x180]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x98], rsi
xor eax, eax
jmp 0x57e4e8
cmp rbx, 0x17
jne 0x57de8d
nop word [rax + rax]
cmp rdx, 0x18
je 0x57de74
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x90]
mov edi, 1
call fcn.004923a0
lea rdx, [0x006bfa20]
cmp rax, rdx
jne 0x57e4ce
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx]
mov rbx, rdx
call fcn.0057bb00
test al, al
je 0x57de7e
movzx ecx, byte [rsp + 0x4f]
mov eax, 0x18
jmp 0x57e1b8
movzx ecx, byte [rsp + 0x4f]
mov eax, 0x17
jmp 0x57e1b8
mov rax, rbx
jmp 0x57e1b8
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x90]
call fcn.00494fe0
movups xmmword [rsp + 0x110], xmm15
nop dword [rax + rax]
test rax, rax
je 0x57dec9
mov rax, qword [rax + 8]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rbx
lea rax, [0x006c8df5]
mov ebx, 0x13
lea rcx, [rsp + 0x110]
mov edi, 1
mov rsi, rdi
call fcn.004c2a60
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1c0], rbx
mov rax, qword [rsp + 0x1b8]
call fcn.0040a940
xor ebx, ebx
lea rcx, [0x00742660]
mov rdi, rax
xor eax, eax
add rsp, 0x1c8
pop rbp
ret
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x90]
mov edi, 1
call fcn.004923a0
movups xmmword [rsp + 0x120], xmm15
movups xmmword [rsp + 0x128], xmm15
movups xmmword [rsp + 0x138], xmm15
movups xmmword [rsp + 0x148], xmm15
movups xmmword [rsp + 0x158], xmm15
lea rdx, [0x006a9c60]
cmp rax, rdx
jne 0x57e1a9
mov rdx, qword [rbx]
mov qword [rsp + 0x120], rdx
movups xmm0, xmmword [rbx + 8]
movups xmmword [rsp + 0x128], xmm0
movups xmm0, xmmword [rbx + 0x18]
movups xmmword [rsp + 0x138], xmm0
movups xmm0, xmmword [rbx + 0x28]
movups xmmword [rsp + 0x148], xmm0
movups xmm0, xmmword [rbx + 0x38]
movups xmmword [rsp + 0x158], xmm0
mov rdx, qword [rsp + 0x120]
mov qword [rsp + 0xb8], rdx
movups xmm0, xmmword [rsp + 0x128]
movups xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsp + 0x138]
movups xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsp + 0x158]
movups xmmword [rsp + 0xf0], xmm0
mov rbx, qword [rsp + 0xf0]
test rbx, rbx
jne 0x57e101
lea rax, [0x0069bbc0]
call fcn.0040d480
mov qword [rsp + 0xa8], rax
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xd8]
movzx r9d, byte [rsp + 0xc8]
xor ebx, ebx
mov ecx, 8
call fcn.0057b2c0
call fcn.0040a9e0
lea rcx, [0x00743270]
mov rdx, qword [rsp + 0xa8]
mov qword [rdx + 8], rcx
cmp dword [0x0092d940], 0
je 0x57e09b
call fcn.0045fe40
mov qword [r11], rax
mov rsi, qword [rdx + 0x10]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x10], rax
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe0]
call fcn.0040a9e0
lea rdx, [0x00743270]
mov rbx, qword [rsp + 0xa8]
mov qword [rbx + 0x18], rdx
cmp dword [0x0092d940], 0
je 0x57e0e8
call fcn.0045fe40
mov qword [r11], rax
mov rdx, qword [rbx + 0x20]
mov qword [r11 + 8], rdx
mov qword [rbx + 0x20], rax
lea rax, [0x00743298]
xor ecx, ecx
xor edi, edi
add rsp, 0x1c8
pop rbp
nop
ret
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf8]
call fcn.0040a9e0
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x00743270]
add rsp, 0x1c8
pop rbp
ret
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x90]
call fcn.00491f00
movups xmm0, xmmword [rsp + 0x1d8]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x1e8]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x1f8]
movups xmmword [rsp + 0x20], xmm0
call fcn.0057d9a0
add rsp, 0x1c8
pop rbp
ret
lea rax, [0x006ce103]
mov ebx, 0x1e
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.004bfac0
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
add rsp, 0x1c8
pop rbp
ret
mov rbx, rdx
lea rcx, [0x00677720]
call fcn.0040a4e0
movzx edx, byte [rsp + 0x200]
test dl, dl
je 0x57e215
cmp rax, 0x10
jne 0x57e1d1
mov eax, 0x11
jmp 0x57e215
lea rcx, [0x006cc383]
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], 0x1a
mov rax, qword [rsp + 0x188]
mov ebx, 0x1a
call fcn.0040a940
xor ebx, ebx
lea rcx, [0x00742660]
mov rdi, rax
xor eax, eax
add rsp, 0x1c8
pop rbp
ret
mov qword [rsp + 0x58], rax
nop word [rax + rax]
cmp rax, 0x11
jne 0x57e232
test dl, dl
jne 0x57e232
mov byte [rsp + 0x200], 1
lea rax, [0x0069bbc0]
call fcn.0040d480
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0x1d8]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x1e8]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x1f8]
movups xmmword [rsp + 0x20], xmm0
mov rbx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x178]
call fcn.0057c960
mov rdx, qword [rsp + 0xa0]
mov qword [rdx + 0x18], rax
cmp dword [0x0092d940], 0
je 0x57e2b0
nop
call fcn.0045fe40
mov qword [r11], rbx
mov rsi, qword [rdx + 0x20]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x20], rbx
test rcx, rcx
jne 0x57e4c1
mov rcx, qword [rax + 0x20]
mov rax, rbx
call rcx
mov rcx, qword [rsp + 0x1e8]
test rcx, rcx
je 0x57e44e
cmp byte [rsp + 0x1da], 0
nop
je 0x57e2e9
mov edx, 1
jmp 0x57e303
movzx edx, byte [rsp + 0x1db]
test rdx, rdx
mov edx, 2
mov r10d, 3
cmovne rdx, r10
cmp byte [rsp + 0x1d9], 0
jne 0x57e315
mov r10, qword [rcx]
jmp 0x57e455
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], rdx
xor ebx, ebx
mov ecx, 8
mov rdi, rbx
mov rsi, qword [rsp + 0x58]
mov r8, rax
movzx r9d, byte [rsp + 0x4f]
mov rax, qword [rsp + 0xa0]
nop
call fcn.0057b2c0
call fcn.0040a9e0
lea rdx, [0x00743270]
mov r10, qword [rsp + 0xa0]
mov qword [r10 + 8], rdx
cmp dword [0x0092d940], 0
je 0x57e376
call fcn.0045fe40
mov qword [r11], rax
mov rcx, qword [r10 + 0x10]
mov qword [r11 + 8], rcx
mov qword [r10 + 0x10], rax
lea rax, [0x0069bbc0]
call fcn.0040d480
lea rcx, [0x00743298]
mov qword [rax + 0x18], rcx
cmp dword [0x0092d940], 0
jne 0x57e3a4
mov rdx, qword [rsp + 0xa0]
jmp 0x57e3b4
call fcn.0045fe20
mov rdx, qword [rsp + 0xa0]
mov qword [r11], rdx
mov qword [rsp + 0xb0], rax
mov qword [rax + 0x20], rdx
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
mov rcx, qword [rcx + 0x20]
mov rax, rdx
call rcx
mov rcx, qword [rsp + 0x1e8]
mov rsi, qword [rcx]
mov rcx, qword [rsp + 0x68]
lea r8, [rcx + rax]
mov rax, qword [rsp + 0xb0]
xor ebx, ebx
mov ecx, 8
mov rdi, qword [rsp + 0x60]
mov r9d, 1
nop
call fcn.0057b2c0
call fcn.0040a9e0
lea rcx, [0x00743270]
mov rbx, qword [rsp + 0xb0]
mov qword [rbx + 8], rcx
cmp dword [0x0092d940], 0
je 0x57e436
call fcn.0045fe40
mov qword [r11], rax
mov rdx, qword [rbx + 0x10]
mov qword [r11 + 8], rdx
mov qword [rbx + 0x10], rax
lea rax, [0x00743298]
xor ecx, ecx
xor edi, edi
add rsp, 0x1c8
pop rbp
ret
xor edx, edx
mov r10, qword [rsp + 0x58]
xor ebx, ebx
mov ecx, 8
mov rdi, rdx
mov rsi, r10
mov r8, rax
movzx r9d, byte [rsp + 0x4f]
mov rax, qword [rsp + 0xa0]
call fcn.0057b2c0
call fcn.0040a9e0
lea rdx, [0x00743270]
mov rbx, qword [rsp + 0xa0]
mov qword [rbx + 8], rdx
cmp dword [0x0092d940], 0
je 0x57e4a9
call fcn.0045fe40
mov qword [r11], rax
mov rdx, qword [rbx + 0x10]
mov qword [r11 + 8], rdx
mov qword [rbx + 0x10], rax
lea rax, [0x00743298]
xor ecx, ecx
xor edi, edi
add rsp, 0x1c8
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0x1c8
pop rbp
ret
mov rbx, rdx
lea rcx, [0x00677720]
call fcn.0040a4e0
mov rax, rsi
jmp 0x57e1b8
mov rax, r9
cmp rdi, rax
jle 0x57e644
movzx r8d, byte [rsi + rax]
cmp r8d, 0x80
jge 0x57e505
lea r9, [rax + 1]
jmp 0x57e540
mov rbx, rdi
mov rcx, rax
mov rax, rsi
call fcn.00456f00
movzx ecx, byte [rsp + 0x4f]
mov rdx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x50]
mov r8d, eax
mov r9, rbx
mov rbx, qword [rsp + 0x180]
nop dword [rax + rax]
cmp r8d, 0x80
jge 0x57e5c0
lea r10d, [r8 - 0x61]
nop
cmp r10b, 0x19
jbe 0x57e4e5
lea r10d, [r8 - 0x41]
cmp r10b, 0x19
jbe 0x57e4e5
lea r10d, [r8 - 0x30]
cmp r10b, 9
jbe 0x57e4e5
lea r10d, [r8 - 0x27]
cmp r10b, 2
jbe 0x57e4e5
lea r10d, [r8 - 0x2b]
nop
cmp r10b, 4
jbe 0x57e4e5
cmp r8b, 0x20
je 0x57e4e5
cmp r8b, 0x3a
je 0x57e4e5
nop
cmp r8b, 0x3d
je 0x57e4e5
cmp r8b, 0x3f
je 0x57e4e5
cmp rdx, 0x18
jmp 0x57e5c4
cmp rdx, 0x18
jne 0x57e5cf
mov rdx, qword [rbx]
mov rsi, qword [rbx + 8]
jmp 0x57e5eb
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x90]
nop
call fcn.00494f20
mov rsi, rbx
mov rdx, rax
mov rax, rdx
mov rbx, rsi
call fcn.0046f2a0
test al, al
je 0x57e60e
movzx ecx, byte [rsp + 0x4f]
mov rbx, qword [rsp + 0x180]
mov eax, 0xc
jmp 0x57e649
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 0x1c
lea rcx, [0x006cd217]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00741740]
mov rdi, rax
xor eax, eax
add rsp, 0x1c8
pop rbp
ret
mov eax, 0x13
mov rsi, rax
jmp 0x57e4dd
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
call fcn.0045df00
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
jmp fcn.0057d9a0