Function at 0x401451
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
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebx, ebx
cmp eax, 7
push edi
mov edi, dword [sym.imp.USER32.dll_EnableMenuItem]
jne 0x401576
push dword [0x42bf9c]
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [0x42c5dc], ebx
je 0x401502
cmp byte [0x42bfb8], bl
je 0x401502
cmp dword [0x42c5f4], ebx
jne 0x4014a5
cmp dword [0x42c5f8], ebx
je 0x401502
push 0x42bfb8
call fcn.0040abcb
test eax, eax
pop ecx
jne 0x401515
push 0x400
push 0x428e80
push 7
push dword [0x429b9c]
mov dword [0x42c5f4], ebx
mov dword [0x42c5f8], ebx
call fcn.0040b4e0
push 0x42bfb8
push 0x428e80
push 0x4269e0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
push 0x30
push 0x41d4d8
push 0x4269e0
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [0x42d824], ebx
jne 0x401931
xor eax, eax
jmp 0x401e57
lea eax, [ebp + 0x5c]
push eax
push 0x42bfb8
call fcn.004129ec
test eax, eax
pop ecx
pop ecx
je 0x401568
lea eax, [ebp + 0x5c]
push eax
push 0x42c5f4
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
je 0x401502
push 8
lea eax, [ebp + 0x5c]
push eax
push 0x42c5f4
call fcn.0041c000
add esp, 0xc
push ebx
push 0x1137
push 0x111
push dword [0x42bc70]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x401502
mov dword [0x42c5f4], ebx
mov dword [0x42c5f8], ebx
jmp 0x401502
cmp eax, 0x7b
jne 0x40169c
mov ecx, dword [ebp + 0x78]
cmp ecx, dword [0x42bf9c]
jne 0x401502
mov eax, dword [ebp + 0x7c]
cmp eax, 0xffffffff
jne 0x4015ac
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 0x4015b5
movzx ecx, ax
mov dword [ebp + 0x5c], ecx
shr eax, 0x10
push ebx
push ebx
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 edi
push ebx
push ebx
push 0x455
push dword [0x42bf9c]
call esi
neg eax
sbb eax, eax
inc eax
push eax
push 0x1038
push dword [0x429280]
call edi
mov ecx, dword [0x42c5b8]
xor eax, eax
cmp ecx, dword [0x42c5bc]
sete al
push eax
push 0x1039
push dword [0x429280]
call edi
mov ecx, dword [0x42c5b8]
xor eax, eax
cmp ecx, dword [0x42c5bc]
sete al
push eax
push 0x103a
push dword [0x429280]
call edi
push ebx
push ebx
push 0x432
push dword [0x42bf9c]
call esi
neg eax
sbb eax, eax
inc eax
push eax
push 0x103b
push dword [0x429280]
call edi
mov ecx, dword [0x42c5b8]
xor eax, eax
cmp ecx, dword [0x42c5bc]
sete al
push eax
push 0x103c
push dword [0x429280]
call edi
push ebx
push dword [0x42bc70]
push ebx
push dword [ebp + 0x60]
push dword [ebp + 0x5c]
push 2
push dword [0x429280]
call dword [sym.imp.USER32.dll_TrackPopupMenu]
jmp 0x401502
cmp eax, 0x111
jne 0x40178f
cmp word [ebp + 0x78], 0x2711
jne 0x401502
mov eax, dword [ebp + 0x78]
shr eax, 0x10
cmp ax, 0x300
jne 0x4016f2
cmp dword [0x42c5ec], ebx
je 0x4016e3
mov eax, dword [0x42c5b8]
cmp eax, dword [0x42c5bc]
jne 0x4016e3
push ebx
push ebx
push 0x458
push dword [0x42bf9c]
call esi
push ebx
push 1
call fcn.00412a76
pop ecx
pop ecx
jmp 0x401502
cmp ax, 0x501
jne 0x40174e
push 0x400
push 0x428e80
push 2
push dword [0x429b9c]
call fcn.0040b4e0
add esp, 0x10
push 0x10
push 0x41d4d8
push 0x428e80
push dword [0x42bc70]
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [0x42102c]
add eax, dword [0x421030]
push eax
push ebx
push 0x435
push dword [0x42bf9c]
mov dword [0x42102c], eax
call esi
jmp 0x401502
cmp ax, 0x500
jne 0x401502
push 0x400
mov esi, 0x428e80
push esi
push 3
push dword [0x429b9c]
call fcn.0040b4e0
add esp, 0x10
push 0x10
push 0x41d4d8
push esi
push dword [0x42bc70]
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 0x4e
jne 0x401502
cmp dword [ebp + 0x78], 0x2711
jne 0x401502
mov ecx, dword [ebp + 0x7c]
mov eax, dword [ecx + 8]
cmp eax, 0x702
jne 0x4018d2
lea eax, [ebp + 0x50]
push eax
push ebx
push 0x434
push dword [0x42bf9c]
mov dword [ebp + 0x58], ebx
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 0x4017f0
cmp eax, dword [0x42c5bc]
mov dword [0x42c5c0], eax
jne 0x4017f6
mov dword [0x42c5c0], ecx
push dword [0x42c5c0]
mov dword [0x42c5b8], eax
push ebx
push 0x436
push dword [0x42bf9c]
mov dword [0x42c5bc], ecx
call esi
inc eax
push ebx
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 0x40185b
push ecx
push dword [ebp + 0x64]
push 0x41d4d0
push 0x428e80
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x4018bc
cmp dword [0x421034], 1
jne 0x401899
push eax
push ebx
push 0x436
push dword [0x42bf9c]
call esi
push dword [0x42c5b8]
mov dword [ebp + 0x58], eax
push ebx
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 0x40189c
mov edx, dword [ebp + 0x58]
sub eax, dword [0x42c5b8]
add eax, edx
push eax
push ecx
push dword [ebp + 0x64]
push 0x41d4c4
push 0x428e80
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0x428e80
push ebx
push 0x401
push dword [0x421d0c]
jmp 0x401747
cmp eax, 0x70b
jne 0x401502
cmp dword [ecx + 0xc], 0x203
jne 0x401502
lea eax, [ebp + 0x7c]
push eax
push dword [ecx + 0x1c]
push dword [ecx + 0x18]
push dword [0x42bf9c]
call fcn.0040fc7f
add esp, 0x10
test eax, eax
je 0x401929
push 1
xor ebx, ebx
push ebx
push ebx
push dword [ebp + 0x7c]
push 0x41d4bc
push dword [0x42bf9c]
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push dword [ebp + 0x7c]
call fcn.0040fd80
pop ecx
xor eax, eax
inc eax
jmp 0x401e57
cmp dword [ebp + 0x74], 1
jne 0x401a41
push 0x20
push ebx
push dword [0x428e78]
call fcn.0040b8a7
add esp, 0xc
cmp eax, ebx
mov dword [0x42610c], eax
je 0x401e45
push dword [ebp + 0x70]
call fcn.0041796f
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 edi, edi
inc edi
mov dword [eax + 8], edi
mov eax, dword [0x42610c]
mov dword [eax + 0xc], ebx
mov eax, dword [0x42610c]
mov dword [eax + 0x10], ebx
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 ebx
push ebx
push 0x1304
push dword [0x42d840]
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x3c], 0xb
mov dword [ebp + 0x48], 0x41d4b8
mov dword [ebp + 0x54], eax
call esi
lea ecx, [ebp + 0x3c]
push ecx
push eax
push 0x1307
push dword [0x42d840]
call esi
push dword [0x426910]
push ebx
push 0x80
push dword [ebp + 0x70]
call esi
cmp dword [0x42d830], ebx
jne 0x401e45
push edi
push ebx
push dword [0x42d840]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x401e45
cmp dword [ebp + 0x74], 5
jne 0x401a81
cmp dword [ebp + 0x78], 1
je 0x401e45
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 ebx
push ebx
push 1
call fcn.0040b104
add esp, 0x14
jmp 0x401e45
cmp dword [ebp + 0x74], 0x222
jne 0x401e45
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], ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [ebp + 0x7c], ebx
mov dword [0x42bf9c], eax
jne 0x401c2c
lea ecx, [ebp - 0x74]
mov eax, 0x1008
mov dword [ebp + 0x64], ecx
push 1
push eax
push dword [0x4269d4]
call edi
add dword [ebp + 0x64], 4
mov eax, dword [ebp + 0x64]
mov eax, dword [eax]
cmp eax, ebx
jne 0x401be1
mov dword [0x42d838], 1
xor edi, edi
push 0x41d4b8
push edi
push 0x401
push dword [0x421d0c]
call esi
inc edi
cmp edi, 5
jl 0x401c05
mov byte [0x42bfb8], bl
mov dword [0x42c5c8], ebx
jmp 0x401c91
cmp dword [0x42d838], ebx
je 0x401c91
lea ecx, [ebp - 0x74]
mov eax, 0x1008
mov dword [ebp + 0x64], ecx
push ebx
push eax
push dword [0x4269d4]
call edi
add dword [ebp + 0x64], 4
mov eax, dword [ebp + 0x64]
mov eax, dword [eax]
cmp eax, ebx
jne 0x401c3f
xor edi, edi
inc edi
push edi
push edi
mov dword [0x42d838], ebx
call fcn.0040a967
push edi
push ebx
call fcn.0040aa4f
push edi
push ebx
call fcn.00412a76
movzx eax, word [0x429b98]
movzx ecx, word [0x421d70]
shl eax, 0x10
or eax, ecx
push edi
push eax
call fcn.0040aac5
add esp, 0x20
mov eax, dword [ebp + 0x7c]
cmp eax, dword [0x42d830]
je 0x401e45
cmp eax, ebx
mov dword [0x42d830], eax
je 0x401e45
mov eax, dword [ebp + 0x78]
cmp eax, ebx
mov edi, dword [sym.imp.USER32.dll_GetWindowLongA]
je 0x401d33
cmp eax, dword [0x42d834]
je 0x401d33
push 0xffffffffffffffeb
push eax
call edi
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 edi
mov dword [0x42610c], eax
mov ecx, dword [eax + 4]
mov dword [0x42c5d0], ecx
push ebx
push dword [eax + 8]
call fcn.0040a967
mov eax, dword [0x42610c]
push ebx
push dword [eax + 0xc]
call fcn.0040aa4f
mov eax, dword [0x42610c]
push ebx
push dword [eax + 0x10]
call fcn.00412a76
mov eax, dword [0x42610c]
push ebx
push dword [eax + 0x14]
call fcn.0040aac5
mov eax, dword [0x42610c]
push 8
pop edi
push edi
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, edi
push eax
push 0x1071
push dword [0x4269d4]
call dword [sym.imp.USER32.dll_CheckMenuItem]
push 0x104
push 0x42bfb8
push dword [ebp + 0x7c]
call dword [sym.imp.USER32.dll_GetWindowTextA]
cmp dword [0x42d848], ebx
jne 0x401e3f
lea eax, [ebp - 0x90]
push eax
mov dword [ebp - 0x90], edi
mov dword [ebp + 0x64], ebx
push ebx
mov edi, 0x1305
jmp 0x401e1d
mov eax, dword [ebp + 0x7c]
cmp dword [ebp - 0x78], eax
je 0x401e2c
inc dword [ebp + 0x64]
lea eax, [ebp - 0x90]
push eax
push dword [ebp + 0x64]
push edi
push dword [0x42d840]
call esi
test eax, eax
jne 0x401e08
jmp 0x401e45
push ebx
push dword [ebp + 0x64]
push 0x130c
push dword [0x42d840]
call esi
jmp 0x401e45
mov dword [0x42d848], ebx
push dword [ebp + 0x7c]
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_DefMDIChildProcA]
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10