Function at 0x401e61
Capabilities:
Create process on windows
Get graphical window text
Terminate process

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0xf8
mov eax, dword [ebp + 0x74]
push ebx
mov ebx, dword [sym.imp.USER32.dll_EnableMenuItem]
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push edi
xor edi, edi
cmp eax, 7
jne 0x401f87
push dword [0x42bf9c]
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [0x42c5dc], edi
je 0x401f13
cmp word [0x42c0c0], di
je 0x401f13
cmp dword [0x42c5f4], edi
jne 0x401eb6
cmp dword [0x42c5f8], edi
je 0x401f13
push 0x42c0c0
call fcn.0040abf9
test eax, eax
pop ecx
jne 0x401f26
push 0x400
push 0x426110
push 7
push dword [0x429b9c]
mov dword [0x42c5f4], edi
mov dword [0x42c5f8], edi
call fcn.0040b51d
push 0x42c0c0
push 0x426110
push 0x429390
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
push 0x30
push 0x41d510
push 0x429390
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [0x42d824], edi
jne 0x402342
xor eax, eax
jmp 0x402869
lea eax, [ebp + 0x5c]
push eax
push 0x42c0c0
call fcn.00412a31
test eax, eax
pop ecx
pop ecx
je 0x401f79
lea eax, [ebp + 0x5c]
push eax
push 0x42c5f4
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
je 0x401f13
push 8
lea eax, [ebp + 0x5c]
push eax
push 0x42c5f4
call fcn.0041c000
add esp, 0xc
push edi
push 0x1137
push 0x111
push dword [0x42bc70]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x401f13
mov dword [0x42c5f4], edi
mov dword [0x42c5f8], edi
jmp 0x401f13
cmp eax, 0x7b
jne 0x4020ad
mov ecx, dword [ebp + 0x78]
cmp ecx, dword [0x42bf9c]
jne 0x401f13
mov eax, dword [ebp + 0x7c]
cmp eax, 0xffffffff
jne 0x401fbd
lea eax, [ebp + 0x48]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x4c]
jmp 0x401fc6
movzx ecx, ax
mov dword [ebp + 0x5c], ecx
shr eax, 0x10
push edi
push edi
push 0xc6
push dword [0x42bf9c]
mov dword [ebp + 0x60], eax
call esi
neg eax
sbb eax, eax
inc eax
push eax
push 0x1037
push dword [0x429280]
call ebx
push edi
push edi
push 0x455
push dword [0x42bf9c]
call esi
neg eax
sbb eax, eax
inc eax
push eax
push 0x1038
push dword [0x429280]
call ebx
mov ecx, dword [0x42c5b8]
xor eax, eax
cmp ecx, dword [0x42c5bc]
sete al
push eax
push 0x1039
push dword [0x429280]
call ebx
mov ecx, dword [0x42c5b8]
xor eax, eax
cmp ecx, dword [0x42c5bc]
sete al
push eax
push 0x103a
push dword [0x429280]
call ebx
push edi
push edi
push 0x432
push dword [0x42bf9c]
call esi
neg eax
sbb eax, eax
inc eax
push eax
push 0x103b
push dword [0x429280]
call ebx
mov ecx, dword [0x42c5b8]
xor eax, eax
cmp ecx, dword [0x42c5bc]
sete al
push eax
push 0x103c
push dword [0x429280]
call ebx
push edi
push dword [0x42bc70]
push edi
push dword [ebp + 0x60]
push dword [ebp + 0x5c]
push 2
push dword [0x429280]
call dword [sym.imp.USER32.dll_TrackPopupMenu]
jmp 0x401f13
cmp eax, 0x111
jne 0x4021a0
cmp word [ebp + 0x78], 0x2711
jne 0x401f13
mov eax, dword [ebp + 0x78]
shr eax, 0x10
cmp ax, 0x300
jne 0x402103
cmp dword [0x42c5ec], edi
je 0x4020f4
mov eax, dword [0x42c5b8]
cmp eax, dword [0x42c5bc]
jne 0x4020f4
push edi
push edi
push 0x458
push dword [0x42bf9c]
call esi
push edi
push 1
call fcn.00412ace
pop ecx
pop ecx
jmp 0x401f13
cmp ax, 0x501
jne 0x40215f
push 0x400
push 0x426110
push 2
push dword [0x429b9c]
call fcn.0040b51d
add esp, 0x10
push 0x10
push 0x41d510
push 0x426110
push dword [0x42bc70]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x42102c]
add eax, dword [0x421030]
push eax
push edi
push 0x435
push dword [0x42bf9c]
mov dword [0x42102c], eax
call esi
jmp 0x401f13
cmp ax, 0x500
jne 0x401f13
push 0x400
mov esi, 0x426110
push esi
push 3
push dword [0x429b9c]
call fcn.0040b51d
add esp, 0x10
push 0x10
push 0x41d510
push esi
push dword [0x42bc70]
call dword [sym.imp.USER32.dll_MessageBoxW]
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 0x4e
jne 0x401f13
cmp dword [ebp + 0x78], 0x2711
jne 0x401f13
mov ecx, dword [ebp + 0x7c]
mov eax, dword [ecx + 8]
cmp eax, 0x702
jne 0x4022e3
lea eax, [ebp + 0x50]
push eax
push edi
push 0x434
push dword [0x42bf9c]
mov dword [ebp + 0x58], edi
call esi
mov eax, dword [0x42c5c0]
mov ecx, dword [ebp + 0x54]
mov dword [0x42c5c4], eax
mov eax, dword [ebp + 0x50]
cmp eax, dword [0x42c5b8]
je 0x402201
cmp eax, dword [0x42c5bc]
mov dword [0x42c5c0], eax
jne 0x402207
mov dword [0x42c5c0], ecx
push dword [0x42c5c0]
mov dword [0x42c5b8], eax
push edi
push 0x436
push dword [0x42bf9c]
mov dword [0x42c5bc], ecx
call esi
inc eax
push edi
mov dword [ebp + 0x64], eax
dec eax
push eax
push 0xbb
push dword [0x42bf9c]
call esi
mov ecx, dword [0x42c5c0]
sub ecx, eax
mov eax, dword [0x42c5bc]
inc ecx
cmp dword [0x42c5b8], eax
mov dword [ebp + 0x60], ecx
jne 0x40226c
push ecx
push dword [ebp + 0x64]
push str._u:_u
push 0x426110
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x4022cd
cmp dword [0x421034], 1
jne 0x4022aa
push eax
push edi
push 0x436
push dword [0x42bf9c]
call esi
push dword [0x42c5b8]
mov dword [ebp + 0x58], eax
push edi
push 0x436
push dword [0x42bf9c]
call esi
mov edx, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
sub edx, eax
mov eax, dword [0x42c5bc]
jmp 0x4022ad
mov edx, dword [ebp + 0x58]
sub eax, dword [0x42c5b8]
add eax, edx
push eax
push ecx
push dword [ebp + 0x64]
push str._u:_u___u
push 0x426110
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push 0x426110
push edi
push 0x40b
push dword [0x421d0c]
jmp 0x402158
cmp eax, 0x70b
jne 0x401f13
cmp dword [ecx + 0xc], 0x203
jne 0x401f13
lea eax, [ebp + 0x7c]
push eax
push dword [ecx + 0x1c]
push dword [ecx + 0x18]
push dword [0x42bf9c]
call fcn.0040fd0c
add esp, 0x10
test eax, eax
je 0x40233a
push 1
xor edi, edi
push edi
push edi
push dword [ebp + 0x7c]
push str.open
push dword [0x42bf9c]
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push dword [ebp + 0x7c]
call fcn.0040fd80
pop ecx
xor eax, eax
inc eax
jmp 0x402869
cmp dword [ebp + 0x74], 1
jne 0x402452
push 0x20
push edi
push dword [0x428e78]
call fcn.0040b8a7
add esp, 0xc
cmp eax, edi
mov dword [0x42610c], eax
je 0x402857
push dword [ebp + 0x70]
call fcn.00417b2d
mov eax, dword [0x42610c]
pop ecx
mov ecx, dword [0x426910]
mov dword [eax], ecx
mov eax, dword [0x42610c]
mov ecx, dword [0x42c5d0]
mov dword [eax + 4], ecx
mov eax, dword [0x42610c]
xor ebx, ebx
inc ebx
mov dword [eax + 8], ebx
mov eax, dword [0x42610c]
mov dword [eax + 0xc], edi
mov eax, dword [0x42610c]
mov dword [eax + 0x10], edi
movzx eax, word [0x429b98]
movzx ecx, word [0x421d70]
shl eax, 0x10
or eax, ecx
mov ecx, dword [0x42610c]
mov dword [ecx + 0x14], eax
push dword [0x42610c]
push 0xffffffffffffffeb
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SetWindowLongA]
push dword [0x426910]
push 0xffffffffffffffff
push dword [0x425fac]
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
push edi
push edi
push 0x1304
push dword [0x42d840]
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x3c], 0xb
mov dword [ebp + 0x48], 0x41d4e0
mov dword [ebp + 0x54], eax
call esi
lea ecx, [ebp + 0x3c]
push ecx
push eax
push 0x133e
push dword [0x42d840]
call esi
push dword [0x426910]
push edi
push 0x80
push dword [ebp + 0x70]
call esi
cmp dword [0x42d830], edi
jne 0x402857
push ebx
push edi
push dword [0x42d840]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x402857
cmp dword [ebp + 0x74], 5
jne 0x402492
cmp dword [ebp + 0x78], 1
je 0x402857
push 0x2711
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [0x42bf9c], eax
mov eax, dword [ebp + 0x7c]
shr eax, 0x10
push eax
movzx eax, word [ebp + 0x7c]
push eax
push edi
push edi
push 1
call fcn.0040b104
add esp, 0x14
jmp 0x402857
cmp dword [ebp + 0x74], 0x222
jne 0x402857
push 0x2711
push dword [ebp + 0x7c]
mov dword [ebp - 0x74], 0x1008
mov dword [ebp - 0x70], 0x1009
mov dword [ebp - 0x6c], 0x100a
mov dword [ebp - 0x68], 0x100b
mov dword [ebp - 0x64], 0x100c
mov dword [ebp - 0x60], 0x1037
mov dword [ebp - 0x5c], 0x1038
mov dword [ebp - 0x58], 0x1039
mov dword [ebp - 0x54], 0x103a
mov dword [ebp - 0x50], 0x103b
mov dword [ebp - 0x4c], 0x103c
mov dword [ebp - 0x48], 0x103d
mov dword [ebp - 0x44], 0x103e
mov dword [ebp - 0x40], 0x103f
mov dword [ebp - 0x3c], 0x1040
mov dword [ebp - 0x38], 0x1041
mov dword [ebp - 0x34], 0x1042
mov dword [ebp - 0x30], 0x1045
mov dword [ebp - 0x2c], 0x1047
mov dword [ebp - 0x28], 0x1049
mov dword [ebp - 0x24], 0x104b
mov dword [ebp - 0x20], 0x104d
mov dword [ebp - 0x1c], 0x104e
mov dword [ebp - 0x18], 0x104f
mov dword [ebp - 0x14], 0x1050
mov dword [ebp - 0x10], 0x1051
mov dword [ebp - 0xc], 0x1052
mov dword [ebp - 8], 0x1053
mov dword [ebp - 4], 0x1054
mov dword [ebp], 0x1055
mov dword [ebp + 4], 0x1056
mov dword [ebp + 8], 0x1069
mov dword [ebp + 0xc], 0x106a
mov dword [ebp + 0x10], 0x106b
mov dword [ebp + 0x14], 0x106c
mov dword [ebp + 0x18], 0x106d
mov dword [ebp + 0x1c], 0x106e
mov dword [ebp + 0x20], 0x106f
mov dword [ebp + 0x24], 0x1070
mov dword [ebp + 0x28], 0x1071
mov dword [ebp + 0x2c], 0x10d3
mov dword [ebp + 0x30], 0x10d4
mov dword [ebp + 0x34], 0x10d5
mov dword [ebp + 0x38], edi
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [ebp + 0x7c], edi
mov dword [0x42bf9c], eax
jne 0x40263e
lea ecx, [ebp - 0x74]
mov eax, 0x1008
mov dword [ebp + 0x64], ecx
push 1
push eax
push dword [0x4269d4]
call ebx
add dword [ebp + 0x64], 4
mov eax, dword [ebp + 0x64]
mov eax, dword [eax]
cmp eax, edi
jne 0x4025f2
mov dword [0x42d838], 1
xor ebx, ebx
push 0x41d4e0
push ebx
push 0x40b
push dword [0x421d0c]
call esi
inc ebx
cmp ebx, 5
jl 0x402616
mov word [0x42c0c0], di
mov dword [0x42c5c8], edi
jmp 0x4026a3
cmp dword [0x42d838], edi
je 0x4026a3
lea ecx, [ebp - 0x74]
mov eax, 0x1008
mov dword [ebp + 0x64], ecx
push edi
push eax
push dword [0x4269d4]
call ebx
add dword [ebp + 0x64], 4
mov eax, dword [ebp + 0x64]
mov eax, dword [eax]
cmp eax, edi
jne 0x402651
xor ebx, ebx
inc ebx
push ebx
push ebx
mov dword [0x42d838], edi
call fcn.0040a9db
push ebx
push edi
call fcn.0040aa8a
push ebx
push edi
call fcn.00412ace
movzx eax, word [0x429b98]
movzx ecx, word [0x421d70]
shl eax, 0x10
or eax, ecx
push ebx
push eax
call fcn.0040ab24
add esp, 0x20
mov eax, dword [ebp + 0x7c]
cmp eax, dword [0x42d830]
je 0x402857
cmp eax, edi
mov dword [0x42d830], eax
je 0x402857
mov eax, dword [ebp + 0x78]
cmp eax, edi
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongA]
je 0x402745
cmp eax, dword [0x42d834]
je 0x402745
push 0xffffffffffffffeb
push eax
call ebx
mov ecx, dword [0x42c5d0]
mov dword [0x42610c], eax
mov dword [eax + 4], ecx
mov eax, dword [0x42610c]
mov ecx, dword [0x421034]
mov dword [eax + 8], ecx
mov eax, dword [0x42610c]
mov ecx, dword [0x42c5cc]
mov dword [eax + 0xc], ecx
mov eax, dword [0x42610c]
mov ecx, dword [0x42c5c8]
mov dword [eax + 0x10], ecx
movzx eax, word [0x426914]
movzx ecx, word [0x421d68]
shl eax, 0x10
or eax, ecx
mov ecx, dword [0x42610c]
mov dword [ecx + 0x14], eax
mov eax, dword [0x42610c]
push 8
add eax, 0x18
push 0x42c5f4
push eax
call fcn.0041c000
add esp, 0xc
push 0xffffffffffffffeb
push dword [ebp + 0x7c]
call ebx
mov dword [0x42610c], eax
mov ecx, dword [eax + 4]
mov dword [0x42c5d0], ecx
push edi
push dword [eax + 8]
call fcn.0040a9db
mov eax, dword [0x42610c]
push edi
push dword [eax + 0xc]
call fcn.0040aa8a
mov eax, dword [0x42610c]
push edi
push dword [eax + 0x10]
call fcn.00412ace
mov eax, dword [0x42610c]
push edi
push dword [eax + 0x14]
call fcn.0040ab24
mov eax, dword [0x42610c]
push 8
pop ebx
push ebx
add eax, 0x18
push eax
push 0x42c5f4
call fcn.0041c000
mov eax, dword [0x42bf9c]
add esp, 0x2c
lea ecx, [ebp + 0x4c]
push ecx
mov dword [ebp + 0x4c], eax
mov eax, 0x2711
push eax
push 0x4e
push dword [ebp + 0x7c]
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], 0x702
call esi
mov eax, dword [0x42c5d0]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x1071
push dword [0x4269d4]
call dword [sym.imp.USER32.dll_CheckMenuItem]
push 0x104
push 0x42c0c0
push dword [ebp + 0x7c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp dword [0x42d848], edi
jne 0x402851
lea eax, [ebp - 0x90]
push eax
mov dword [ebp - 0x90], ebx
mov dword [ebp + 0x64], edi
push edi
mov ebx, 0x133c
jmp 0x40282f
mov eax, dword [ebp + 0x7c]
cmp dword [ebp - 0x78], eax
je 0x40283e
inc dword [ebp + 0x64]
lea eax, [ebp - 0x90]
push eax
push dword [ebp + 0x64]
push ebx
push dword [0x42d840]
call esi
test eax, eax
jne 0x40281a
jmp 0x402857
push edi
push dword [ebp + 0x64]
push 0x130c
push dword [0x42d840]
call esi
jmp 0x402857
mov dword [0x42d848], edi
push dword [ebp + 0x7c]
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_DefMDIChildProcW]
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10