Function at 0x140057090
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
push rbp
push rdi
lea rbp, [rax - 0x38]
sub rsp, 0x128
cmp byte [rcx], 0
mov rdi, rcx
je 0x140057adb
cmp qword [rcx + 0x40], 0
je 0x140057adb
movss xmm1, dword [0x1401900b8]
lea rcx, str.PROJECT_NAME_menu
mov qword [rax + 0x10], rbx
movaps xmm0, xmm1
mulss xmm0, dword [0x140185a40]
xor edx, edx
mov r8d, 0x203b
mov qword [rax + 0x18], rsi
mulss xmm1, dword [0x140185a58]
mov qword [rax - 0x18], r13
xor r13d, r13d
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
mov qword [rax + 0x20], r12
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x140190fd0]
or dword [rax + 0x4a18], 3
movss dword [rax + 0x4a38], xmm1
movss dword [rax + 0x4a3c], xmm0
mov dword [rax + 0x4a20], 1
mov qword [rax + 0x4a28], r13
mov qword [rax + 0x4a30], r13
mov dword [rax + 0x4a1c], 1
call fcn.1400176a0
cmp byte [0x14019120c], r13b
mov esi, 0x14
mov r8, qword [0x140190fd0]
xorps xmm7, xmm7
movss xmm10, dword [0x140185944]
movss xmm11, dword [0x140185a90]
mov dword [rsp + 0x44], esi
mov rax, qword [r8 + 0x4018]
mov byte [rax + 0xc0], 1
mov r15, qword [r8 + 0x4018]
jne 0x140057310
movss xmm8, dword [0x140185a10]
lea r14, [0x1401917c4]
movss xmm9, dword [0x140185a04]
lea r12, [0x140000000]
movaps xmmword [rsp + 0xa0], xmm12
mov ebx, r13d
movss xmm12, dword [0x1401859e8]
movaps xmmword [rsp + 0x90], xmm13
movss xmm13, dword [0x1401859dc]
movaps xmmword [rsp + 0x80], xmm14
movss xmm14, dword [0x140185a94]
movaps xmmword [rsp + 0x70], xmm15
movss xmm15, dword [0x140185990]
nop
mov rax, qword [r8 + 0x4018]
movss xmm0, dword [rax + 0x28]
movss xmm1, dword [rax + 0x30]
addss xmm1, xmm0
call fcn.140055f60
mov rax, qword [0x140190fd0]
movaps xmm1, xmm8
movss dword [r14 - 4], xmm0
movaps xmm0, xmm7
mov rcx, qword [rax + 0x4018]
movss xmm6, dword [rcx + 0x2c]
call fcn.140055f60
subss xmm6, xmm0
movaps xmm1, xmm9
movaps xmm0, xmm12
movss dword [r14], xmm6
call fcn.140055f60
movss dword [rbx + r12 + 0x1913b0], xmm0
movaps xmm1, xmm13
movaps xmm0, xmm14
call fcn.140055f60
movss dword [rbx + r12 + 0x191620], xmm0
movaps xmm1, xmm15
movaps xmm0, xmm7
call fcn.140055f60
movss dword [rbx + r12 + 0x1916f0], xmm0
movaps xmm1, xmm10
movaps xmm0, xmm11
call fcn.140055f60
movss xmm1, dword [0x140185980]
movss dword [rbx + r12 + 0x191550], xmm0
movaps xmm0, xmm7
call fcn.140055f60
mov r8, qword [0x140190fd0]
add r14, 8
cvttss2si eax, xmm0
mov dword [rbx + r12 + 0x191480], eax
add rbx, 4
sub rsi, 1
jne 0x140057210
movaps xmm15, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0xa0]
mov byte [0x14019120c], 1
movss xmm3, dword [r15 + 0x28]
lea rcx, [rsp + 0x48]
movss xmm2, dword [r15 + 0x2c]
movaps xmm1, xmm3
movups xmm0, xmmword [r8 + 0x3a04]
addss xmm1, dword [r15 + 0x30]
movups xmmword [rsp + 0x48], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x38e8]
movss dword [rsp + 0x34], xmm3
movss dword [rsp + 0x38], xmm2
movss dword [rsp + 0x54], xmm0
movaps xmm0, xmm2
addss xmm0, dword [r15 + 0x34]
movss dword [rsp + 0x3c], xmm1
movss dword [rsp + 0x60], xmm3
movss dword [rsp + 0x64], xmm2
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x6c], xmm0
call fcn.14000d6d0
movss xmm0, dword [r8 + 0x38f8]
lea rdx, [rsp + 0x60]
mov rcx, qword [r15 + 0x2a8]
lea r8, [rsp + 0x3c]
mov r9d, eax
mov dword [rsp + 0x28], 0xa0
movss dword [rsp + 0x20], xmm0
call fcn.14002ba40
mov rbx, qword [0x140190fd0]
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], 4
movups xmm0, xmmword [rbx + 0x3a14]
lea rcx, [rbx + 0x4a90]
movups xmm6, xmmword [rbx + 0x3a04]
movups xmmword [rsp + 0x4c], xmm0
call fcn.140026490
cmp dword [rbx + 0x4a8c], 4
je 0x1400573fb
movups xmmword [rbx + 0x3a14], xmm6
movzx esi, byte [rdi + 1]
shr sil, 1
not sil
and sil, 1
je 0x140057413
mov rcx, rdi
call fcn.140056d80
mov rax, qword [0x140190fd0]
lea rcx, str.swap_animation
xor edx, edx
mov rbx, qword [rax + 0x4018]
movsxd rax, dword [rbx + 0x100]
mov r8, qword [rbx + 0x108]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.14000d060
mov rcx, qword [rbx]
mov r14d, eax
cmp dword [rcx + 0x4064], eax
jne 0x140057463
lea r8, str.swap_animation
mov edx, 0xb
mov ecx, eax
call fcn.1400259a0
movss xmm3, dword [0x140185974]
movaps xmm0, xmm10
unpcklps xmm0, xmm7
xor r8d, r8d
mov edx, r14d
movsd qword [rsp + 0x20], xmm0
mov rcx, r15
call fcn.14003a7e0
mov r14, rax
cmp byte [rdi + 0x10], r13b
je 0x1400574af
movss xmm0, dword [rax + 0x28]
ucomiss xmm0, dword [rax + 0x2c]
movss dword [rax + 0x30], xmm0
jp 0x1400574a5
jne 0x1400574a5
mov al, 1
jmp 0x1400574a7
xor al, al
mov byte [r14 + 8], al
mov byte [rdi + 0x10], r13b
test sil, sil
jne 0x1400574c8
mov rax, qword [rdi + 0x18]
cmp qword [rdi + 8], rax
je 0x1400574c8
cmp byte [r14 + 8], r13b
je 0x1400574c8
mov qword [rdi + 8], rax
mov rax, qword [rdi + 0x20]
cmp rax, 0xffffffffffffffff
je 0x14005768d
cmp qword [rdi + 0x18], rax
je 0x14005768d
movss xmm0, dword [r14 + 0x30]
comiss xmm0, xmm7
jbe 0x14005768d
mov rax, qword [0x140190fd0]
mov rcx, qword [rax + 0x4018]
movss xmm8, dword [rcx + 0x110]
movss xmm9, dword [rcx + 0x114]
subss xmm8, dword [rcx + 0x28]
subss xmm9, dword [rcx + 0x2c]
addss xmm8, dword [rcx + 0x8c]
addss xmm9, dword [rcx + 0x90]
call fcn.14001a8d0
mov rbx, qword [0x140190fd0]
lea rdx, [rsp + 0x34]
movss xmm6, dword [r14 + 0x30]
mov dword [rsp + 0x34], r13d
movss xmm0, dword [rbx + 0x38e8]
lea rcx, [rbx + 0x4aa0]
movss dword [rsp + 0x38], xmm0
call fcn.140026350
lea rdx, [rdi + 0x20]
movss dword [rbx + 0x38e8], xmm6
lea rcx, [rdi + 0x38]
call fcn.140057bd0
mov rcx, qword [rax + 0x78]
test rcx, rcx
je 0x1400576a3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov ecx, 1
call fcn.14000dc80
mov rbx, qword [0x140190fd0]
mov eax, dword [rbx + 0x499c]
movsxd rcx, dword [rbx + 0x4ad0]
dec word [rbx + 0x669c]
shr eax, 2
test al, 1
lea eax, [rcx - 1]
mov dword [rbx + 0x4ad0], eax
mov rax, qword [rbx + 0x4ad8]
mov edx, dword [rax + rcx*4 - 8]
mov dword [rbx + 0x499c], edx
je 0x1400575e2
test dl, 4
jne 0x1400575e2
mov eax, dword [rbx + 0x6698]
mov dword [rbx + 0x38e8], eax
mov rax, qword [rbx + 0x4018]
lea rcx, [rbx + 0x4aa0]
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], r13d
mov byte [rax + 0xc0], 1
mov rax, qword [rbx + 0x4018]
movss xmm0, dword [rax + 0x2c]
subss xmm0, dword [rax + 0x90]
movss xmm1, dword [rax + 0x28]
subss xmm1, dword [rax + 0x8c]
mov byte [rax + 0x151], 1
addss xmm0, xmm9
addss xmm1, xmm8
movss dword [rax + 0x114], xmm0
movss dword [rax + 0x110], xmm1
movss xmm0, dword [rbx + 0x38e8]
subss xmm10, dword [r14 + 0x30]
movss dword [rsp + 0x38], xmm0
call fcn.140026350
lea rdx, [rdi + 0x18]
movss dword [rbx + 0x38e8], xmm10
lea rcx, [rdi + 0x38]
call fcn.140057bd0
mov rcx, qword [rax + 0x78]
test rcx, rcx
je 0x1400576a3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov ecx, 1
call fcn.14000dc80
jmp 0x1400576b0
lea rdx, [rdi + 0x18]
lea rcx, [rdi + 0x38]
call fcn.140057bd0
mov rcx, qword [rax + 0x78]
test rcx, rcx
jne 0x1400576aa
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r9, qword [0x140190fd0]
movsxd rax, dword [r9 + 0x4a90]
cmp eax, 1
jl 0x1400576eb
mov rcx, qword [r9 + 0x4a98]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r9 + rax*8 + 0x39d4], xmm0
dec dword [r9 + 0x4a90]
cmp dword [r9 + 0x4068], r13d
jne 0x1400576fd
cmp dword [r9 + 0x406c], r13d
je 0x140057714
xor ecx, ecx
call fcn.14001bcb0
test al, al
je 0x140057714
mov r10b, 1
mov byte [0x140191a70], r10b
jmp 0x14005771c
movzx r10d, byte [0x140191a70]
xor ecx, ecx
call fcn.14001bcb0
test al, al
jne 0x140057732
mov byte [0x140191a70], r13b
mov al, 1
jmp 0x14005773d
test r10b, r10b
jne 0x14005773b
mov al, 1
jmp 0x14005773d
xor al, al
movss xmm0, dword [0x1401900b8]
mov rcx, qword [0x1401919d0]
movaps xmm3, xmm0
mulss xmm0, dword [0x1401859f0]
mov byte [0x140191a19], al
mov rax, qword [r9 + 0x4018]
mulss xmm3, dword [0x14018599c]
movss xmm2, dword [rax + 0x30]
mov byte [rax + 0xc0], 1
subss xmm2, xmm0
mov rax, qword [r9 + 0x4018]
movss xmm0, dword [rax + 0x28]
movss xmm1, dword [rax + 0x2c]
subss xmm0, dword [rax + 0x8c]
subss xmm1, dword [rax + 0x90]
mov byte [rax + 0x151], 1
addss xmm2, xmm0
addss xmm1, xmm3
movss dword [rax + 0x110], xmm2
movss dword [rax + 0x114], xmm1
call fcn.14001a790
cmp byte [0x140191a18], r13b
lea rax, [0x1401857e8]
lea rcx, [0x1401857ec]
cmovne rcx, rax
call fcn.140032690
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14001bd20
test al, al
je 0x1400578b4
xor ecx, ecx
call fcn.140010d20
test al, al
je 0x1400578b4
mov r9, qword [0x140190fd0]
lea rcx, [rsp + 0x48]
mov r10b, 1
mov byte [0x140191a58], r10b
movups xmm0, xmmword [r9 + 0x3a04]
movups xmmword [rsp + 0x48], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r9 + 0x38e8]
movss dword [rsp + 0x54], xmm0
call fcn.14000d6d0
movss xmm1, dword [0x1401858b8]
xorps xmm0, xmm0
movzx ecx, al
mov r8d, eax
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mulss xmm0, xmm1
movss dword [0x140191a60], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
shr r8d, 0x18
mulss xmm0, xmm1
movss dword [0x140191a64], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r8d
mulss xmm0, xmm1
movss dword [0x140191a68], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
movss dword [0x140191a6c], xmm0
jmp 0x1400578c3
movzx r10d, byte [0x140191a58]
mov r9, qword [0x140190fd0]
movss xmm2, dword [r9 + 0x18]
mulss xmm2, dword [0x140185988]
test r10b, r10b
je 0x1400578e8
movss xmm1, dword [0x1401900b8]
mulss xmm1, dword [0x140185a68]
jmp 0x1400578eb
movaps xmm1, xmm7
subss xmm1, dword [0x140191a5c]
movaps xmm0, xmm7
mulss xmm1, xmm2
addss xmm1, dword [0x140191a5c]
movss dword [0x140191a5c], xmm1
movaps xmm1, xmm11
call fcn.14001e010
lea rcx, [0x1401857f0]
call fcn.140032690
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14001bd20
test al, al
je 0x140057936
xor ecx, ecx
call fcn.140010d20
movaps xmm1, xmm11
movaps xmm0, xmm7
call fcn.14001e010
lea rcx, [0x1401857f4]
call fcn.140032690
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14001bd20
test al, al
je 0x140057972
xor ecx, ecx
call fcn.140010d20
test al, al
je 0x140057972
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
call fcn.14001a830
mov rax, qword [0x140190fd0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4b28]
mov rcx, qword [rcx]
call fcn.1400112c0
lea rcx, [0x140191a60]
mov rbx, rax
call fcn.14000d6d0
mov rcx, qword [0x140190fd0]
mov edi, eax
mov rdx, qword [rcx + 0x4018]
movss xmm1, dword [rdx + 0x2c]
movss xmm0, dword [rdx + 0x28]
addss xmm1, xmm7
addss xmm0, dword [rdx + 0x30]
movss dword [rsp + 0x38], xmm1
movss xmm1, dword [0x140191a5c]
movss dword [rsp + 0x34], xmm0
test eax, 0xff000000
je 0x140057a3b
movss xmm0, dword [0x140185904]
comiss xmm0, xmm1
ja 0x140057a3b
movss xmm0, dword [0x14018598c]
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x28], 0x167
movaps xmm3, xmm7
movaps xmm2, xmm1
movss dword [rsp + 0x20], xmm0
mov rcx, rbx
call fcn.14002b000
mov r8d, dword [rbx + 0x50]
mov r9d, edi
mov rdx, qword [rbx + 0x58]
mov rcx, rbx
call fcn.14002a540
movss xmm1, dword [0x140191a5c]
mov dword [rbx + 0x50], r13d
movss xmm0, dword [0x1401900b8]
mulss xmm0, dword [0x140185a64]
comiss xmm1, xmm0
jbe 0x140057a65
cmp byte [0x140191a18], r13b
mov byte [0x140191a58], r13b
sete byte [0x140191a18]
mov rdx, r15
lea rcx, [rsp + 0x44]
call fcn.140056220
call fcn.14001a0a0
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xd0]
mov r12, qword [rsp + 0x158]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov r15, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov r13, qword [rsp + 0x120]
movaps xmm10, xmmword [rsp + 0xc0]
mov rsi, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x148]
movaps xmm11, xmmword [rsp + 0xb0]
add rsp, 0x128
pop rdi
pop rbp
ret