Function at 0x42f7aa
Capabilities:
Capture screenshot

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x23c
push ebx
mov ebx, dword [ebp + 0x78]
lea eax, [ebp + 0x34]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
jne 0x42f7cf
mov eax, ebx
jmp 0x42fed0
push esi
push edi
xor esi, esi
push esi
call dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push esi
mov dword [ebp + 0x58], eax
call edi
push esi
mov dword [ebp + 0x64], eax
call edi
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x58], esi
je 0x42fecc
cmp dword [ebp + 0x64], esi
je 0x42fecc
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [ebp - 0x1b4]
push eax
push 0x18
push dword [ebp + 0x44]
call edi
test eax, eax
je 0x42fecc
cmp dword [ebp + 0x44], esi
je 0x42fecc
lea eax, [ebp - 0x1cc]
push eax
push 0x18
push dword [ebp + 0x40]
call edi
test eax, eax
je 0x42fecc
cmp dword [ebp + 0x40], esi
je 0x42fecc
push dword [ebp + 0x44]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp + 0x64]
mov ebx, dword [ebp - 0x1ac]
call edi
push dword [ebp + 0x40]
mov dword [ebp + 0x30], eax
push dword [ebp + 0x5c]
call edi
push 4
mov dword [ebp + 0x28], eax
mov dword [ebp - 4], esi
mov dword [ebp], esi
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x5c]
call dword [sym.imp.USER32.dll_FillRect]
xor eax, eax
mov word [ebp + 0x50], ax
lea edi, [ebp + 0x52]
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp + 0x48], ax
lea edi, [ebp + 0x4a]
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [ebp + 0x7c]
cmp word [edi + 2], 0x2b
jne 0x42f8bb
mov ax, word [edi]
push 0x2b
mov word [ebp + 0x50], ax
pop eax
mov word [ebp + 0x48], ax
jmp 0x42f8c6
push edi
lea eax, [ebp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp ebx, 0x14
jle 0x42fd23
mov eax, ebx
imul eax, eax, 0xa
cdq
and edx, 0x3f
add eax, edx
mov edi, eax
sar edi, 6
mov dword [ebp + 0x68], edi
cmp ebx, 0x10
je 0x42f952
cmp ebx, 0x18
je 0x42f942
cmp ebx, 0x20
je 0x42f932
cmp ebx, 0x30
je 0x42f922
cmp ebx, 0x40
je 0x42f912
mov eax, edi
imul eax, eax, 0xffffffe2
push 0xa
cdq
pop ecx
idiv ecx
mov dword [ebp + 0x6c], 6
mov dword [ebp + 0x7c], eax
jmp 0x42f95c
mov dword [ebp + 0x7c], 0xffffffe2
mov dword [ebp + 0x6c], 5
jmp 0x42f95c
mov dword [ebp + 0x7c], 0xffffffe9
mov dword [ebp + 0x6c], 4
jmp 0x42f95c
mov dword [ebp + 0x7c], 0xfffffff0
mov dword [ebp + 0x6c], 3
jmp 0x42f95c
mov dword [ebp + 0x7c], 0xfffffff4
mov dword [ebp + 0x6c], 2
jmp 0x42f95c
mov dword [ebp + 0x7c], 0xfffffff7
mov dword [ebp + 0x6c], esi
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x60], eax
push 0xfffffffffffffffd
pop ecx
push 0xfffffffffffffff4
mov eax, edi
cdq
pop edi
idiv edi
push 0xa
pop edi
push 0xc
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xd0], ecx
pop ecx
or dword [ebp - 0x34], 0xffffffff
or dword [ebp - 0x24], 0xffffffff
push edi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xfffffff9
cdq
idiv edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xe4], 4
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], 5
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], 6
mov dword [ebp - 0xc0], 0xfffffffa
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], 8
mov dword [ebp - 0xb0], 0xfffffff8
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], 0xb
mov dword [ebp - 0xa0], 0xfffffff6
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0x12
cdq
idiv ecx
pop ecx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], 0xe
mov dword [ebp - 0x90], 0xfffffff4
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xfffffff3
cdq
idiv ecx
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
cmp eax, dword [0x50eb38]
je 0x42fc8b
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x18c], 0x2bc
mov byte [ebp - 0x188], 0
mov byte [ebp - 0x187], 0
mov byte [ebp - 0x186], 0
mov byte [ebp - 0x185], 0
mov byte [ebp - 0x184], 1
mov byte [ebp - 0x183], 2
mov byte [ebp - 0x182], 1
mov byte [ebp - 0x181], 0x31
mov esi, str.Consolas
lea edi, [ebp - 0x180]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x2e
xor esi, esi
lea eax, [ebp - 0x16e]
push esi
push eax
call fcn.0044b15e
mov eax, dword [ebp + 0x7c]
push 7
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x130], 0x2bc
mov byte [ebp - 0x12c], 0
mov byte [ebp - 0x12b], 0
mov byte [ebp - 0x12a], 0
mov byte [ebp - 0x129], 0
mov byte [ebp - 0x128], 1
mov byte [ebp - 0x127], 2
mov byte [ebp - 0x126], 1
mov byte [ebp - 0x125], 0x31
mov esi, str.Consolas
lea edi, [ebp - 0x124]
push 0x2e
push 0
add eax, dword [ebp + 0x7c]
mov dword [ebp - 0x140], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x112]
push eax
movsw word es:[edi], word [esi]
call fcn.0044b15e
add esp, 0x18
cmp dword [0x510068], 6
jae 0x42fc4d
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov esi, 0x475a68
push esi
lea eax, [ebp - 0x180]
push eax
call edi
push esi
lea eax, [ebp - 0x124]
push eax
call edi
and dword [ebp + 0xc], 0
and dword [ebp + 0x10], 0
inc dword [ebp - 0x19c]
inc dword [ebp - 0x140]
mov eax, ebx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
add eax, 3
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x6c]
mov ecx, eax
shl ecx, 4
mov dword [ebp + 0x14], 1
mov dword [ebp + 0x18], 4
mov dword [ebp + 0x1c], 6
mov dword [ebp + 0x20], 7
mov eax, dword [ebp + eax*4 + 0xc]
add dword [ebp + ecx - 0x70], eax
lea ecx, [ebp + ecx - 0xe0]
add dword [ecx], eax
mov eax, dword [0x5067bc]
test eax, eax
je 0x42fc67
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
push eax
call esi
push dword [0x5067c0]
call esi
mov esi, dword [sym.imp.GDI32.dll_CreateFontIndirectW]
lea eax, [ebp - 0x19c]
push eax
call esi
mov dword [0x5067bc], eax
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [0x5067c0], eax
xor esi, esi
mov ebx, dword [ebp + 0x64]
push 1
push ebx
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [0x510680]
push dword [eax*4 + 0x510210]
push ebx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x510680]
neg eax
sbb eax, eax
and eax, 0xffffff
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [0x5067bc]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call edi
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x6c]
push esi
shl eax, 4
push esi
mov dword [ebp + 0x7c], eax
lea eax, [ebp + eax - 0x74]
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x50]
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawTextExW]
cmp word [ebp + 0x48], si
je 0x42fd18
push dword [0x5067c0]
push ebx
call edi
mov eax, dword [ebp + 0x7c]
push esi
push esi
lea eax, [ebp + eax - 0xe4]
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x48]
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawTextExW]
push dword [ebp + 0x60]
push ebx
call edi
jmp 0x42fe82
cmp ebx, 0x10
jne 0x42fd36
mov edx, 0x1f9
mov dword [ebp + 0x7c], 5
jmp 0x42fd42
mov edx, 0x1fa
mov dword [ebp + 0x7c], 7
movzx eax, word [edi]
or dword [ebp + 0x6c], 0xffffffff
sub eax, 0x46
je 0x42fd72
push 2
pop ecx
sub eax, ecx
je 0x42fd6d
sub eax, 4
je 0x42fd68
sub eax, 7
jne 0x42fd79
mov dword [ebp + 0x6c], 3
jmp 0x42fd79
mov dword [ebp + 0x6c], esi
jmp 0x42fd79
mov dword [ebp + 0x6c], ecx
jmp 0x42fd79
mov dword [ebp + 0x6c], 1
movzx eax, dx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_LoadBitmapW]
push esi
mov ebx, eax
call dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
mov dword [ebp + 0x60], eax
call edi
push ebx
push eax
mov dword [ebp + 0x68], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [0x510680]
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
cmp eax, esi
je 0x42fe40
push dword [ebp + 0x60]
call edi
push dword [ebp + 0x7c]
mov edi, eax
push 0x19
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push edi
mov dword [ebp + 0x2c], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp + 0x7c]
push 4
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x1c], esi
mov dword [ebp + 0x20], 0x19
mov dword [ebp + 0x24], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea eax, [ebp + 0x18]
push eax
push edi
call dword [sym.imp.USER32.dll_FillRect]
push 0x330008
push esi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x7c]
push 0x19
push esi
push esi
push edi
call ebx
push 0xcc0020
push esi
push esi
push edi
push dword [ebp + 0x7c]
push 0x19
push esi
push esi
push dword [ebp + 0x68]
call ebx
push dword [ebp + 0x2c]
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [0x510680]
neg eax
sbb eax, eax
and eax, 0x65ffc0
add eax, 0x8800c6
push eax
mov eax, dword [ebp + 0x6c]
imul eax, eax, 5
push esi
push eax
push dword [ebp + 0x68]
push dword [ebp + 0x7c]
push 5
push esi
push esi
push dword [ebp + 0x64]
call ebx
push dword [ebp + 0x68]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp + 0x60]
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov ebx, dword [ebp + 0x64]
push dword [ebp + 0x30]
push ebx
call edi
push dword [ebp + 0x28]
push dword [ebp + 0x5c]
call edi
lea eax, [ebp + 0x34]
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
push dword [ebp + 0x44]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [ebp + 0x7c], eax
call edi
push dword [ebp + 0x40]
call edi
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp + 0x58]
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_DestroyIcon]
mov eax, dword [ebp + 0x7c]
jmp 0x42fece
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8