Function at 0x402e40
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1ac
lea esi, [esi]
mov eax, dword [0x4141b0]
mov dword [esp], eax
call sub.cygX11_6.dll_XPending
test eax, eax
je 0x402f60
mov eax, dword [0x4141b0]
mov ebx, 0xffffffff
mov dword [ebp - 0x14c], ebx
lea ebx, [ebp - 0xe8]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.cygX11_6.dll_XNextEvent
mov eax, dword [ebp - 0xe8]
cmp eax, 0x16
je 0x402f70
sub eax, 4
mov edi, dword [0x413110]
cmp eax, 0x1d
ja case.0x402ea4.9
jmp dword [eax*4 + 0x411768]
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xcc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call fcn.00407350
test eax, eax
je 0x403434
test dword [ebp - 0xb8], 0x1f00
jne 0x40350b
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call fcn.00402b30
mov eax, dword [ebp - 0x14c]
test eax, eax
js case.0x402ea4.9
mov eax, dword [ebp - 0x14c]
mov dword [esp], eax
call fcn.004036a0
jmp case.0x402ea4.9
call fcn.00402a30
mov eax, dword [0x413110]
mov edx, edi
sub edx, eax
imul eax, dword [0x411034], 0x3e8
cmp edx, eax
jbe 0x402e50
call fcn.00408570
mov dword [0x413110], edi
mov eax, dword [0x4141b0]
mov dword [esp], eax
call sub.cygX11_6.dll_XPending
test eax, eax
jne 0x402e65
add esp, 0x1ac
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], ebx
mov eax, dword [0x4141b0]
mov ecx, 0x16
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.cygX11_6.dll_XCheckTypedEvent
test eax, eax
jne 0x402f70
mov eax, dword [ebp - 0xe8]
jmp 0x402e96
cmp dword [ebp - 0xd0], 0x20
jne case.0x402ea4.9
mov eax, dword [0x413160]
cmp dword [ebp - 0xcc], eax
jne case.0x402ea4.9
mov dword [esp], 0
call sub.cygwin1.dll_exit
mov dword [esp + 4], ebx
lea esi, [ebp - 0x148]
mov eax, 0x60
mov dword [esp + 8], eax
mov dword [esp], esi
jmp 0x402ff0
mov dword [esp + 4], esi
mov eax, 0x60
mov dword [esp + 8], eax
mov dword [esp], ebx
call sub.cygwin1.dll_memcpy
mov dword [esp + 0xc], esi
mov eax, 0x16
mov dword [esp + 8], eax
mov eax, dword [0x4141e0]
mov dword [esp + 4], eax
mov eax, dword [0x4141b0]
mov dword [esp], eax
call sub.cygX11_6.dll_XCheckTypedWindowEvent
test eax, eax
jne 0x402fe0
mov eax, dword [ebp - 0xc4]
cmp eax, dword [0x41104c]
je 0x403047
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov esi, 1
mov dword [esp], eax
call fcn.00401b50
mov dword [ebp - 0x14c], esi
mov ebx, dword [ebp - 0xe0]
test ebx, ebx
je 0x402ef9
mov edx, dword [ebp - 0xd0]
cmp edx, dword [0x414140]
je 0x403619
mov ecx, dword [0x413034]
mov eax, dword [ebp - 0xcc]
test ecx, ecx
jne 0x403639
mov dword [0x414140], edx
mov dword [0x4141f0], eax
jmp 0x402ef9
mov dword [esp + 4], ebx
lea esi, [ebp - 0x148]
mov eax, 0x60
mov dword [esp + 8], eax
mov dword [esp], esi
jmp 0x4030b3
mov dword [esp + 4], esi
mov eax, 0x60
mov dword [esp + 8], eax
mov dword [esp], ebx
call sub.cygwin1.dll_memcpy
mov dword [esp + 0xc], esi
mov eax, 0xc
mov dword [esp + 8], eax
mov eax, dword [0x4141e0]
mov dword [esp + 4], eax
mov eax, dword [0x4141b0]
mov dword [esp], eax
call sub.cygX11_6.dll_XCheckTypedWindowEvent
test eax, eax
jne 0x4030a3
mov ebx, dword [ebp - 0xc4]
test ebx, ebx
jne case.0x402ea4.9
mov eax, dword [0x4131a4]
cmp dword [ebp - 0xd8], eax
setne al
movzx eax, al
mov dword [ebp - 0x14c], eax
jmp 0x402f03
mov edi, dword [ebp - 0xcc]
call fcn.00402600
mov eax, dword [0x413198]
test eax, eax
jne 0x403423
mov eax, dword [0x413030]
test eax, eax
jne 0x403414
mov eax, dword [ebp - 0xb8]
test eax, eax
jne case.0x402ea4.9
mov eax, dword [0x413028]
test eax, eax
jne case.0x402ea4.9
test dword [ebp - 0xa8], 0x1f00
je 0x403558
cmp dword [0x411040], 0xffffffff
je case.0x402ea4.9
mov dword [esp], 0x4140a0
xor esi, esi
mov ebx, 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
call fcn.00406e20
jmp 0x4032c8
mov ecx, dword [0x413030]
mov edi, dword [ebp - 0xcc]
test ecx, ecx
jne 0x4033e7
mov edx, dword [ebp - 0xb8]
test edx, edx
jne case.0x402ea4.9
mov dword [esp], 0x4140a0
mov eax, dword [ebp - 0xc4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], eax
call fcn.00406fc0
mov ebx, eax
mov eax, dword [0x413028]
test eax, eax
je 0x403530
cmp ebx, 0xffffffff
je 0x402ee1
cmp ebx, dword [0x411040]
je 0x402ee1
mov dword [esp + 4], ebx
mov dword [esp], 0x4141d0
call fcn.00405950
mov dword [esp + 8], eax
mov eax, str.Focus_0
mov dword [esp + 4], eax
mov dword [esp], 0x4141a0
call fcn.0040f120
jmp 0x402ee1
mov dword [esp], 0x4140a0
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xcc]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], eax
call fcn.00406fc0
cmp eax, 0xffffffff
mov ebx, eax
je 0x4035e2
mov eax, dword [0x411040]
mov dword [0x41103c], eax
mov eax, dword [ebp - 0xb4]
dec eax
cmp eax, 4
jbe 0x4034c8
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call fcn.00407350
test eax, eax
jne 0x4033f1
mov eax, dword [0x413028]
test eax, eax
je 0x4032c8
cmp ebx, dword [0x411040]
je 0x40364c
cmp ebx, 0xffffffff
je 0x4032c8
mov dword [esp + 4], ebx
mov dword [esp], 0x4141d0
call fcn.00405950
mov dword [esp + 8], eax
mov eax, str.Focus_0
mov dword [esp + 4], eax
mov dword [esp], 0x4141a0
call fcn.0040f120
mov ecx, 0xffffffff
mov dword [0x411040], ecx
xor edx, edx
mov dword [ebp - 0x14c], edx
jmp 0x402f03
mov dword [esp], 0x4140a0
xor eax, eax
mov edi, dword [ebp - 0xcc]
mov dword [esp + 8], eax
mov eax, 0xffffffff
mov dword [esp + 4], eax
call fcn.00406e20
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call fcn.00407350
test eax, eax
je 0x403394
mov dword [esp], 0
mov esi, 1
mov dword [esp + 4], esi
call fcn.004072e0
mov eax, dword [0x4141f0]
mov edx, dword [0x414140]
cmp eax, dword [0x414150]
jge 0x4034fe
mov ebx, dword [0x414070]
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [0x413174]
lea ebx, [ebp - 0x88]
mov dword [esp + 0xc], edx
mov edx, str.Popup__s__d__d
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebx
call sub.cygwin1.dll_sprintf
mov dword [esp + 4], ebx
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp], 0x4141a0
call fcn.0040f120
jmp 0x4032d3
mov dword [esp], 0
xor eax, eax
mov dword [esp + 4], eax
call fcn.004072e0
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call fcn.00407b10
test eax, eax
je 0x40358f
xor edx, edx
nop
lea esi, [esi]
movzx eax, byte [ebx + edx]
mov byte [esp + edx], al
inc edx
cmp edx, 0x60
jb 0x4033d0
call fcn.00408870
jmp 0x4032d3
call fcn.00402620
jmp 0x40319a
mov dword [esp], 0
xor eax, eax
mov dword [esp + 4], eax
call fcn.004072e0
mov dword [esp], 0xc350
call sub.cygwin1.dll_usleep
jmp 0x403285
mov eax, 2
call fcn.00402780
jmp 0x40312e
mov dword [esp], 0
call fcn.00407c00
jmp 0x403121
mov dword [esp], 0
xor eax, eax
mov dword [esp + 4], eax
call fcn.004072e0
mov dword [esp], 0x4140a0
cmp eax, 1
sbb eax, eax
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0xc4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], eax
call fcn.00406fc0
mov ebx, eax
mov eax, dword [0x413028]
test eax, eax
jne 0x4031d7
test dword [ebp - 0xb8], 0x1f00
je 0x402ee1
cmp ebx, dword [0x411040]
je 0x402ee1
cmp ebx, 0xffffffff
je 0x40366a
mov dword [esp + 4], ebx
mov esi, 1
mov dword [esp + 8], esi
mov dword [esp], 0x4140a0
call fcn.00406e20
mov dword [0x411040], ebx
xor eax, eax
jmp 0x403525
mov dword [esp + 4], ebx
mov dword [esp], 0x4141d0
call fcn.00405950
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xb4]
mov dword [esp], 0x4141a0
mov eax, dword [eax*4 + 0x41101c]
mov dword [esp + 4], eax
call fcn.0040f120
jmp 0x403265
mov ecx, dword [0x41409c]
sub eax, ecx
jmp 0x403351
mov dword [esp], 0
mov eax, 1
mov dword [esp + 4], eax
call fcn.004072e0
cmp eax, 1
sbb eax, eax
mov dword [ebp - 0x14c], eax
jmp 0x402ee1
test dword [ebp - 0xa8], 0x1f00
je 0x402ee1
cmp ebx, 0xffffffff
jne 0x4034a5
mov eax, 0xffffffff
mov dword [0x411040], eax
jmp 0x402ee1
cmp dword [0x41103c], 0xffffffff
je case.0x402ea4.9
mov dword [esp], 0x4140a0
xor eax, eax
mov dword [esp + 8], eax
mov eax, 0xffffffff
mov dword [esp + 4], eax
call fcn.00406e20
mov eax, 0xffffffff
mov dword [0x41103c], eax
jmp 0x4032d3
mov dword [esp], 0x4140a0
mov eax, dword [ebp - 0xc4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], eax
call fcn.00406fc0
mov dword [esp], 0x4140a0
mov ebx, eax
xor eax, eax
cmp dword [0x411040], ebx
mov dword [esp + 4], ebx
sete al
inc eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
call fcn.00406bc0
mov dword [0x411040], ebx
jmp 0x4032d3
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call fcn.00407350
test eax, eax
je 0x403265
mov dword [esp], 0
xor edx, edx
mov dword [esp + 4], edx
call fcn.004072e0
jmp 0x403265
mov eax, dword [ebp - 0xcc]
cmp eax, dword [0x4141f0]
je 0x402ef9
mov ecx, dword [0x413034]
test ecx, ecx
je 0x40307b
mov dword [esp], eax
xor edx, edx
mov dword [esp + 4], edx
call fcn.00402d30
jmp 0x402ef9
mov dword [esp + 4], ebx
mov eax, 1
mov dword [esp + 8], eax
mov dword [esp], 0x4140a0
call fcn.00406e20
jmp 0x40329a
mov dword [esp], 0x4140a0
xor ecx, ecx
mov edx, 0xffffffff
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call fcn.00406e20
mov eax, 0xffffffff
mov dword [0x411040], eax
xor eax, eax
jmp 0x403525