Function at 0x4156a7
Capabilities:
Capture screenshot
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff38
push ebx
push edx
push esi
mov dword [ebp - 0xc8], 0
mov eax, dword [ebp + 0x10]
push dword [eax + 4]
push dword [eax]
call fcn.00418457
mov ebx, eax
mov edx, dword [ebx]
push edx
lea eax, [ebp - 0xc0]
push eax
push ebx
call fcn.0041df10
push dword [ebp - 0x70]
push 6
call fcn.00418539
mov esi, eax
mov eax, dword [0x4298e9]
cmp dword [ebp + 0xc], eax
jne 0x415719
cmp dword [0x42abe1], 0
jne 0x415719
cmp dword [esi + 0x1c], 0
je 0x415710
push dword [esi + 0x1c]
call sub.USER32.dll_DestroyWindow
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x1c], 1
jmp 0x415720
mov dword [ebp - 0x1c], 0
push dword [ebp - 0x90]
call sub.GDI32.dll_CreateSolidBrush
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc], 0x40002000
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0xa4], 1
jne 0x41574c
or dword [ebp - 0xc], 0x8000
cmp dword [ebp - 0xa0], 0
jne 0x41575e
or dword [ebp - 0xc], 0x100
jmp 0x415777
cmp dword [ebp - 0xa0], 1
jne 0x415770
or dword [ebp - 0xc], 0x200
jmp 0x415777
or dword [ebp - 0xc], 0x300
cmp dword [ebp - 0x98], 0
jne 0x415789
or dword [ebp - 0xc], 0x400
jmp 0x4157a2
cmp dword [ebp - 0x98], 1
jne 0x41579b
or dword [ebp - 0xc], 0x800
jmp 0x4157a2
or dword [ebp - 0xc], 0xc00
cmp dword [ebp - 0xb8], 2
je 0x4157b4
cmp dword [ebp - 0xb8], 1
jne 0x4157c1
cmp dword [ebp - 0x9c], 1
jne 0x4157c1
or dword [ebp - 0xc], 0x20
cmp dword [ebp - 0xb8], 2
jne 0x4157d0
or dword [ebp - 0xc], 4
jmp 0x4157e6
cmp dword [ebp - 0xb8], 1
jne 0x4157df
or dword [ebp - 0xc], 2
jmp 0x4157e6
mov dword [ebp - 0xc], 0x4000200b
push 0
push dword [0x429044]
push dword [ebp - 0x70]
push dword [0x429048]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push dword [ebp - 0xc]
push 0
push str.BUTTON
push dword [ebp - 0x10]
call sub.USER32.dll_CreateWindowExA
mov dword [ebp - 4], eax
push dword [ebp - 0x94]
push dword [ebp - 0x68]
push 0
call fcn.004066e8
mov dword [ebp - 0xc4], eax
push 0
push dword [ebp - 0xc4]
push 0x30
push dword [ebp - 4]
call sub.USER32.dll_SendMessageA
cmp dword [ebp - 0xb8], 0
jne 0x41586a
push 0x415d69
push 0xfffffffffffffffc
push dword [ebp - 4]
call sub.USER32.dll_SetWindowLongA
mov dword [ebp - 0xc8], eax
push dword [ebp - 0x90]
pop dword [esi + 0x10]
push dword [ebp - 0x8c]
pop dword [esi + 0x18]
push dword [ebp - 0x24]
pop dword [esi + 4]
push dword [ebp - 4]
pop dword [esi + 0x1c]
push dword [ebp - 0xc4]
pop dword [esi + 8]
push dword [ebp - 0xc8]
pop dword [esi + 0x28]
mov dword [esi], 4
push esi
push 0xffffffffffffffeb
push dword [ebp - 4]
call sub.USER32.dll_SetWindowLongA
push 1
push dword [ebp - 4]
call sub.USER32.dll_ShowWindow
push dword [ebp - 4]
call sub.USER32.dll_UpdateWindow
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 4]
call sub.USER32.dll_GetWindowRect
push dword [ebp - 4]
call sub.USER32.dll_GetDC
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
call sub.GDI32.dll_CreateCompatibleDC
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
sub dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
sub dword [ebp - 0x34], eax
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x28]
call sub.GDI32.dll_CreateCompatibleBitmap
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x2c]
push dword [ebp - 8]
call sub.GDI32.dll_SelectObject
mov dword [ebp - 0x30], eax
push 0
push dword [ebp - 0x88]
call fcn.004065e2
mov dword [ebp - 0x18], eax
cmp dword [esi + 0x24], 0
jne 0x415928
push dword [ebp - 0x60]
pop dword [ebp - 0x14]
jmp 0x41592e
push dword [esi + 0x20]
pop dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jne 0x41593d
mov dword [ebp - 0x14], 1
jmp 0x415944
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 0xf1
push dword [ebp - 4]
call sub.USER32.dll_SendMessageA
push dword [ebp - 0x18]
push dword [ebp - 4]
call sub.USER32.dll_SetWindowTextA
push 0xe
push dword [ebp - 8]
push 0x317
push dword [ebp - 4]
call sub.USER32.dll_SendMessageA
push 0xcc0020
push 0
push 0
push dword [ebp - 8]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push dword [ebp + 8]
call sub.GDI32.dll_BitBlt
push dword [ebp - 0x30]
push dword [ebp - 8]
call sub.GDI32.dll_SelectObject
push dword [ebp - 0x2c]
call sub.GDI32.dll_DeleteObject
push dword [ebp - 8]
call sub.GDI32.dll_DeleteDC
push dword [ebp - 0x28]
push dword [ebp - 4]
call sub.USER32.dll_ReleaseDC
cmp dword [ebp - 0x1c], 0
jne 0x415a23
mov dword [esi + 0x10], 0
mov dword [esi + 0x18], 0
mov dword [esi + 4], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 8], 0
mov dword [esi + 0x28], 0
push dword [ebp - 0x24]
call sub.GDI32.dll_DeleteObject
push dword [ebp - 0xc4]
call sub.GDI32.dll_DeleteObject
cmp dword [ebp - 0xb8], 0
jne 0x415a1b
push dword [ebp - 0xc8]
push 0xfffffffffffffffc
push dword [ebp - 4]
call sub.USER32.dll_SetWindowLongA
push dword [ebp - 4]
call sub.USER32.dll_DestroyWindow
push 0
push dword [0x429064]
call sub.GDI32.dll_SelectClipRgn
pop esi
pop edx
pop ebx
leave
ret 0xc