Function at 0x405f96
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
push edi
push 7
pop ecx
cmp dword [ebp + 0xc], ecx
jne 0x405fe9
xor ebx, ebx
cmp dword [0x4527e4], ebx
jne 0x405fe0
mov eax, dword [0x452088]
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x405fc4
push eax
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [0x452d14], ebx
jne 0x405fe0
cmp dword [0x4529bc], ebx
jne 0x405fe0
push dword [0x452088]
call fcn.00414a4f
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x14
cmp dword [ebp + 0xc], 0x7b
jne 0x4061da
mov esi, dword [ebp + 0x10]
mov eax, dword [0x452088]
cmp esi, dword [eax + 0xc]
je 0x406018
push 0xfffffffffffffff4
push esi
call fcn.0040383b
cmp eax, 0x2711
pop ecx
pop ecx
jne 0x406018
push esi
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [0x452088]
cmp esi, dword [eax + 0xc]
jne 0x405fe0
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebx, ebx
cmp dword [ebp + 0x14], 0xffffffff
jne 0x40606b
push ebx
lea ecx, [ebp - 8]
push ecx
push 0xc76
push dword [eax + 0xc]
call edi
test eax, eax
je 0x40606b
mov eax, dword [0x452088]
push ebx
push ebx
push 0xc74
push dword [eax + 0xc]
call edi
add dword [ebp - 4], eax
lea eax, [ebp - 8]
push eax
mov eax, dword [0x452088]
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_ClientToScreen]
jmp 0x406075
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [0x452088]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 4]
xor eax, eax
inc eax
mov dword [ebp - 0x14], ecx
xor ecx, ecx
cmp dword [ebp + 0x14], 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x20]
push eax
setne cl
push ebx
push 0x43a
push dword [0x4527bc]
mov dword [ebp - 0x10], ecx
call edi
cmp dword [ebp - 0xc], ebx
je 0x405fe0
mov eax, dword [0x452088]
cmp dword [eax + 0x30], ebx
je 0x4060f4
mov esi, dword [0x4538b4]
push 0x452998
push 0x45298c
call fcn.0042cb8c
pop ecx
neg eax
pop ecx
sbb eax, eax
inc eax
push eax
push 0x103a
push esi
call dword [sym.imp.USER32.dll_EnableMenuItem]
jmp 0x4061be
mov esi, dword [0x4714c0]
push ebx
push ebx
push 0xc03
push dword [eax + 0xc]
mov dword [ebp + 0xc], esi
call edi
neg eax
sbb eax, eax
inc eax
push eax
push 0x1037
push esi
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
call esi
mov eax, dword [0x452088]
push ebx
push ebx
push 0xc04
push dword [eax + 0xc]
call edi
neg eax
sbb eax, eax
inc eax
push eax
push 0x1038
push dword [ebp + 0xc]
call esi
mov eax, dword [0x452088]
push ebx
push ebx
push 0xbdb
push dword [eax + 0xc]
call edi
neg eax
sbb eax, eax
inc eax
push eax
push 0x103b
push dword [ebp + 0xc]
call esi
push 0x452998
mov edi, 0x45298c
push edi
call fcn.0042cb8c
pop ecx
neg eax
pop ecx
sbb eax, eax
inc eax
push eax
push 0x1039
push dword [ebp + 0xc]
call esi
push 0x452998
push edi
call fcn.0042cb8c
pop ecx
neg eax
pop ecx
sbb eax, eax
inc eax
push eax
push 0x103c
push dword [ebp + 0xc]
call esi
push 0x452998
push edi
call fcn.0042cb8c
pop ecx
neg eax
pop ecx
sbb eax, eax
inc eax
push eax
push 0x103a
push dword [ebp + 0xc]
call esi
mov esi, dword [ebp + 0xc]
push ebx
push dword [0x4527bc]
push ebx
push dword [ebp - 4]
push dword [ebp - 8]
push 2
push esi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
jmp 0x405fe0
cmp dword [ebp + 0xc], 0x4e
jne 0x405fe0
cmp dword [ebp + 0x10], 0x2711
jne 0x405fe0
mov esi, dword [ebp + 0x14]
mov eax, dword [esi + 8]
cmp eax, 0x7e9
jne 0x40626c
push 6
pop edi
push 0x400
mov esi, 0x46bec0
push esi
xor ebx, ebx
push 4
push dword [0x471ce8]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], 0x9a
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x9b
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
call fcn.00412331
lea eax, [ebp - 0x2c]
push eax
push ebx
push 0x10
push 0x44d7ec
push esi
push dword [0x4527bc]
call fcn.00421104
add esp, 0x28
cmp eax, edi
jne 0x405fe0
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 0x835
jne 0x4062b2
cmp dword [esi + 0x10], 3
jne 0x405fe0
cmp dword [0x452cdc], 2
jne 0x405fe0
mov eax, dword [0x452088]
mov ecx, dword [eax + 0x10]
cmp ecx, dword [esi + 0xc]
je 0x405fe0
xor ebx, ebx
push ebx
push ebx
push 0xd31
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x405fe0
cmp eax, 0x81f
jne 0x4062db
push dword [esi]
call fcn.0040d80e
pop ecx
mov ecx, dword [0x452088]
cmp ecx, eax
jne 0x405fe0
and dword [ecx + 0xbe8], 0
jmp 0x405fe0
cmp eax, 0x824
jne 0x406304
mov eax, dword [0x452088]
add eax, 0xbc4
push eax
call fcn.0040f5cb
mov eax, dword [0x452088]
and dword [eax + 0xbcc], 0
pop ecx
jmp 0x405fe0
cmp eax, 0x81d
jne 0x406353
xor ebx, ebx
cmp dword [0x4527e0], ebx
jne 0x405fe0
mov eax, dword [0x452088]
mov ecx, dword [eax + 0x10]
cmp ecx, dword [esi + 0xc]
jne 0x40639d
cmp dword [eax + 0xbe8], ebx
je 0x40639d
add eax, 0xbd0
push 0x18
push eax
lea eax, [esi + 0x10]
push eax
call fcn.0042e3d9
add esp, 0xc
test eax, eax
je 0x40639d
mov eax, dword [0x452088]
mov dword [eax + 0xbe8], ebx
jmp 0x40639d
cmp eax, 0x81e
jne 0x4063a8
cmp dword [0x4527e0], 0
jne 0x405fe0
lea edi, [esi + 0x2c]
push edi
lea eax, [esi + 0x10]
push eax
push dword [esi]
push dword [esi + 0xc]
call fcn.00427442
mov eax, dword [esi + 0x38]
add esp, 0x10
test al, 0x10
jne 0x40639d
test eax, 0x8000000
jne 0x40639d
test byte [0x47056c], 2
je 0x40639d
push edi
push dword [esi]
call fcn.0041a6f7
pop ecx
pop ecx
push esi
call fcn.004105ab
jmp 0x405fdf
cmp eax, 0x81c
jne 0x4065c7
cmp dword [0x452cdc], 2
jne 0x4063c6
push dword [esi + 0xc]
call fcn.00412af1
jmp 0x4063cd
push dword [esi]
call fcn.0040d80e
xor ebx, ebx
cmp dword [0x452cdc], ebx
pop ecx
mov dword [ebp + 0xc], eax
mov edi, 0x400
jne 0x40645b
test byte [0x46ebc4], 2
je 0x4065b6
push edi
call fcn.004125b5
cmp dword [esi + 0x10], ebx
pop ecx
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x10], 0x44d7e4
jne 0x40640a
mov dword [ebp + 0x10], 0x44d7e0
mov eax, dword [ebp + 0xc]
push 0x44d7ec
push dword [eax + 0x368]
add eax, 0x160
push eax
call fcn.00411459
pop ecx
pop ecx
push eax
push dword [ebp + 0x10]
push str._s_s____s
push dword [ebp + 0x14]
call fcn.00401644
push dword [ebp + 0x14]
push dword [0x4527bc]
call fcn.0040575f
push dword [ebp + 0x14]
call fcn.004125cd
add esp, 0x20
cmp dword [0x452cdc], ebx
je 0x4065b6
test byte [0x46ebc4], 8
je 0x4064f2
push dword [ebp + 0xc]
push dword [0x452ce8]
call fcn.00411ec6
cmp eax, 0xffffffff
pop ecx
pop ecx
mov dword [ebp + 0x10], eax
je 0x4064f2
push edi
call fcn.004125b5
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x10]
mov dword [ebp - 0x24], 1
push dword [0x452ce8]
mov dword [ebp - 0x14], 0x104
call fcn.00403e5f
add esp, 0x10
cmp dword [esi + 0x10], ebx
je 0x4064c9
push dword [ebp + 0x14]
push str._s_
push dword [ebp + 0x14]
call fcn.00401644
add esp, 0xc
jmp 0x4064d5
push 0xffffffffffffffff
push dword [ebp + 0x14]
call fcn.00411584
pop ecx
pop ecx
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x10]
push dword [0x452ce8]
call fcn.00405eaa
push dword [ebp + 0x14]
call fcn.004125cd
add esp, 0x10
test byte [0x46ebc4], 4
je 0x406594
push edi
call fcn.004125b5
mov dword [ebp + 0x14], eax
mov eax, dword [0x452cdc]
cmp eax, 1
pop ecx
jne 0x40654a
cmp dword [esi + 0x10], ebx
mov eax, 0x44d7b8
jne 0x406522
mov eax, 0x44d7e0
mov edi, dword [ebp + 0xc]
push eax
lea eax, [edi + 0x160]
push eax
push 0x44d7ac
push dword [ebp + 0x14]
call fcn.00401644
push dword [ebp + 0x14]
push dword [edi + 8]
call fcn.0040575f
add esp, 0x18
jmp 0x40658b
cmp eax, 2
jne 0x40658b
cmp dword [esi + 0x10], ebx
mov eax, 0x44d7b8
jne 0x40655e
mov eax, 0x44d7e0
push eax
mov eax, dword [ebp + 0xc]
add eax, 0x160
push eax
push 0x44d7ec
push str._s_____s_s_
push dword [ebp + 0x14]
call fcn.00401644
push dword [ebp + 0x14]
push dword [0x4527bc]
call fcn.0040575f
add esp, 0x1c
push dword [ebp + 0x14]
call fcn.004125cd
pop ecx
cmp dword [esi + 0x10], ebx
je 0x4065a1
inc dword [0x452cf4]
jmp 0x4065a7
dec dword [0x452cf4]
push 0x30000
push dword [ebp + 0xc]
call fcn.00423228
pop ecx
pop ecx
push dword [esi + 0x10]
push dword [ebp + 0xc]
call fcn.004189d0
pop ecx
jmp 0x405fdf
cmp eax, 0x837
jne 0x40669f
mov ecx, dword [esi + 0xc]
mov eax, dword [0x452088]
cmp ecx, dword [eax + 0x10]
jne 0x405fe0
mov eax, dword [eax + 0x3fc]
xor edi, edi
inc edi
cmp eax, edi
jne 0x406604
cmp dword [esi + 0x10], 0x201
jne 0x406604
mov dword [0x452d28], edi
jmp 0x405fe0
xor ebx, ebx
cmp eax, edi
jne 0x40661b
cmp dword [esi + 0x10], 0x202
jne 0x40661b
cmp dword [0x452d28], ebx
jne 0x406629
cmp eax, 2
jne 0x406694
cmp dword [esi + 0x10], 0x203
jne 0x406694
push 0x452998
push 0x45298c
call fcn.0042cb8c
test eax, eax
pop ecx
pop ecx
jne 0x406694
push ebx
push 3
lea eax, [ebp + 0xc]
push eax
push ebx
lea eax, [esi + 0x28]
push eax
lea eax, [esi + 0x1c]
push eax
mov eax, dword [0x452088]
push dword [eax + 0xc]
call fcn.00416e97
add esp, 0x1c
test eax, eax
je 0x406685
mov eax, dword [0x452088]
push edi
push ebx
push ebx
push dword [ebp + 0xc]
push 0x44d788
push dword [eax + 0xc]
call fcn.00404b48
push dword [ebp + 0xc]
call fcn.004125cd
add esp, 0x1c
mov eax, dword [ebp + 0x18]
inc dword [esi + 0x34]
mov dword [eax], edi
mov eax, edi
jmp 0x405fe2
mov dword [0x452d28], ebx
jmp 0x405fe0
cmp eax, 0x838
jne 0x40672e
xor ebx, ebx
cmp dword [esi + 0x18], ebx
je 0x405fe0
cmp dword [esi + 0x10], ebx
jne 0x4066dd
mov eax, dword [0x452088]
push ebx
push 1
push 0xc74
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, eax
mov eax, dword [esi + 0x14]
xor edx, edx
div ecx
mov esi, eax
jmp 0x4066e0
mov esi, dword [esi + 0x14]
mov eax, dword [0x452088]
mov ecx, dword [eax + 0x438]
cmp ecx, dword [eax + 0x434]
push esi
push 0xc
push eax
jne 0x406721
call fcn.00423461
mov eax, dword [0x452088]
movzx edx, word [eax + 0x430]
movzx ecx, si
shl ecx, 0x10
or ecx, edx
push ecx
push 0xb
push eax
call fcn.00423461
add esp, 0x18
jmp 0x405fe0
call fcn.00423461
add esp, 0xc
jmp 0x405fe0
cmp eax, 0x81b
jne 0x405fe0
mov eax, dword [0x452d2c]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp + 0xc], ebx
je 0x406750
cmp eax, dword [esi + 0x10]
jne 0x405fe0
cmp dword [esi + 0x14], 0x1f4
jbe 0x405fe0
cmp eax, ebx
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
jne 0x4067d3
push dword [esi + 0x1c]
mov eax, dword [esi + 0x10]
push ebx
push 0x406
push dword [0x471cf0]
mov dword [0x452d2c], eax
call edi
push ebx
push ebx
push 0x402
push dword [0x471cf0]
call edi
push 5
push dword [0x471cf0]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0x1c]
cdq
idiv dword [0x452800]
mov ecx, eax
cmp ecx, ebx
mov dword [0x4524f0], ecx
jne 0x4067bb
mov dword [0x4524ac], ebx
jmp 0x4067c9
mov eax, dword [esi + 0x18]
cdq
idiv ecx
imul eax, ecx
mov dword [0x4524ac], eax
mov dword [0x4524b0], 1
mov eax, dword [esi + 0x18]
cmp eax, dword [0x4524ac]
jl 0x4067f8
push ebx
push eax
push 0x402
push dword [0x471cf0]
call edi
mov eax, dword [0x4524f0]
add dword [0x4524ac], eax
mov eax, dword [esi + 0x14]
xor edx, edx
mov ecx, 0x1f4
div ecx
cmp eax, dword [0x4524b0]
jbe 0x4068a6
push 1
push ebx
push ebx
push dword [0x471cf0]
mov dword [0x4524b0], eax
lea eax, [ebp - 0x24]
push eax
call fcn.00403ab7
add esp, 0x14
jmp 0x406853
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x24]
push eax
call fcn.00403aff
push 1
push ebx
push ebx
push dword [0x471cf0]
lea eax, [ebp - 0x24]
push eax
call fcn.00403ab7
add esp, 0x18
test eax, eax
lea eax, [ebp - 0x24]
jne 0x40682d
mov edi, 0x100
jmp 0x406876
cmp dword [ebp - 0x20], edi
jne 0x406873
cmp dword [ebp - 0x1c], 0x1b
jne 0x406873
mov dword [ebp + 0xc], 1
lea eax, [ebp - 0x24]
push 1
push 0x108
push edi
push dword [0x4527bc]
push eax
call fcn.00403ab7
add esp, 0x14
test eax, eax
jne 0x406861
push ebx
push ebx
push ebx
push dword [0x4527bc]
lea eax, [ebp - 0x24]
push eax
call fcn.00403ab7
add esp, 0x14
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x1c]
je 0x4068b7
cmp dword [ebp + 0xc], ebx
je 0x405fe0
push ebx
push dword [0x471cf0]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x4538a0]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [ebp + 0xc], ebx
mov dword [0x452d2c], ebx
je 0x405fe0
push ebx
push 0x100d
push 0x111
push dword [0x4527bc]
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp + 0x18]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x405fe2