Function at 0x40bf8a
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.0040eb84
mov ebx, eax
mov edx, dword [ebx]
push edx
lea eax, [ebp - 0xc0]
push eax
push ebx
call fcn.00410720
push dword [ebp - 0x70]
push 6
call fcn.0040ec66
mov esi, eax
mov eax, dword [0x41a333]
cmp dword [ebp + 0xc], eax
jne 0x40bffc
cmp dword [0x41ade9], 0
jne 0x40bffc
cmp dword [esi + 0x18], 0
je 0x40bff3
push dword [esi + 0x18]
call sub.USER32.dll_DestroyWindow
mov dword [esi + 0x18], 0
mov dword [ebp - 0x1c], 1
jmp 0x40c003
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 0x40c02f
or dword [ebp - 0xc], 0x8000
cmp dword [ebp - 0xa0], 0
jne 0x40c041
or dword [ebp - 0xc], 0x100
jmp 0x40c05a
cmp dword [ebp - 0xa0], 1
jne 0x40c053
or dword [ebp - 0xc], 0x200
jmp 0x40c05a
or dword [ebp - 0xc], 0x300
cmp dword [ebp - 0x98], 0
jne 0x40c06c
or dword [ebp - 0xc], 0x400
jmp 0x40c085
cmp dword [ebp - 0x98], 1
jne 0x40c07e
or dword [ebp - 0xc], 0x800
jmp 0x40c085
or dword [ebp - 0xc], 0xc00
cmp dword [ebp - 0xb8], 2
je 0x40c097
cmp dword [ebp - 0xb8], 1
jne 0x40c0a4
cmp dword [ebp - 0x9c], 1
jne 0x40c0a4
or dword [ebp - 0xc], 0x20
cmp dword [ebp - 0xb8], 2
jne 0x40c0b3
or dword [ebp - 0xc], 4
jmp 0x40c0c9
cmp dword [ebp - 0xb8], 1
jne 0x40c0c2
or dword [ebp - 0xc], 2
jmp 0x40c0c9
mov dword [ebp - 0xc], 0x4000200b
push 0
push dword [section..data]
push dword [ebp - 0x70]
push dword [0x41a004]
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.00405652
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 0x40c14d
push 0x40c637
push 0xfffffffffffffffc
push dword [ebp - 4]
call sub.USER32.dll_SetWindowLongA
mov dword [ebp - 0xc8], eax
push dword [ebp - 0x90]
pop dword [esi + 0xc]
push dword [ebp - 0x8c]
pop dword [esi + 0x14]
push dword [ebp - 0x24]
pop dword [esi]
push dword [ebp - 4]
pop dword [esi + 0x18]
push dword [ebp - 0xc4]
pop dword [esi + 4]
push dword [ebp - 0xc8]
pop dword [esi + 0x24]
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.0040554c
mov dword [ebp - 0x18], eax
cmp dword [esi + 0x20], 0
jne 0x40c204
push dword [ebp - 0x60]
pop dword [ebp - 0x14]
jmp 0x40c20a
push dword [esi + 0x1c]
pop dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jne 0x40c219
mov dword [ebp - 0x14], 1
jmp 0x40c220
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 0x40c2fe
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], 0
mov dword [esi], 0
mov dword [esi + 0x18], 0
mov dword [esi + 4], 0
mov dword [esi + 0x24], 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 0x40c2f6
push dword [ebp - 0xc8]
push 0xfffffffffffffffc
push dword [ebp - 4]
call sub.USER32.dll_SetWindowLongA
push dword [ebp - 4]
call sub.USER32.dll_DestroyWindow
pop esi
pop edx
pop ebx
leave
ret 0xc