Function at 0x42d941
Capabilities:
Capture screenshot

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x1f4
push esi
mov esi, dword [ebp + 0x78]
lea eax, [ebp + 0x3c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
jne 0x42d966
mov eax, esi
jmp 0x42df5d
push ebx
push edi
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
mov dword [ebp + 0x54], eax
call edi
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x54], ebx
je 0x42df59
cmp eax, ebx
je 0x42df59
lea eax, [ebp - 0x184]
push eax
push 0x18
push dword [ebp + 0x4c]
call dword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x42df59
cmp dword [ebp + 0x4c], ebx
je 0x42df59
push dword [ebp + 0x4c]
mov esi, dword [ebp - 0x17c]
push dword [ebp + 0x64]
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp + 0x7c]
movzx ecx, word [eax]
mov ax, word [eax + 2]
xor edx, edx
mov word [ebp + 0x60], ax
xor eax, eax
cmp esi, 0x14
mov word [ebp + 0x58], cx
mov word [ebp + 0x5a], dx
mov word [ebp + 0x62], ax
jle 0x42ddcf
mov eax, esi
imul eax, eax, 0xa
cdq
and edx, 0x3f
add eax, edx
mov edi, eax
sar edi, 6
mov dword [ebp + 0x68], edi
cmp esi, 0x10
je 0x42da70
cmp esi, 0x18
je 0x42da60
cmp esi, 0x20
je 0x42da50
cmp esi, 0x30
je 0x42da40
cmp esi, 0x40
je 0x42da30
mov eax, edi
imul eax, eax, 0xffffffe3
push 0xa
cdq
pop ecx
idiv ecx
mov dword [ebp + 0x6c], 6
mov dword [ebp + 0x7c], eax
jmp 0x42da7a
mov dword [ebp + 0x7c], 0xffffffe2
mov dword [ebp + 0x6c], 5
jmp 0x42da7a
mov dword [ebp + 0x7c], 0xffffffe9
mov dword [ebp + 0x6c], 4
jmp 0x42da7a
mov dword [ebp + 0x7c], 0xfffffff0
mov dword [ebp + 0x6c], 3
jmp 0x42da7a
mov dword [ebp + 0x7c], 0xfffffff4
mov dword [ebp + 0x6c], 2
jmp 0x42da7a
mov dword [ebp + 0x7c], 0xfffffff7
mov dword [ebp + 0x6c], ebx
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], eax
push 0xfffffffffffffffd
pop ecx
push 0xfffffffffffffff6
mov eax, edi
cdq
pop edi
idiv edi
push 0xa
pop edi
push 0xfffffffffffffffa
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xa0], ecx
or dword [ebp - 4], 0xffffffff
or dword [ebp + 0xc], 0xffffffff
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], esi
mov dword [ebp], 0xfffffffc
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xfffffffb
cdq
idiv edi
mov dword [ebp + 0x10], 0xfffffff9
mov dword [ebp + 0x14], esi
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x24], esi
mov dword [ebp + 0x28], esi
mov dword [ebp - 0xb4], 4
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], 5
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], 6
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], 8
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x70], 0xfffffff7
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], 0xe
mov dword [ebp - 0x60], 0xfffffff4
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
mov dword [ebp + 0x20], eax
pop eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xe
push edi
cdq
pop ecx
mov edi, ecx
idiv edi
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xfffffff6
cdq
idiv ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
cmp eax, dword [0x4a1aa8]
je 0x42dd31
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], 0x2bc
mov byte [ebp - 0xfc], bl
mov byte [ebp - 0xfb], bl
mov byte [ebp - 0xfa], bl
mov byte [ebp - 0xf9], bl
mov byte [ebp - 0xf8], 1
mov byte [ebp - 0xf7], 2
mov byte [ebp - 0xf6], 1
mov byte [ebp - 0xf5], 0x31
mov esi, str.Consolas
lea edi, [ebp - 0xf4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x2e
lea eax, [ebp - 0xe2]
push ebx
push eax
movsw word es:[edi], word [esi]
call fcn.004476fd
mov eax, dword [ebp + 0x7c]
push 6
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], 0x2bc
mov byte [ebp - 0x158], bl
mov byte [ebp - 0x157], bl
mov byte [ebp - 0x156], bl
mov byte [ebp - 0x155], bl
mov byte [ebp - 0x154], 1
mov byte [ebp - 0x153], 2
mov byte [ebp - 0x152], 1
mov byte [ebp - 0x151], 0x31
mov esi, str.Consolas
lea edi, [ebp - 0x150]
push 0x2e
push ebx
add eax, dword [ebp + 0x7c]
mov dword [ebp - 0x16c], 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 - 0x13e]
push eax
movsw word es:[edi], word [esi]
call fcn.004476fd
add esp, 0x18
cmp dword [0x509b18], 6
jae 0x42dcf5
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edi, 0x470968
push edi
lea eax, [ebp - 0xf4]
push eax
call esi
push edi
lea eax, [ebp - 0x150]
push eax
call esi
mov eax, dword [ebp + 0x6c]
dec dword [ebp - 0x110]
dec dword [ebp - 0x16c]
shl eax, 4
add dword [ebp + eax - 0x40], 2
lea eax, [ebp + eax - 0xb0]
add dword [eax], 2
mov eax, dword [0x50071c]
cmp eax, ebx
je 0x42dd0f
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
push eax
call esi
push dword [0x500720]
call esi
mov esi, dword [sym.imp.GDI32.dll_CreateFontIndirectW]
lea eax, [ebp - 0x110]
push eax
call esi
mov dword [0x50071c], eax
lea eax, [ebp - 0x16c]
push eax
call esi
mov dword [0x500720], eax
mov edi, dword [ebp + 0x64]
push 1
push edi
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp dword [0x50a120], ebx
je 0x42dd4c
mov eax, dword [0x4a1ad8]
jmp 0x42dd54
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x50a120]
neg eax
sbb eax, eax
and eax, dword [0x4a1adc]
push eax
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [0x50071c]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [ebp + 0x6c]
push ebx
push ebx
shl esi, 4
lea eax, [ebp + esi - 0x44]
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x58]
push eax
push edi
mov edi, dword [sym.imp.USER32.dll_DrawTextExW]
call edi
cmp word [ebp + 0x60], bx
je 0x42df1d
push dword [0x500720]
push dword [ebp + 0x64]
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
push ebx
lea eax, [ebp + esi - 0xb4]
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0x64]
call edi
jmp 0x42df1d
push 7
pop edx
cmp esi, 0x10
jne 0x42dde5
mov esi, 0x1f9
mov dword [ebp + 0x7c], 5
jmp 0x42dded
mov esi, 0x1fa
mov dword [ebp + 0x7c], edx
or dword [ebp + 0x6c], 0xffffffff
movzx eax, cx
sub eax, 0x46
je 0x42de1c
push 2
pop ecx
sub eax, ecx
je 0x42de17
sub eax, 4
je 0x42de12
sub eax, edx
jne 0x42de23
mov dword [ebp + 0x6c], 3
jmp 0x42de23
mov dword [ebp + 0x6c], ebx
jmp 0x42de23
mov dword [ebp + 0x6c], ecx
jmp 0x42de23
mov dword [ebp + 0x6c], 1
movzx eax, si
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_LoadBitmapW]
push ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
mov dword [ebp + 0x5c], eax
call edi
push esi
push eax
mov dword [ebp + 0x68], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [0x50a120]
mov esi, dword [sym.imp.GDI32.dll_BitBlt]
cmp eax, ebx
je 0x42dee4
push dword [ebp + 0x5c]
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 + 0x50], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp + 0x7c]
push 4
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], 0x19
mov dword [ebp + 0x38], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea eax, [ebp + 0x2c]
push eax
push edi
call dword [sym.imp.USER32.dll_FillRect]
push 0x330008
push ebx
push ebx
push dword [ebp + 0x68]
push dword [ebp + 0x7c]
push 0x19
push ebx
push ebx
push edi
call esi
push 0xcc0020
push ebx
push ebx
push edi
push dword [ebp + 0x7c]
push 0x19
push ebx
push ebx
push dword [ebp + 0x68]
call esi
push dword [ebp + 0x50]
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [0x50a120]
neg eax
sbb eax, eax
and eax, 0x65ffc0
add eax, 0x8800c6
push eax
mov eax, dword [ebp + 0x6c]
imul eax, eax, 5
push ebx
push eax
push dword [ebp + 0x68]
push dword [ebp + 0x7c]
push 5
push ebx
push ebx
push dword [ebp + 0x64]
call esi
push dword [ebp + 0x68]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp + 0x5c]
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
lea eax, [ebp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
push dword [ebp + 0x4c]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, eax
call esi
push dword [ebp + 0x48]
call esi
push dword [ebp + 0x64]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp + 0x54]
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_DestroyIcon]
mov eax, edi
jmp 0x42df5b
mov eax, esi
pop edi
pop ebx
pop esi
add ebp, 0x70
leave
ret 8