Function at 0x40eca0
Capabilities:
Capture webcam image
Create process on windows
Get graphical window text
Log keystrokes via polling

Disassembly:
mov edx, dword [esp + 4]
sub esp, 0x288
mov eax, edx
push esi
mov esi, ecx
push edi
mov edi, dword [esp + 0x298]
mov ecx, dword [esi + 0x20]
shr eax, 0x10
cmp edi, ecx
jne 0x40ed7e
cmp ax, 9
jne 0x40ed03
push 0
push 0
push 0x157
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x40fe84
mov eax, dword [esi + 8]
push 0
push 0
push 0x40e
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
xor eax, eax
pop esi
add esp, 0x288
ret 8
cmp ax, 0xa
jne 0x40ed5d
lea ecx, [esi + 0x30c]
lea edx, [esi + 0x20c]
push ecx
lea eax, [esp + 0x84]
push edx
push eax
call fcn.0044a2d0
mov edx, dword [esi + 0x20]
add esp, 0xc
lea ecx, [esp + 0x80]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x4eb430]
test eax, eax
jne 0x40fe84
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
xor eax, eax
pop esi
add esp, 0x288
ret 8
cmp ax, 3
jne 0x40fe84
mov dword [esi + 0x3c], ecx
mov ecx, esi
call fcn.00418240
pop edi
xor eax, eax
pop esi
add esp, 0x288
ret 8
test ax, ax
je 0x40ed8d
cmp ax, 1
jne 0x40fe84
mov eax, edx
push ebx
and eax, 0xffff
push ebp
cmp eax, 0x4f19
mov dword [esp + 0x10], eax
jg 0x40f6fb
je 0x40f6c7
cmp eax, 0x4ebc
jg 0x40f1ad
je 0x40f150
cmp eax, 0x4e92
jg 0x40f04d
je 0x40f035
cmp eax, 0x4e89
jg 0x40ef8c
je 0x40eefc
cmp eax, 0x4e85
jg 0x40eeb8
je 0x40ee2d
dec eax
je 0x40ee13
sub eax, 0x4e83
jne case.0x40f98f.20331
mov eax, dword [esi + 0x948]
test eax, eax
je case.0x40f98f.20331
mov ecx, esi
call fcn.00410620
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x944]
test eax, eax
je case.0x40f98f.20331
mov ecx, esi
call fcn.004103b0
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x958]
test eax, eax
je case.0x40f98f.20331
mov ecx, dword [esi + 0xc]
push 1
push 0xffffffffffffffff
push 0x100c
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
jne 0x40ee57
xor edi, edi
jmp 0x40ee61
push eax
mov ecx, esi
call fcn.00417e00
mov edi, eax
mov al, byte [0x4eb802]
test al, al
je 0x40ee9e
mov eax, dword [edi + 0x68]
push str..wav
push eax
call fcn.0044c960
add esp, 8
test eax, eax
je 0x40ee9e
mov edx, dword [edi + 0x68]
push 0x22003
push 0
push edx
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 1
mov ecx, esi
call fcn.00412600
jmp case.0x40f98f.20331
push 0x40
push 0
push 0
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 1
mov ecx, esi
call fcn.00412600
jmp case.0x40f98f.20331
sub eax, 0x4e87
je 0x40eee0
dec eax
jne case.0x40f98f.20331
mov eax, dword [esi + 0x978]
test eax, eax
je case.0x40f98f.20331
mov ecx, esi
call fcn.004142d0
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x96c]
test eax, eax
je case.0x40f98f.20331
push 0
mov ecx, esi
call fcn.004213a0
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x968]
test eax, eax
je case.0x40f98f.20331
mov eax, dword [0x4eb33c]
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
test eax, eax
je 0x40ef29
push 0x11
call edi
test ah, 0x80
jne 0x40ef29
mov ebp, 1
jmp 0x40ef2b
xor ebp, ebp
mov eax, dword [0x4eb344]
test eax, eax
jne 0x40ef44
push 0x10
call edi
test ah, 0x80
jne 0x40ef44
mov edi, 1
jmp 0x40ef46
xor edi, edi
call dword [sym.imp.USER32.dll_GetFocus]
mov ebx, eax
mov eax, dword [esi + 0xc]
cmp ebx, eax
jne 0x40ef64
push edi
push ebp
mov ecx, esi
call fcn.00411a80
push ebx
jmp 0x40fe38
cmp ebx, dword [esi + 0x10]
jne 0x40ef78
push edi
push ebp
mov ecx, esi
call fcn.00412050
push ebx
jmp 0x40fe38
cmp ebx, dword [esi + 0x24]
jne 0x40ef86
push edi
push ebp
mov ecx, esi
call fcn.004123e0
push ebx
jmp 0x40fe38
add eax, 0xffffb175
cmp eax, 6
ja case.0x40f98f.20331
jmp dword [eax*4 + 0x40fe94]
mov eax, dword [esi + 0x97c]
test eax, eax
je case.0x40f98f.20331
mov ecx, esi
call fcn.00412a70
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x950]
test eax, eax
je case.0x40f98f.20331
mov eax, dword [esi + 0xc]
push 1
push 0xffffffffffffffff
push 0x100c
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
jne 0x40efe5
xor eax, eax
jmp 0x40efed
push eax
mov ecx, esi
call fcn.00417e00
mov ecx, dword [eax + 8]
test ecx, ecx
jne case.0x40f98f.20331
push str.Edit
mov ecx, esi
call fcn.00417e50
push eax
mov ecx, esi
call fcn.004111c0
jmp case.0x40f98f.20331
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00411760
jmp case.0x40f98f.20331
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
jmp case.0x40f98f.20331
mov ecx, dword [esi + 8]
push 0
push 0xb
push str.ACDSee32.hlp
push ecx
call dword [sym.imp.USER32.dll_WinHelpA]
jmp case.0x40f98f.20331
add eax, 0xffffb16d
cmp eax, 0x1e
ja case.0x40f98f.20331
xor edx, edx
mov dl, byte [eax + 0x40fee0]
jmp dword [edx*4 + 0x40feb0]
mov eax, dword [esi + 0x954]
test eax, eax
je case.0x40f98f.20331
mov ecx, esi
call fcn.00410c10
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x950]
test eax, eax
je case.0x40f98f.20331
mov eax, dword [esi + 0xc]
push 1
push 0xffffffffffffffff
push 0x100c
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
jne 0x40f0ae
xor eax, eax
jmp 0x40f0b6
push eax
mov ecx, esi
call fcn.00417e00
mov ecx, dword [eax + 8]
test ecx, ecx
jne case.0x40f98f.20331
push str.Open
mov ecx, esi
call fcn.00417e50
push eax
mov ecx, esi
call fcn.004111c0
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00411900
jmp case.0x40f98f.20331
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
jmp case.0x40f98f.20331
mov eax, dword [esp + 0x10]
mov ecx, esi
push eax
call fcn.00414530
jmp case.0x40f98f.20331
mov edx, dword [0x4eb21c]
xor eax, eax
test edx, edx
sete al
test eax, eax
mov dword [0x4eb21c], eax
push 0
je 0x40f12e
mov ecx, esi
call fcn.00412600
mov ecx, esi
call fcn.00421cd0
jmp case.0x40f98f.20331
mov ecx, dword [esi + 0x208]
push 0
call fcn.0045fcf0
push 0
mov ecx, esi
call fcn.0041a080
mov ecx, esi
call fcn.00421cd0
jmp case.0x40f98f.20331
mov edx, dword [0x4eb20c]
xor ecx, ecx
test edx, edx
sete cl
mov dword [0x4eb20c], ecx
mov edx, dword [esi + 0xc]
push 1
push 0xffffffffffffffff
push 0x100c
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x40f183
push eax
mov ecx, esi
call fcn.00417e00
push 1
mov ecx, esi
call fcn.0041b210
mov eax, dword [0x4eb20c]
mov ecx, dword [esi + 0x54]
neg eax
sbb eax, eax
and eax, 8
push eax
push 0x4ebc
push ecx
call dword [sym.imp.USER32.dll_CheckMenuItem]
jmp case.0x40f98f.20331
add eax, 0xffffb143
cmp eax, 0x5b
ja case.0x40f98f.20331
xor edx, edx
mov dl, byte [eax + 0x40ff58]
jmp dword [edx*4 + 0x40ff00]
mov eax, dword [esi + 0x950]
test eax, eax
je case.0x40f98f.20331
mov eax, dword [esi + 0xc]
push 1
push 0xffffffffffffffff
push 0x100c
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
mov ecx, esi
call fcn.00417e00
test eax, eax
je case.0x40f98f.20331
mov ecx, dword [eax + 0x68]
lea edx, [esi + 0x20c]
push ecx
lea eax, [esp + 0x8c]
push edx
push eax
call fcn.0044a2d0
mov edx, dword [esi + 8]
push 1
lea ecx, [esp + 0x98]
push str.Open
push ecx
push edx
call fcn.00404d90
add esp, 0x1c
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x950]
test eax, eax
je case.0x40f98f.20331
mov eax, dword [esi + 0xc]
push 1
push 0xffffffffffffffff
push 0x100c
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
mov ecx, esi
call fcn.00417e00
test eax, eax
je case.0x40f98f.20331
mov ecx, dword [eax + 0x68]
lea edx, [esi + 0x20c]
push ecx
lea eax, [esp + 0x8c]
push edx
push eax
call fcn.0044a2d0
mov edx, dword [esi + 8]
push 1
lea ecx, [esp + 0x98]
push str.Edit
push ecx
push edx
call fcn.00404d90
add esp, 0x1c
jmp case.0x40f98f.20331
mov eax, dword [esp + 0x10]
mov ecx, esi
push eax
call fcn.00410e40
jmp case.0x40f98f.20331
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
jmp case.0x40f98f.20331
mov ecx, dword [0x4eb424]
xor eax, eax
test ecx, ecx
sete al
mov dword [0x4eb424], eax
neg eax
sbb eax, eax
and eax, 8
push eax
mov eax, dword [esi + 0x54]
push 0x4f07
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov ecx, esi
call fcn.00419340
jmp case.0x40f98f.20331
mov ebp, dword [0x4eb428]
xor eax, eax
test ebp, ebp
sete al
mov dword [0x4eb428], eax
mov ecx, dword [esi + 0x54]
neg eax
sbb eax, eax
and eax, 8
push eax
push 0x4efa
push ecx
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov ecx, esi
call fcn.00419340
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00414aa0
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00414bd0
jmp case.0x40f98f.20331
mov ecx, dword [esi + 0x430]
xor eax, eax
test ecx, ecx
sete al
mov dword [esi + 0x430], eax
mov ecx, esi
mov dword [0x4eb438], eax
call fcn.00419340
mov eax, dword [0x4eb21c]
test eax, eax
je 0x40f376
mov eax, dword [esi + 0x430]
test eax, eax
je 0x40f376
push 1
mov ecx, esi
call fcn.00412600
mov ecx, esi
call fcn.00418f50
mov ecx, esi
call fcn.00421cd0
jmp case.0x40f98f.20331
mov edx, dword [esp + 0x10]
lea eax, [edx - 0x4e9b]
cmp eax, 0x29
ja case.0x40f98f.20331
xor ecx, ecx
mov cl, byte [eax + 0x40ffdc]
jmp dword [ecx*4 + 0x40ffb4]
mov ecx, esi
mov dword [0x4eb200], 0
call fcn.00421970
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb200], 0xffffffff
call fcn.00421970
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb200], 1
call fcn.00421970
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb200], 2
call fcn.00421970
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb200], 3
call fcn.00421970
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb200], 4
call fcn.00421970
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb200], 5
call fcn.00421970
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb208], 0
call fcn.00421970
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb208], 1
call fcn.00421970
jmp case.0x40f98f.20331
mov edx, dword [esp + 0x10]
lea eax, [edx - 0x4eaa]
cmp eax, 0x1e
ja case.0x40f488.20144
xor ecx, ecx
mov cl, byte [eax + 0x410024]
jmp dword [ecx*4 + 0x410008]
mov dword [0x4eb334], 4
jmp case.0x40f488.20144
mov dword [0x4eb334], 0
jmp case.0x40f488.20144
mov dword [0x4eb334], 1
jmp case.0x40f488.20144
mov dword [0x4eb334], 2
jmp case.0x40f488.20144
mov dword [0x4eb334], 3
jmp case.0x40f488.20144
mov edx, dword [0x4eb334]
sub edx, 4
neg edx
sbb edx, edx
and edx, 4
mov dword [0x4eb334], edx
push 1
mov ecx, esi
call fcn.00412600
mov ecx, esi
call fcn.00421cd0
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00420450
mov eax, dword [esi + 8]
push 0
push 0xffffffffffffffff
push 0x40b
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00410fb0
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00414670
jmp case.0x40f98f.20331
mov ecx, dword [esi + 8]
push 0
push 0xf020
push 0x112
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x40f98f.20331
cmp dword [0x4eb3d0], 3
jne case.0x40f98f.20331
mov ebx, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f02
push 0
call ebx
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov edx, dword [esi + 0xc]
push 0
push 0
push 0xb
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
xor ebp, ebp
mov edi, 0x4eb3b8
cmp dword [edi], 0
je 0x40f58f
push ebp
mov ecx, esi
call fcn.0041c930
add edi, 4
inc ebp
cmp edi, 0x4eb3d0
jl 0x40f582
mov eax, dword [esi + 0xc]
push 0
push 1
push 0xb
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x7f00
push 0
call ebx
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp case.0x40f98f.20331
mov edi, 1
mov dword [0x4eb368], 0
mov dword [0x4eb438], edi
mov ecx, esi
mov dword [esi + 0x430], edi
call fcn.00419340
mov eax, dword [0x4eb21c]
test eax, eax
je 0x40f5fc
cmp dword [0x4eb334], 4
jne 0x40f5fc
push edi
mov ecx, esi
call fcn.00412600
mov ecx, esi
call fcn.00421cd0
jmp case.0x40f98f.20331
mov edi, 1
mov ecx, esi
mov dword [0x4eb368], edi
mov dword [0x4eb438], edi
mov dword [esi + 0x430], edi
call fcn.00419340
mov eax, dword [0x4eb21c]
test eax, eax
je 0x40f640
cmp dword [0x4eb334], 4
jne 0x40f640
push edi
mov ecx, esi
call fcn.00412600
mov ecx, esi
call fcn.00421cd0
jmp case.0x40f98f.20331
mov edi, 1
mov dword [0x4eb368], 2
mov dword [0x4eb438], edi
mov ecx, esi
mov dword [esi + 0x430], edi
call fcn.00419340
mov eax, dword [0x4eb21c]
test eax, eax
je 0x40f688
cmp dword [0x4eb334], 4
jne 0x40f688
push edi
mov ecx, esi
call fcn.00412600
mov ecx, esi
call fcn.00421cd0
jmp case.0x40f98f.20331
push 0xffffffffffffffff
mov ecx, esi
call fcn.0041e110
test eax, eax
je case.0x40f98f.20331
mov ecx, dword [eax + 8]
push 0
push 0
push 1
push ecx
mov ecx, esi
call fcn.004174b0
test eax, eax
je case.0x40f98f.20331
mov edx, dword [esi + 0xc]
push edx
jmp 0x40fe38
mov edx, dword [0x4eb42c]
xor eax, eax
test edx, edx
sete al
test eax, eax
mov dword [0x4eb42c], eax
je 0x40f6e2
mov eax, dword [esi + 0x54]
jmp 0x40f6e4
xor eax, eax
push eax
mov eax, dword [esi + 8]
push eax
call dword [sym.imp.USER32.dll_SetMenu]
mov ecx, esi
call fcn.00419340
jmp case.0x40f98f.20331
add eax, 0xffffb0e1
cmp eax, 0x77
ja case.0x40f98f.20331
xor edx, edx
mov dl, byte [eax + 0x4100f8]
jmp dword [edx*4 + 0x410044]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x200]
push 0x4eb4c1
push eax
push ecx
call fcn.00452bb0
add esp, 0xc
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x970]
test eax, eax
je case.0x40f98f.20331
mov edx, dword [esi + 0xc]
push 1
push 0xffffffffffffffff
push 0x100c
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je case.0x40f98f.20331
push eax
mov ecx, esi
call fcn.00417e00
test eax, eax
je case.0x40f98f.20331
mov ecx, dword [esi + 0x994]
test ecx, ecx
je 0x40f786
push eax
mov ecx, esi
call fcn.00408820
jmp case.0x40f98f.20331
mov eax, dword [eax + 0x68]
lea ecx, [esi + 0x20c]
push eax
lea edx, [esp + 0x8c]
push ecx
push edx
call fcn.0044a2d0
add esp, 0xc
lea eax, [esp + 0x88]
lea ecx, [esp + 0x2c]
push eax
call fcn.00459cd0
mov ecx, dword [esi + 0x208]
mov edx, dword [esi + 8]
push edx
lea edx, [esp + 0x30]
mov eax, dword [ecx + 0x6d0]
mov ecx, dword [esi + 0x200]
push ecx
push 0
push eax
push edx
call fcn.00453aa0
add esp, 0x14
test eax, eax
jne 0x40f7fb
mov ecx, dword [esi + 0x200]
push eax
mov eax, dword [esi + 8]
push 0x203
push 0x203
push eax
push ecx
call fcn.0044adc0
add esp, 0x14
lea ecx, [esp + 0x2c]
call fcn.00459f00
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x974]
test eax, eax
je case.0x40f98f.20331
push 1
mov ecx, esi
call fcn.004213a0
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x974]
test eax, eax
je case.0x40f98f.20331
mov ecx, esi
call fcn.004135e0
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x96c]
test eax, eax
je case.0x40f98f.20331
mov ecx, esi
call fcn.00413a50
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00413d80
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00414790
jmp case.0x40f98f.20331
mov edi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f02
push 0
call edi
mov ebp, dword [sym.imp.USER32.dll_SetCursor]
push eax
call ebp
mov eax, dword [esi + 0x200]
lea edx, [esp + 0x2c]
push 0x50
push edx
push 0xc5
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
push 1
push 0
lea ecx, [esp + 0x34]
push 0
push ecx
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0x7f00
push 0
mov ebx, eax
call edi
push eax
call ebp
cmp ebx, 0x1f
jg case.0x40f98f.20331
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x200]
push 0x20c
push edx
push eax
call fcn.0044aec0
add esp, 0xc
jmp case.0x40f98f.20331
mov ecx, dword [0x4eb470]
push ecx
mov ecx, esi
call fcn.0041ec00
jmp case.0x40f98f.20331
mov edx, dword [esi + 8]
push 2
push 1
push str.ACDSee32.hlp
push edx
call dword [sym.imp.USER32.dll_WinHelpA]
jmp case.0x40f98f.20331
mov eax, dword [esp + 0x10]
add eax, 0xffffb169
cmp eax, 0xfb
ja case.0x40f98f.20331
xor ecx, ecx
mov cl, byte [eax + 0x41018c]
jmp dword [ecx*4 + 0x410170]
mov eax, 5
jmp 0x40f963
mov eax, 4
jmp 0x40f963
xor eax, eax
jmp 0x40f963
mov eax, 1
jmp 0x40f963
mov eax, 2
jmp 0x40f963
mov eax, 3
cmp dword [0x4eb3d0], eax
je case.0x40f98f.20331
push eax
mov ecx, esi
call fcn.004207e0
jmp case.0x40f98f.20331
mov edx, dword [esp + 0x10]
lea eax, [edx - 0x4f68]
cmp eax, 4
ja case.0x40f98f.20331
jmp dword [eax*4 + 0x410288]
xor eax, eax
jmp 0x40f9ad
mov eax, 1
jmp 0x40f9ad
mov eax, 2
jmp 0x40f9ad
mov eax, 3
cmp dword [0x4eb3d4], eax
je case.0x40f98f.20331
push eax
mov ecx, esi
call fcn.0041e330
jmp case.0x40f98f.20331
mov ecx, dword [0x4eb430]
xor eax, eax
test ecx, ecx
sete al
mov dword [0x4eb430], eax
neg eax
sbb eax, eax
and eax, 8
push eax
mov eax, dword [esi + 0x54]
push 0x4f37
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov ecx, esi
call fcn.00419340
mov eax, dword [0x4eb430]
test eax, eax
je 0x40fe34
mov eax, dword [esi + 0x20]
jmp 0x40fe37
mov edx, dword [0x4eb46c]
xor eax, eax
test edx, edx
sete al
test eax, eax
mov dword [0x4eb46c], eax
je 0x40fa34
mov ecx, esi
mov dword [esi + 0x428], 0
call fcn.00420660
jmp 0x40fa3b
mov ecx, esi
call fcn.00420600
mov ecx, dword [0x4eb46c]
mov edx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
and ecx, 8
push ecx
push 0x4f20
push edx
call dword [sym.imp.USER32.dll_CheckMenuItem]
jmp case.0x40f98f.20331
mov ecx, dword [0x4eb210]
xor eax, eax
test ecx, ecx
sete al
mov dword [0x4eb210], eax
mov ecx, dword [esi + 0xc]
push 1
push 0xffffffffffffffff
push 0x100c
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x40fa8f
push eax
mov ecx, esi
call fcn.00417e00
push 1
mov ecx, esi
call fcn.0041b210
mov edx, dword [0x4eb210]
mov eax, dword [esi + 0x54]
neg edx
sbb edx, edx
and edx, 8
push edx
push 0x4f4a
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.004204e0
jmp case.0x40f98f.20331
lea edx, [esp + 0x88]
push 0x104
push edx
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0
push 0
lea eax, [esp + 0x90]
push 1
push eax
mov ecx, esi
call fcn.004174b0
test eax, eax
je 0x40fafc
mov ecx, dword [esi + 0xc]
push ecx
jmp 0x40fe38
mov edx, dword [esi + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esi + 0x20]
push 0xffffffffffffffff
push 0
push 0x142
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb43c], 1
mov dword [0x4eb36c], 0
call fcn.00419340
mov ecx, esi
call fcn.00421cd0
mov eax, dword [esi + 0x430]
test eax, eax
je case.0x40f98f.20331
mov eax, dword [0x4eb21c]
test eax, eax
je case.0x40f98f.20331
push 1
mov ecx, esi
call fcn.00412600
jmp case.0x40f98f.20331
mov ecx, esi
mov dword [0x4eb43c], 1
mov dword [0x4eb36c], 2
call fcn.00419340
mov ecx, esi
call fcn.00421cd0
mov eax, dword [esi + 0x430]
test eax, eax
je case.0x40f98f.20331
mov eax, dword [0x4eb21c]
test eax, eax
je case.0x40f98f.20331
push 1
mov ecx, esi
call fcn.00412600
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00414c90
jmp case.0x40f98f.20331
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov edi, dword [sym.imp.USER32.dll_SetCursor]
push eax
call edi
mov ecx, dword [esi + 0x10]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 9
push 0x110a
push ecx
mov ebp, eax
call ebx
mov edx, dword [esi + 0x10]
push eax
push 2
push 0x1102
push edx
call ebx
push ebp
call edi
jmp case.0x40f98f.20331
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov edi, dword [sym.imp.USER32.dll_SetCursor]
push eax
call edi
mov ebp, eax
mov eax, dword [esi + 0x10]
push 0
push 9
push 0x110a
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
mov ecx, esi
call fcn.0041cc70
push ebp
call edi
jmp case.0x40f98f.20331
mov ecx, dword [esi + 0x10]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 9
push 0x110a
push ecx
call edi
mov edx, dword [esi + 0x10]
push eax
push 1
push 0x1102
push edx
call edi
jmp case.0x40f98f.20331
push 0
mov ecx, esi
call fcn.00414ff0
jmp case.0x40f98f.20331
push 1
mov ecx, esi
call fcn.00414ff0
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00415520
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00415b10
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.004075e0
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00407620
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00416210
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.004165b0
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.004166c0
jmp case.0x40f98f.20331
push 0
mov ecx, esi
call fcn.00416a10
jmp case.0x40f98f.20331
push 0xffffffffffffffa6
mov ecx, esi
call fcn.00416a10
jmp case.0x40f98f.20331
push 0x5a
mov ecx, esi
call fcn.00416a10
jmp case.0x40f98f.20331
push 0xb4
mov ecx, esi
call fcn.00416a10
jmp case.0x40f98f.20331
mov eax, dword [esi + 0x7ec]
test eax, eax
je case.0x40f98f.20331
mov ecx, esi
call fcn.00422100
mov eax, dword [esi + 8]
lea ecx, [esi + 0x4dc]
push eax
call fcn.0042c9b0
mov ecx, esi
call fcn.00421fe0
mov ecx, esi
call fcn.00418240
jmp case.0x40f98f.20331
push 0
mov ecx, esi
call fcn.00411490
jmp case.0x40f98f.20331
push 1
mov ecx, esi
call fcn.00411490
jmp case.0x40f98f.20331
mov ecx, dword [esi + 0x14]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0x4f89
push 0x419
push ecx
call edi
lea edx, [esp + 0x1c]
push edx
push eax
mov eax, dword [esi + 0x14]
push 0x41d
push eax
call edi
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x28]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
add eax, ecx
cdq
sub eax, edx
lea edx, [esp + 0x14]
sar eax, 1
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x14]
push edx
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
mov ecx, esi
call fcn.00422610
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00422870
jmp case.0x40f98f.20331
mov ecx, esi
call fcn.00422940
jmp case.0x40f98f.20331
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esi + 0x20]
push 0
push 1
push 0x14f
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x40f98f.20331
lea ecx, [esi + 0x30c]
lea edx, [esi + 0x20c]
push ecx
lea eax, [esp + 0x194]
push edx
push eax
call fcn.0044a2d0
mov edx, dword [esi + 0x20]
add esp, 0xc
lea ecx, [esp + 0x190]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esp + 0x29c]
pop ebp
cmp ax, 0x7530
pop ebx
jb 0x40fe6c
cmp ax, 0x7593
ja 0x40fe6c
mov ecx, dword [esp + 8]
push ecx
mov ecx, esi
call fcn.00411220
pop edi
xor eax, eax
pop esi
add esp, 0x288
ret 8
cmp ax, 0x7594
jb 0x40fe84
cmp ax, 0x75f7
ja 0x40fe84
mov edx, dword [esp + 8]
mov ecx, esi
push edx
call fcn.00411300
pop edi
xor eax, eax
pop esi
add esp, 0x288
ret 8