Function at 0x7ff6d49d4390
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0xa8
mov rax, qword [0x7ff6d4c6b040]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xb8], rsi
lea rcx, str._demo_menu_
xor r9d, r9d
movaps xmmword [rsp + 0x70], xmm8
xor r8d, r8d
mov byte [rsp + 0x20], 0
call fcn.7ff6d4a1fe40
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [0x7ff6d4c4febc]
call fcn.7ff6d4a1fe40
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, str.CtrlO
lea rcx, str.Open
call fcn.7ff6d4a1fe40
mov r8b, 1
lea rcx, str.Open_Recent
xor edx, edx
call fcn.7ff6d4a1f2a0
test al, al
je 0x7ff6d49d44c7
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rcx, str.fish_hat.c
call fcn.7ff6d4a1fe40
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rcx, str.fish_hat.inl
call fcn.7ff6d4a1fe40
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rcx, str.fish_hat.h
call fcn.7ff6d4a1fe40
mov r8b, 1
lea rcx, str.More..
xor edx, edx
call fcn.7ff6d4a1f2a0
test al, al
je 0x7ff6d49d44c2
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rcx, str.Hello
call fcn.7ff6d4a1fe40
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rcx, str.Sailor
call fcn.7ff6d4a1fe40
mov r8b, 1
lea rcx, str.Recurse..
xor edx, edx
call fcn.7ff6d4a1f2a0
test al, al
je 0x7ff6d49d44bd
call fcn.7ff6d49d4390
call fcn.7ff6d4a1fd60
call fcn.7ff6d4a1fd60
call fcn.7ff6d4a1fd60
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, str.CtrlS
lea rcx, str.Save
call fcn.7ff6d4a1fe40
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rcx, str.Save_As..
call fcn.7ff6d4a1fe40
mov rax, qword [0x7ff6d4c707f8]
mov rax, qword [rax + 0x1c10]
cmp byte [rax + 0x93], 0
jne 0x7ff6d49d4522
mov eax, dword [rax + 0x184]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.7ff6d4a09dd0
mov r8b, 1
mov qword [rsp + 0xb0], rbx
xor edx, edx
lea rcx, str.Options
call fcn.7ff6d4a1f2a0
xor esi, esi
xorps xmm8, xmm8
test al, al
je 0x7ff6d49d472f
movzx r9d, byte [0x7ff6d4c6f404]
lea r8, [0x7ff6d4a6ef71]
lea rcx, str.Enabled
mov byte [rsp + 0x20], 1
call fcn.7ff6d4a1fe40
test al, al
je 0x7ff6d49d457b
cmp byte [0x7ff6d4c6f404], sil
sete byte [0x7ff6d4c6f404]
mov r11, qword [0x7ff6d4c707f8]
lea r8, [0x7ff6d4c49651]
mov dword [rsp + 0x58], esi
lea rbx, [0x7ff6d4a71180]
mov dword [rsp + 0x5c], 0x42700000
mov r9b, 0x63
mov rax, qword [r11 + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [r11 + 0x1c10]
movsxd rcx, dword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov edx, r10d
nop dword [rax]
cmp r9b, 0x23
jne 0x7ff6d49d45e3
cmp byte [r8], r9b
jne 0x7ff6d49d45e3
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [rbx + rcx*4]
test r9b, r9b
jne 0x7ff6d49d45d0
not edx
cmp dword [r11 + 0x1c58], edx
jne 0x7ff6d49d4611
mov dword [r11 + 0x1c5c], edx
cmp dword [r11 + 0x1c98], edx
jne 0x7ff6d49d4622
mov byte [r11 + 0x1c9c], 1
mov r9b, 1
mov dword [rsp + 0x20], esi
lea r8, [rsp + 0x58]
lea rcx, str.child
call fcn.7ff6d499bc60
mov ebx, esi
nop dword [rax]
mov edx, ebx
lea rcx, str.Scrolling_Text__d
call fcn.7ff6d4a057b0
inc ebx
cmp ebx, 0xa
jl 0x7ff6d49d4640
call fcn.7ff6d499bf60
lea rax, [rsp + 0x60]
mov dword [rsp + 0x30], esi
lea rbx, str._.3f
mov dword [rsp + 0x60], 0x3f800000
mov qword [rsp + 0x28], rbx
lea r9, [rsp + 0x58]
lea r8, [0x7ff6d4c6f368]
mov qword [rsp + 0x20], rax
mov edx, 8
mov dword [rsp + 0x58], esi
lea rcx, [0x7ff6d4c45b00]
call fcn.7ff6d4a0e5d0
mov dword [rsp + 0x30], 0x20000
lea r9, [rsp + 0x58]
mov qword [rsp + 0x28], rbx
lea r8, [0x7ff6d4c6f368]
mov edx, 8
mov qword [rsp + 0x20], rsi
lea rcx, str.Input
mov dword [rsp + 0x58], 0x3dcccccd
call fcn.7ff6d4a0fe90
mov edx, esi
lea rcx, [0x7ff6d4c4ff68]
nop dword [rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], sil
jne 0x7ff6d49d46e7
inc rcx
inc edx
add rcx, rax
cmp byte [rcx], sil
jne 0x7ff6d49d46e0
mov dword [rsp + 0x28], 0xffffffff
lea r9, [0x7ff6d4c4ff68]
mov dword [rsp + 0x20], edx
lea r8, [0x7ff6d4a0b5d0]
lea rdx, [0x7ff6d4c70a48]
lea rcx, str.Combo
call fcn.7ff6d4a0b620
call fcn.7ff6d4a1fd60
mov r8b, 1
lea rcx, str.Colors
xor edx, edx
call fcn.7ff6d4a1f2a0
test al, al
je 0x7ff6d49d4884
mov r8, qword [0x7ff6d4c707f8]
mov ebx, esi
mov qword [rsp + 0xa0], rdi
mov rdi, rsi
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm7
movss xmm6, dword [r8 + 0x1980]
movss xmm7, dword [0x7ff6d4c568c8]
movss dword [rsp + 0x60], xmm6
movss dword [rsp + 0x64], xmm6
nop dword [rax]
mov rax, qword [r8 + 0x1c10]
lea rcx, [rsp + 0x48]
movsd xmm2, qword [rax + 0xd8]
mov byte [rax + 0x90], 1
movaps xmm1, xmm2
movups xmm0, xmmword [rdi + r8 + 0x1628]
shufps xmm1, xmm1, 0x55
movups xmmword [rsp + 0x48], xmm0
shufps xmm0, xmm0, 0xff
addss xmm1, xmm6
mulss xmm0, dword [r8 + 0x1560]
movsd qword [rsp + 0x40], xmm2
movss dword [rsp + 0x54], xmm0
movaps xmm0, xmm2
addss xmm0, xmm6
movss dword [rsp + 0x5c], xmm1
movss dword [rsp + 0x58], xmm0
call fcn.7ff6d4991830
mov rcx, qword [r8 + 0x1c10]
lea rdx, [rsp + 0x40]
mov r9d, eax
mov dword [rsp + 0x28], esi
lea r8, [rsp + 0x58]
movss dword [rsp + 0x20], xmm8
mov rcx, qword [rcx + 0x280]
call fcn.7ff6d49eab30
lea rcx, [rsp + 0x60]
call fcn.7ff6d4a09c30
movaps xmm1, xmm7
movaps xmm0, xmm8
call fcn.7ff6d49a37e0
mov ecx, ebx
call fcn.7ff6d4993750
mov rcx, rax
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.7ff6d4a1fe40
inc ebx
add rdi, 0x10
cmp ebx, 0x35
jge 0x7ff6d49d4867
mov r8, qword [0x7ff6d4c707f8]
jmp 0x7ff6d49d4790
call fcn.7ff6d4a1fd60
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
mov r8b, 1
lea rcx, str.Options
xor edx, edx
call fcn.7ff6d4a1f2a0
movaps xmm8, xmmword [rsp + 0x70]
mov rsi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
test al, al
je 0x7ff6d49d48c7
lea rdx, [0x7ff6d4c6b218]
lea rcx, str.SomeOption
call fcn.7ff6d4a08910
call fcn.7ff6d4a1fd60
xor r8d, r8d
lea rcx, str.Disabled
xor edx, edx
call fcn.7ff6d4a1f2a0
mov r9b, 1
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rcx, str.Checked
call fcn.7ff6d4a1fe40
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, str.AltF4
lea rcx, str.Quit
call fcn.7ff6d4a1fe40
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.7ff6d4a69a50
add rsp, 0xa8
ret