Function at 0x401190
Capabilities:
Enumerate gui resources
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x22a0
call fcn.00402740
mov ecx, dword [ebp + 0xc]
call fcn.00401120
mov dword [ebp - 0x214], eax
mov dword [0x40de40], 0
push 0
push 0
push 0x1009
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x26c], 3
cmp dword [ebp + 0x10], 0
jne 0x401630
lea edx, [ebp - 0x21c0]
push edx
push 0x401030
call dword [sym.imp.USER32.dll_EnumWindows]
mov dword [ebp - 0x218], 0
jmp 0x401215
mov eax, dword [ebp - 0x218]
add eax, 1
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
cmp ecx, dword [0x40de40]
jge 0x4014f0
push 0x105
lea edx, [ebp - 0x210]
push edx
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + eax*4 - 0x21c0]
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x27c], 0xf
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + eax*4 - 0x21c0]
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp + edx*4 - 0x21c0]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x214]
sub edx, dword [ebp + ecx*4 - 0x21c0]
neg edx
sbb edx, edx
and edx, 0xfffffffd
add edx, 3
mov dword [ebp - 0x270], edx
lea eax, [ebp - 0x27c]
push eax
push 0
push 0x104d
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x27c], 1
mov dword [ebp - 0x274], 1
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp + edx*4 - 0x21c0]
push eax
push str._08X_hex
lea ecx, [ebp - 0x210]
push ecx
call fcn.0040269a
add esp, 0xc
lea edx, [ebp - 0x27c]
push edx
push 0
push 0x104c
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x274], 2
push 0x105
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp - 0x260]
add edx, 0x66
push edx
mov eax, dword [0x40de44]
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
lea ecx, [ebp - 0x27c]
push ecx
push 0
push 0x104c
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x274], 3
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + eax*4 - 0x21c0]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x401397
mov edx, dword [str.Minimized]
mov dword [ebp - 0x2284], edx
jmp 0x4013d4
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + eax*4 - 0x21c0]
push ecx
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x4013bd
mov edx, dword [str.Maximized]
mov dword [ebp - 0x2288], edx
jmp 0x4013c8
mov eax, dword [str.Normal]
mov dword [ebp - 0x2288], eax
mov ecx, dword [ebp - 0x2288]
mov dword [ebp - 0x2284], ecx
mov edx, dword [ebp - 0x2284]
mov dword [ebp - 0x268], edx
lea eax, [ebp - 0x27c]
push eax
push 0
push 0x104c
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x274], 4
mov dword [ebp - 0x244], 0x2c
lea edx, [ebp - 0x244]
push edx
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + eax*4 - 0x21c0]
push ecx
call dword [sym.imp.USER32.dll_GetWindowPlacement]
test eax, eax
jne 0x401497
mov dword [ebp - 0x228c], str.Undefined_
lea edx, [ebp - 0x210]
mov dword [ebp - 0x2290], edx
mov eax, dword [ebp - 0x2290]
mov dword [ebp - 0x2294], eax
mov ecx, dword [ebp - 0x228c]
mov dx, word [ecx]
mov word [ebp - 0x2296], dx
mov eax, dword [ebp - 0x2290]
mov cx, word [ebp - 0x2296]
mov word [eax], cx
mov edx, dword [ebp - 0x228c]
add edx, 2
mov dword [ebp - 0x228c], edx
mov eax, dword [ebp - 0x2290]
add eax, 2
mov dword [ebp - 0x2290], eax
cmp word [ebp - 0x2296], 0
jne 0x40144d
jmp 0x4014c7
mov ecx, dword [ebp - 0x21c]
push ecx
mov edx, dword [ebp - 0x220]
push edx
mov eax, dword [ebp - 0x224]
push eax
mov ecx, dword [ebp - 0x228]
push ecx
push str._i___i..._i___i
lea edx, [ebp - 0x210]
push edx
call fcn.0040269a
add esp, 0x18
lea eax, [ebp - 0x210]
mov dword [ebp - 0x268], eax
lea ecx, [ebp - 0x27c]
push ecx
push 0
push 0x104c
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x401206
push str.WRPProxyExitEvent
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0
je 0x40162b
mov dword [ebp - 0x268], str.WRPServ_Proxy
mov dword [ebp - 0x27c], 0xf
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x25c], 0xffffffff
mov dword [ebp - 0x260], 4
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x214]
sub edx, dword [ebp + ecx*4 - 0x21c0]
neg edx
sbb edx, edx
and edx, 0xfffffffd
add edx, 3
mov dword [ebp - 0x270], edx
lea eax, [ebp - 0x27c]
push eax
push 0
push 0x104d
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x27c], 1
mov dword [ebp - 0x274], 1
lea edx, [ebp - 0x210]
mov dword [ebp - 0x268], edx
mov eax, dword [ebp - 0x280]
push eax
push str._08X_hex
lea ecx, [ebp - 0x210]
push ecx
call fcn.0040269a
add esp, 0xc
lea edx, [ebp - 0x27c]
push edx
push 0
push 0x104c
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x274], 2
push 0x105
lea ecx, [ebp - 0x210]
push ecx
push 0x66
mov edx, dword [0x40de44]
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x27c]
push eax
push 0
push 0x104c
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x280]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4019da
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
lea eax, [ebp - 0x2278]
push eax
push 0
call dword [sym.imp.ole32.dll_CreateBindCtx]
test eax, eax
jne 0x4019d4
lea ecx, [ebp - 0x2250]
push ecx
push 0
call dword [sym.imp.ole32.dll_GetRunningObjectTable]
test eax, eax
jl 0x4019c0
lea edx, [ebp - 0x2258]
push edx
mov eax, dword [ebp - 0x2250]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2250]
push edx
mov eax, dword [ecx + 0x24]
call eax
test eax, eax
jl 0x4019ac
mov ecx, dword [ebp - 0x2258]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2258]
push eax
mov ecx, dword [edx + 0x14]
call ecx
mov dword [ebp - 0x224c], 0
lea edx, [ebp - 0x2248]
push edx
lea eax, [ebp - 0x227c]
push eax
push 1
mov ecx, dword [ebp - 0x2258]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2258]
push eax
mov ecx, dword [edx + 0xc]
call ecx
test eax, eax
jne 0x401998
cmp dword [ebp - 0x2248], 1
jne 0x401998
mov dword [ebp - 0x2244], 0
lea edx, [ebp - 0x225c]
push edx
mov eax, dword [ebp - 0x227c]
push eax
mov ecx, dword [ebp - 0x2250]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2250]
push eax
mov ecx, dword [edx + 0x18]
call ecx
cmp dword [ebp - 0x225c], 0
je 0x4017dc
mov dword [ebp - 0x2274], 0
jmp 0x401734
mov edx, dword [ebp - 0x2274]
add edx, 1
mov dword [ebp - 0x2274], edx
cmp dword [ebp - 0x2274], 7
jae 0x4017c8
mov eax, dword [ebp - 0x2274]
shl eax, 4
add eax, section..data
mov dword [ebp - 0x2280], eax
lea ecx, [ebp - 0x2254]
push ecx
mov edx, dword [ebp - 0x2280]
push edx
mov eax, dword [ebp - 0x225c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x225c]
push edx
mov eax, dword [ecx]
call eax
test eax, eax
jne 0x4017c3
mov ecx, dword [ebp - 0x2280]
mov edx, dword [ecx]
mov dword [ebp - 0x2270], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x226c], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0x2268], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x2264], eax
mov dword [ebp - 0x2244], 1
mov ecx, dword [ebp - 0x2254]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2254]
push eax
mov ecx, dword [edx + 8]
call ecx
jmp 0x4017c8
jmp 0x401725
mov edx, dword [ebp - 0x225c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x225c]
push ecx
mov edx, dword [eax + 8]
call edx
cmp dword [ebp - 0x2244], 0
je 0x401970
lea eax, [ebp - 0x2260]
push eax
push 0
mov ecx, dword [ebp - 0x2278]
push ecx
mov edx, dword [ebp - 0x227c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x227c]
push ecx
mov edx, dword [eax + 0x50]
call edx
cmp dword [ebp - 0x2260], 0
je 0x401970
push 0x105
mov edx, dword [ebp - 0x2260]
lea ecx, [ebp - 0x210]
call sub.Cpprtex.dll_Ordinal_9
mov eax, dword [ebp - 0x2260]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [ebp - 0x227c]
push ecx
mov edx, dword [ebp - 0x2250]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2250]
push ecx
mov edx, dword [eax + 0x14]
call edx
neg eax
sbb eax, eax
add eax, 1
mov dword [ebp - 0x2244], eax
mov dword [ebp - 0x27c], 0xf
mov eax, dword [ebp - 0x224c]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], 0
mov ecx, dword [ebp - 0x224c]
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x2244]
add edx, 2
mov dword [ebp - 0x260], edx
mov eax, dword [ebp - 0x214]
sub eax, dword [ebp - 0x224c]
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 3
mov dword [ebp - 0x270], eax
lea ecx, [ebp - 0x27c]
push ecx
push 0
push 0x104d
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x27c], 1
mov dword [ebp - 0x274], 1
push 0x40
lea eax, [ebp - 0x2240]
push eax
lea ecx, [ebp - 0x2270]
push ecx
call dword [sym.imp.ole32.dll_StringFromGUID2]
push 0x105
lea edx, [ebp - 0x2240]
lea ecx, [ebp - 0x210]
call sub.Cpprtex.dll_Ordinal_9
lea edx, [ebp - 0x27c]
push edx
push 0
push 0x104c
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x274], 2
push 0x105
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp - 0x2244]
add edx, 0x66
push edx
mov eax, dword [0x40de44]
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
lea ecx, [ebp - 0x27c]
push ecx
push 0
push 0x104c
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x227c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x227c]
push edx
mov eax, dword [ecx + 8]
call eax
mov ecx, dword [ebp - 0x224c]
add ecx, 1
mov dword [ebp - 0x224c], ecx
jmp 0x4016a7
mov edx, dword [ebp - 0x2258]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2258]
push ecx
mov edx, dword [eax + 8]
call edx
mov eax, dword [ebp - 0x2250]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2250]
push edx
mov eax, dword [ecx + 8]
call eax
mov ecx, dword [ebp - 0x2278]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2278]
push eax
mov ecx, dword [edx + 8]
call ecx
call dword [sym.imp.ole32.dll_OleUninitialize]
mov ecx, dword [ebp + 0xc]
call fcn.00401120
mov dword [ebp - 0x248], eax
cmp dword [ebp + 0x10], 0
jne 0x401a03
cmp dword [ebp - 0x248], 0
je 0x401a03
mov dword [ebp - 0x229c], 1
jmp 0x401a0d
mov dword [ebp - 0x229c], 0
mov edx, dword [ebp - 0x229c]
push edx
mov edx, 0x3e8
mov ecx, dword [ebp + 8]
call sub.WINXX.dll_Ordinal_30
cmp dword [ebp + 0x10], 0
jne 0x401a3c
cmp dword [ebp - 0x248], 0xffffffff
jne 0x401a3c
mov dword [ebp - 0x22a0], 8
jmp 0x401a46
mov dword [ebp - 0x22a0], 0
mov eax, dword [ebp - 0x22a0]
push eax
push 0x3eb
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov esp, ebp
pop ebp
ret