Function at 0x416fc0
Capabilities:
Create process on windows

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x42eda8
push eax
mov dword fs:[0], esp
sub esp, 0x70
push ebx
mov ebx, dword [esp + 0x84]
push esi
mov esi, ecx
mov ecx, dword [ebx]
cmp ecx, dword [esi + 0x75f8]
jle 0x417477
cmp ecx, dword [esi + 0x7600]
jge 0x417477
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x75fc]
cmp eax, edx
jle 0x417477
cmp eax, dword [esi + 0x7604]
jge 0x417477
cmp ecx, dword [esi + 0x7688]
jle 0x417061
cmp ecx, dword [esi + 0x7690]
jge 0x417061
cmp eax, dword [esi + 0x768c]
jle 0x417061
cmp eax, dword [esi + 0x7694]
jge 0x417061
test byte [esi + 0x71b8], 1
je 0x417477
mov ecx, esi
call fcn.00419ed0
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret 4
cmp ecx, dword [esi + 0x76ac]
jle 0x4170a8
cmp ecx, dword [esi + 0x76b4]
jge 0x4170a8
cmp eax, dword [esi + 0x76b0]
jle 0x4170a8
cmp eax, dword [esi + 0x76b8]
jge 0x4170a8
test byte [esi + 0x71b8], 2
je 0x417477
mov ecx, esi
call fcn.004176b0
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret 4
cmp ecx, dword [esi + 0x76d0]
jle 0x417136
cmp ecx, dword [esi + 0x76d8]
jge 0x417136
cmp eax, dword [esi + 0x76d4]
jle 0x417136
cmp eax, dword [esi + 0x76dc]
jge 0x417136
test byte [esi + 0x71b8], 4
je 0x417477
call dword [sym.imp.jvsdk.dll_JVS_IsCopyright]
test eax, eax
jne 0x417115
push eax
lea ecx, [esp + 0x14]
call fcn.0040a320
lea ecx, [esp + 0x10]
mov dword [esp + 0x80], 0
call sub.mfc42.dll_CDialog::DoModal
lea ecx, [esp + 0x10]
mov dword [esp + 0x80], 0xffffffff
call sub.mfc42.dll_CDialog::CDialog
mov eax, dword [esi + 0x328]
mov ecx, esi
push eax
call fcn.00419e50
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret 4
cmp ecx, dword [esi + 0x76f4]
jle 0x41717d
cmp ecx, dword [esi + 0x76fc]
jge 0x41717d
cmp eax, dword [esi + 0x76f8]
jle 0x41717d
cmp eax, dword [esi + 0x7700]
jge 0x41717d
test byte [esi + 0x71b8], 8
je 0x417477
mov ecx, esi
call fcn.0041bf70
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret 4
cmp ecx, dword [esi + 0x7718]
jle 0x41733a
cmp ecx, dword [esi + 0x7720]
jge 0x41733a
cmp eax, dword [esi + 0x771c]
jle 0x41733a
cmp eax, dword [esi + 0x7724]
jge 0x41733a
test byte [esi + 0x71b8], 0x10
je 0x417477
mov dword [esp + 8], 0x404b9c
mov dword [esp + 0xc], 0
push 0xb8
push 4
push 0xb8
mov dword [esp + 0x8c], 1
call sub.mfc42.dll_AfxFindResourceHandle
push eax
call dword [sym.imp.user32.dll_LoadMenuA]
push eax
lea ecx, [esp + 0xc]
call sub.mfc42.dll_CMenu::Attach
mov eax, dword [esi + 0x32c]
test eax, eax
je 0x417226
mov eax, dword [esi + 0x338]
push 8
test eax, eax
je 0x417217
push 0x802d
jmp 0x4172da
mov edx, dword [esp + 0x10]
push 0x801d
push edx
jmp 0x4172df
mov eax, dword [esi + 0x324]
dec eax
cmp eax, 0x20
ja case.0x41723e.13
xor ecx, ecx
mov cl, byte [eax + 0x4174c0]
jmp dword [ecx*4 + 0x41748c]
mov edx, dword [esp + 0xc]
push 8
push 0x8012
push edx
jmp 0x4172df
mov eax, dword [esp + 0xc]
push 8
push 0x8013
push eax
jmp 0x4172df
push 8
push 0x8014
jmp 0x4172da
mov edx, dword [esp + 0xc]
push 8
push 0x8016
push edx
jmp 0x4172df
mov eax, dword [esp + 0xc]
push 8
push 0x8017
push eax
jmp 0x4172df
push 8
push 0x8018
jmp 0x4172da
mov edx, dword [esp + 0xc]
push 8
push 0x801b
push edx
jmp 0x4172df
mov eax, dword [esp + 0xc]
push 8
push 0x801c
push eax
jmp 0x4172df
push 8
push 0x8022
jmp 0x4172da
mov edx, dword [esp + 0xc]
push 8
push 0x8023
push edx
jmp 0x4172df
mov eax, dword [esp + 0xc]
push 8
push 0x8029
push eax
jmp 0x4172df
push 8
push 0x8028
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.user32.dll_CheckMenuItem]
mov edx, dword [esp + 0xc]
push 0
push edx
call dword [sym.imp.user32.dll_GetSubMenu]
push eax
call sub.mfc42.dll_CMenu::FromHandle
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
push 0
push esi
push ecx
push edx
push 0
mov ecx, eax
call sub.mfc42.dll_CMenu::TrackPopupMenu
mov dword [esp + 8], 0x404b9c
lea ecx, [esp + 8]
mov dword [esp + 0x80], 2
call sub.mfc42.dll_CMenu::DestroyMenu
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret 4
cmp ecx, dword [esi + 0x773c]
jle 0x417409
cmp ecx, dword [esi + 0x7744]
jge 0x417409
cmp eax, dword [esi + 0x7740]
jle 0x417409
cmp eax, dword [esi + 0x7748]
jge 0x417409
test byte [esi + 0x71b8], 0x20
je 0x417477
mov dword [esp + 8], 0x404b9c
mov dword [esp + 0xc], 0
push 0xa2
push 4
push 0xa2
mov dword [esp + 0x8c], 3
call sub.mfc42.dll_AfxFindResourceHandle
push eax
call dword [sym.imp.user32.dll_LoadMenuA]
push eax
lea ecx, [esp + 0xc]
call sub.mfc42.dll_CMenu::Attach
mov eax, dword [esp + 0xc]
push 0
push eax
call dword [sym.imp.user32.dll_GetSubMenu]
push eax
call sub.mfc42.dll_CMenu::FromHandle
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
push 0
push esi
push ecx
push edx
push 0
mov ecx, eax
call sub.mfc42.dll_CMenu::TrackPopupMenu
mov dword [esp + 8], 0x404b9c
lea ecx, [esp + 8]
mov dword [esp + 0x80], 4
call sub.mfc42.dll_CMenu::DestroyMenu
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret 4
cmp ecx, dword [esi + 0x7760]
jle 0x417443
cmp ecx, dword [esi + 0x7768]
jge 0x417443
cmp eax, dword [esi + 0x7764]
jle 0x417443
cmp eax, dword [esi + 0x776c]
jge 0x417443
mov ecx, esi
jmp 0x433eec
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret 4
cmp ecx, dword [esi + 0x7784]
jle 0x417477
cmp ecx, dword [esi + 0x778c]
jge 0x417477
cmp eax, dword [esi + 0x7788]
jle 0x417477
cmp eax, dword [esi + 0x7790]
jge 0x417477
mov eax, dword [esi + 0x71b8]
test ah, 2
je 0x417477
push 0
mov ecx, esi
call fcn.004177b0
mov ecx, dword [esp + 0x78]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x7c
ret 4
call fcn.00417520
nop
nop
nop
pushal
push 0
push 0
push 0
push 0x403d68
push 0x403d54
push 0
call dword [sym.imp.shell32.dll_ShellExecuteA]
popal
jmp 0x417430