Function at 0x42ea40
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x5bd254]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push edi
cmp dword [ebp + 0x24], 0
jle 0x42ea6f
mov eax, dword [ebp + 0x24]
mov ecx, dword [0x6a2eb0]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x14c], edx
jmp 0x42ea79
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 4], eax
cmp dword [0x6a1418], 0
jne 0x42eaed
cmp dword [0x6a141c], 0
jne 0x42eaed
cmp dword [ebp + 0x24], 0
jle 0x42eaed
mov dword [ebp - 0xa0], 0x94
lea ecx, [ebp - 0xa0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x9c], 4
jbe 0x42eaed
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.MSIMG32.dll_TransparentBlt]
jmp 0x42f3c8
cmp dword [ebp + 0x24], 0
jg 0x42eb23
mov edx, dword [ebp + 0x28]
push edx
push 0
push 0
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, 1
jmp 0x42f3c8
cmp dword [0x6a1418], 0
jne 0x42ed95
cmp dword [0x6a141c], 0
jne 0x42ed95
mov eax, dword [sym.convertifd.exe_i_window]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xb4], eax
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xa8], eax
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebp - 0xb0], eax
push 0
push 1
push 1
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xb8], eax
push 0xffffff
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov dword [ebp - 0xac], eax
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [sym.convertifd.exe_i_window]
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0xcc0020
push 0
push 0
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
mov eax, dword [ebp - 0xb4]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
mov eax, dword [ebp - 0xa8]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
push 0
mov ecx, dword [ebp - 0xb4]
push ecx
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0xffffff
mov edx, dword [ebp - 0xb4]
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0x8800c6
push 0
push 0
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
mov eax, dword [ebp - 0xb4]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
push 0x8800c6
push 0
push 0
mov ecx, dword [ebp - 0xa8]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
push 0xee0086
push 0
push 0
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [ebp - 0xa4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xb4]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0xb4]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0xb0]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebp - 0xa8]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x42f3c3
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xe8], 0
push 1
push 1
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp + 0x1c]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [ebp - 0x10c]
push ecx
push 0x18
mov edx, dword [ebp + 0x20]
push edx
call dword [sym.imp.GDI32.dll_GetObjectA]
push 0x28
push 0
lea eax, [ebp - 0x134]
push eax
call fcn.00511e90
add esp, 0xc
mov dword [ebp - 0x134], 0x28
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x12c], edx
mov word [ebp - 0x128], 1
movzx eax, word [ebp - 0xfc]
movzx ecx, word [ebp - 0xfa]
imul eax, ecx
mov word [ebp - 0x126], ax
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
movzx edx, word [ebp - 0x126]
cmp edx, 1
jg 0x42ee8f
mov dword [ebp - 0x150], 1
jmp 0x42eed1
movzx eax, word [ebp - 0x126]
cmp eax, 4
jg 0x42eea7
mov dword [ebp - 0x154], 4
jmp 0x42eec5
movzx ecx, word [ebp - 0x126]
xor edx, edx
cmp ecx, 8
setg dl
sub edx, 1
and edx, 0xfffffff0
add edx, 0x18
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x150], eax
mov cx, word [ebp - 0x150]
mov word [ebp - 0x126], cx
movzx edx, word [ebp - 0x126]
cmp edx, 0x18
jge 0x42ef04
movzx ecx, word [ebp - 0x126]
mov eax, 1
shl eax, cl
shl eax, 2
mov dword [ebp - 0x158], eax
jmp 0x42ef0e
mov dword [ebp - 0x158], 0
mov ecx, dword [ebp - 0x134]
add ecx, dword [ebp - 0x158]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x138]
push edx
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jne 0x42ef45
xor eax, eax
jmp 0x42f3c8
mov eax, dword [ebp - 0xdc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0xd0], eax
mov ecx, 0xa
lea esi, [ebp - 0x134]
mov edi, dword [ebp - 0xd0]
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, dword [ebp - 0xd0]
push ecx
push 0
mov edx, dword [ebp + 0x18]
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
jne 0x42eff9
mov edx, dword [0x6a291c]
mov dword [ebp - 0x140], edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebp - 0xd4]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0xdc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0xdc]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x6a291c], 1
push 0xffffdc3b
call sym.convertifd.exe_IpMessage
add esp, 4
mov edx, dword [ebp - 0x140]
mov dword [0x6a291c], edx
xor eax, eax
jmp 0x42f3c8
mov esi, dword [ebp - 0xd0]
mov ecx, 0xa
lea edi, [ebp - 0x134]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xdc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push 0x40
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x138]
lea eax, [edx + ecx + 1]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalReAlloc]
mov dword [ebp - 0xdc], eax
mov edx, dword [ebp - 0xdc]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0x138]
mov dword [ebp - 0xe8], eax
push 0
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xe8]
push edx
mov eax, dword [ebp + 0x18]
push eax
push 0
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
jne 0x42f0f5
mov eax, dword [0x6a291c]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0xd4]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0xdc]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [ebp - 0xdc]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x6a291c], 1
push 0xffffdc3b
call sym.convertifd.exe_IpMessage
add esp, 4
mov eax, dword [ebp - 0x144]
mov dword [0x6a291c], eax
xor eax, eax
jmp 0x42f3c8
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 0xe]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xe0]
cmp dword [ecx + 0x20], 0
je 0x42f12e
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x15c], eax
jmp 0x42f141
mov edx, 1
mov ecx, dword [ebp - 0xc8]
shl edx, cl
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0xd4]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0xe0]
movzx edx, word [ecx + 0xe]
cmp edx, 8
jle 0x42f192
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0x20]
mov edx, dword [ebp - 0xe0]
lea eax, [edx + ecx*4 + 0x28]
mov dword [ebp - 0xe4], eax
jmp 0x42f1a8
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xe0]
lea eax, [edx + ecx*4 + 0x28]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp + 0x18]
lea edx, [ecx*4 + 4]
push edx
call sym.convertifd.exe_IpMalloc
add esp, 4
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
jne 0x42f1db
push 0xfffffffffffffff9
call sym.convertifd.exe_IpMessage
add esp, 4
xor eax, eax
jmp 0x42f3c8
mov dword [ebp - 0xcc], 0
jmp 0x42f1f6
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
cmp ecx, dword [ebp + 0x18]
jg 0x42f265
mov edx, dword [ebp + 0x14]
add edx, 2
push edx
call sym.convertifd.exe_IpMalloc
add esp, 4
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xec]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xec]
cmp dword [ecx + eax*4], 0
jne 0x42f242
push 0xfffffffffffffff9
call sym.convertifd.exe_IpMessage
add esp, 4
xor eax, eax
jmp 0x42f3c8
mov edx, dword [ebp + 0x14]
add edx, 1
push edx
push 0x2e
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + eax*4]
push edx
call fcn.00511e90
add esp, 0xc
jmp 0x42f1e7
mov dword [ebp - 0x13c], 0
jmp 0x42f280
mov eax, dword [ebp - 0x13c]
add eax, 1
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp + 0x18]
jge 0x42f31c
mov dword [ebp - 0xf0], 0
jmp 0x42f2aa
mov edx, dword [ebp - 0xf0]
add edx, 1
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp + 0x14]
jge 0x42f317
mov ecx, dword [ebp - 0xe0]
add ecx, 0x28
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
mov eax, dword [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0042f950
add esp, 0x1c
mov dword [ebp - 0x148], eax
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 4]
je 0x42f315
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0xf0]
mov byte [edx + eax], 0x23
jmp 0x42f29b
jmp 0x42f271
mov ecx, dword [ebp + 0x2c]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xec]
push eax
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042f3e0
add esp, 0x28
test eax, eax
jne 0x42f35a
xor eax, eax
jmp 0x42f3c8
mov dword [ebp - 0xcc], 0
jmp 0x42f375
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp + 0x18]
jg 0x42f39a
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + ecx*4]
push eax
call sym.convertifd.exe_IpFree
add esp, 4
jmp 0x42f366
mov ecx, dword [ebp - 0xec]
push ecx
call sym.convertifd.exe_IpFree
add esp, 4
mov edx, dword [ebp - 0xdc]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0xdc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, 1
pop edi
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00511a80
mov esp, ebp
pop ebp
ret