Function at 0x100041cf0
Capabilities:
Check for time delay via gettickcount
Create process on windows

Disassembly:
push rdi
mov eax, 0x10e0
call fcn.10002a000
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x10f8], rbx
mov qword [rsp + 0x1100], rbp
mov qword [rsp + 0x1108], rsi
mov rax, qword [0x10009e100]
xor rax, rsp
mov qword [rsp + 0x10d0], rax
xor ebp, ebp
mov ebx, ebp
mov eax, 0x9c61
cmp edx, eax
jg 0x100042049
cmp edx, eax
je 0x100042039
mov eax, 0x9c47
cmp edx, eax
jg 0x100041f17
cmp edx, eax
je 0x100041e5a
sub edx, 0x9c41
je 0x100041dcc
sub edx, 1
je 0x100041db5
sub edx, 1
je 0x100041d9e
sub edx, 1
je 0x100041d94
cmp edx, 1
jne 0x1000421f5
xor r9d, r9d
xor r8d, r8d
lea edx, [rbp + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1000421f5
call fcn.10003fca8
jmp 0x1000421f5
cmp byte [0x10009e052], bpl
jne 0x1000421f5
call fcn.100040370
jmp 0x1000421f5
cmp byte [0x10009e052], bpl
jne 0x1000421f5
call fcn.10003e0cc
jmp 0x1000421f5
cmp byte [0x1000a1c38], bpl
jne 0x100041dea
mov byte [0x1000a1c38], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1000a1c3c], eax
jmp 0x100041e0d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1000a1c3c]
cmp eax, 0x4e2
jb 0x1000421f5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1000a1c3c], eax
mov rcx, qword [0x10009e150]
cmp dword [rcx + 8], 7
je 0x100041e4e
cmp dword [rcx + 8], 1
jne 0x100041e2c
mov rax, qword [rcx + 0x80]
cmp dword [rax + 0x38], ebp
jbe 0x100041e4e
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 0x58]
cmp dword [rcx + 0x28], 0xd
jbe 0x100041e44
xor edx, edx
lea ecx, [rdx + 3]
call fcn.100001ffc
call fcn.1000414f4
jmp 0x1000421f5
xor edx, edx
call fcn.100021da0
jmp 0x1000421f5
mov edx, 0x6c
mov rcx, qword [0x10009e148]
call qword [sym.imp.USER32.dll_LoadIconW]
mov rdi, rax
mov rcx, qword [0x10009e150]
mov rdx, qword [rcx + 0x20]
mov rcx, qword [rdx + 0x58]
cmp dword [rcx + 0x28], 0xd
jbe 0x100041e8e
xor edx, edx
lea ecx, [rdx + 3]
call fcn.100001ffc
mov edx, 0x387
lea rcx, [rsp + 0x68]
call fcn.100003810
mov rbx, rax
mov edx, 0x65
lea rcx, [rsp + 0x50]
call fcn.100003810
mov r9, rdi
mov r8, qword [rbx + 0x10]
mov rdx, qword [rax + 0x10]
mov rcx, qword [0x10009e168]
call qword [sym.imp.SHELL32.dll_ShellAboutW]
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
mov rcx, qword [0x10009e150]
mov rax, qword [rcx + 0x20]
mov rdx, qword [rax + 0x58]
cmp dword [rdx + 0x28], 0xd
jbe 0x100041f0d
mov rax, qword [rcx + 0x88]
cmp byte [rax + 0x30], bpl
je 0x100041f0d
xor r9d, r9d
mov r8b, 1
lea edx, [r9 + 3]
call fcn.100007c0c
call fcn.100012ed8
jmp 0x1000421f5
sub edx, 0x9c52
je 0x100041fe1
sub edx, 6
je 0x100041fd7
sub edx, 3
je 0x100041f84
sub edx, 1
je 0x100041f4f
cmp edx, 3
jne 0x1000421f5
mov rax, qword [0x10009e150]
mov byte [rax + 0x40], bpl
jmp 0x1000421f5
mov rbx, qword [0x10009e150]
mov rax, qword [rbx]
mov edx, dword [rbx + 8]
mov rcx, rbx
call qword [rax + 0x10]
mov r11d, dword [rbx + 8]
mov dword [rbx + 0xc], r11d
mov dword [rbx + 8], 8
mov rax, qword [rbx]
mov edx, 8
mov rcx, rbx
call qword [rax + 8]
jmp 0x1000421f5
mov rbx, qword [0x10009e150]
mov rcx, rbx
call fcn.100003370
cmp al, bpl
je 0x100041fa9
mov edx, 0x28
lea rcx, str.Hearts.HeartsSave_ms
call fcn.100024290
mov rax, qword [rbx]
mov edx, dword [rbx + 8]
mov rcx, rbx
call qword [rax + 0x10]
mov r11d, dword [rbx + 8]
mov dword [rbx + 0xc], r11d
mov dword [rbx + 8], 7
mov rax, qword [rbx]
mov edx, 7
mov rcx, rbx
call qword [rax + 8]
jmp 0x1000421f5
call fcn.100047c60
jmp 0x1000421f5
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov r9d, 0x824
lea r8, [rsp + 0x80]
mov edx, 0x82
call qword [sym.imp.USER32.dll_LoadStringW]
cmp eax, ebp
jle 0x1000421f5
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbp
xor r9d, r9d
lea r8, [rsp + 0x80]
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x1000421f5
mov rax, qword [0x10009e150]
mov byte [rax + 0x40], 1
jmp 0x1000421f5
mov eax, 0xff00
cmp edx, eax
jg 0x1000420b1
cmp edx, eax
je 0x10004216f
sub edx, 0x9c64
je 0x10004209e
sub edx, 1
je 0x10004208b
sub edx, 1
je 0x100042087
sub edx, 1
je 0x100042082
cmp edx, 0x6298
je 0x100042171
jmp 0x1000421f5
mov ebx, 1
inc ebx
jmp 0x1000420dc
mov dl, 1
mov rcx, qword [0x10009e150]
call fcn.100043b90
jmp 0x1000421f5
xor edx, edx
mov rcx, qword [0x10009e150]
call fcn.100043b90
jmp 0x1000421f5
sub edx, 0xff01
je 0x10004216d
sub edx, 1
je 0x1000420e0
sub edx, 1
je 0x1000420de
sub edx, 1
je 0x1000420dc
cmp edx, 1
jne 0x1000421f5
mov ebx, edx
jmp 0x10004216d
inc ebx
inc ebx
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x38], 0x10
mov qword [rsp + 0x40], rbp
lea rdx, [rsp + 0x30]
mov rcx, qword [0x10009e150]
mov rcx, qword [rcx + 0x20]
call fcn.100056920
mov edx, ebx
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rdi + rdx*8]
mov rcx, qword [0x10009e150]
mov rcx, qword [rcx + 0x20]
call fcn.1000181fc
mov rcx, qword [0x10009e150]
call fcn.100026854
mov r11d, dword [rsp + 0x30]
cmp r11d, ebp
jbe 0x100042156
mov rbx, rdi
mov rsi, r11
mov rcx, qword [rbx]
call sub.msvcrt.dll_free
mov qword [rbx], rbp
add rbx, 8
sub rsi, 1
jne 0x100042141
cmp rdi, rbp
je 0x1000421f5
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_free]
jmp 0x1000421f5
inc ebx
inc ebx
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x38], 0x10
mov qword [rsp + 0x40], rbp
lea rdx, [rsp + 0x30]
mov rcx, qword [0x10009e150]
mov rcx, qword [rcx + 0x20]
call fcn.1000569d0
mov edx, ebx
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rdi + rdx*8]
mov rcx, qword [0x10009e150]
mov rcx, qword [rcx + 0x20]
call fcn.10001d8a0
mov rcx, qword [0x10009e150]
call fcn.100026854
mov r11d, dword [rsp + 0x30]
cmp r11d, ebp
jbe 0x1000421e7
mov rbx, rdi
mov rsi, r11
mov rcx, qword [rbx]
call sub.msvcrt.dll_free
mov qword [rbx], rbp
add rbx, 8
sub rsi, 1
jne 0x1000421d2
cmp rdi, rbp
je 0x1000421f5
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_free]
mov rcx, qword [rsp + 0x10d0]
xor rcx, rsp
call fcn.1000024e0
lea r11, [rsp + 0x10e0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret