Function at 0x42db99
Capabilities:
Capture screenshot

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x1fc
push esi
mov esi, dword [ebp + 0x78]
lea eax, [ebp + 0x34]
push eax
push esi
call dword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
jne 0x42dbbe
mov eax, esi
jmp 0x42e1da
push ebx
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push ebx
mov dword [ebp + 0x50], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x50], ebx
je 0x42e1d7
cmp eax, ebx
je 0x42e1d7
lea eax, [ebp - 0x18c]
push eax
push 0x18
push dword [ebp + 0x44]
call dword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x42e1d7
cmp dword [ebp + 0x44], ebx
je 0x42e1d7
mov esi, dword [ebp - 0x184]
push edi
push dword [ebp + 0x44]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp + 0x60]
call edi
mov dword [ebp + 0x48], eax
mov eax, dword [ebp + 0x7c]
movzx ecx, word [eax]
mov ax, word [eax + 2]
xor edx, edx
mov word [ebp + 0x58], ax
xor eax, eax
cmp esi, 0x14
mov word [ebp + 0x54], cx
mov word [ebp + 0x56], dx
mov word [ebp + 0x5a], ax
jle 0x42e038
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 0x42dccb
cmp esi, 0x18
je 0x42dcbb
cmp esi, 0x20
je 0x42dcab
cmp esi, 0x30
je 0x42dc9b
cmp esi, 0x40
je 0x42dc8b
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 0x42dcd5
mov dword [ebp + 0x7c], 0xffffffe2
mov dword [ebp + 0x6c], 5
jmp 0x42dcd5
mov dword [ebp + 0x7c], 0xffffffe9
mov dword [ebp + 0x6c], 4
jmp 0x42dcd5
mov dword [ebp + 0x7c], 0xfffffff0
mov dword [ebp + 0x6c], 3
jmp 0x42dcd5
mov dword [ebp + 0x7c], 0xfffffff4
mov dword [ebp + 0x6c], 2
jmp 0x42dcd5
mov dword [ebp + 0x7c], 0xfffffff7
mov dword [ebp + 0x6c], ebx
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
push 0xfffffffffffffffd
pop ecx
push 0xfffffffffffffff6
mov eax, edi
cdq
pop edi
idiv edi
push 0xa
pop edi
push 0xfffffffffffffffa
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xa8], ecx
or dword [ebp - 0xc], 0xffffffff
or dword [ebp + 4], 0xffffffff
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], 0xfffffffc
mov dword [ebp - 4], esi
mov dword [ebp], esi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xfffffffb
cdq
idiv edi
mov dword [ebp + 8], 0xfffffff9
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x10], esi
mov dword [ebp + 0x1c], esi
mov dword [ebp + 0x20], esi
mov dword [ebp - 0xbc], 4
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xac], 5
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], 6
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], 8
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x78], 0xfffffff7
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], 0xe
mov dword [ebp - 0x68], 0xfffffff4
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp + 0x18], eax
pop eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xe
push edi
cdq
pop ecx
mov edi, ecx
idiv edi
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xfffffff6
cdq
idiv ecx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
cmp eax, dword [0x5096d8]
je 0x42dfa0
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x164], 0x2bc
mov byte [ebp - 0x160], bl
mov byte [ebp - 0x15f], bl
mov byte [ebp - 0x15e], bl
mov byte [ebp - 0x15d], bl
mov byte [ebp - 0x15c], 1
mov byte [ebp - 0x15b], 2
mov byte [ebp - 0x15a], 1
mov byte [ebp - 0x159], 0x31
mov esi, str.Consolas
lea edi, [ebp - 0x158]
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 - 0x146]
push ebx
push eax
movsw word es:[edi], word [esi]
call fcn.00448216
mov eax, dword [ebp + 0x7c]
push 6
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x108], 0x2bc
mov byte [ebp - 0x104], bl
mov byte [ebp - 0x103], bl
mov byte [ebp - 0x102], bl
mov byte [ebp - 0x101], bl
mov byte [ebp - 0x100], 1
mov byte [ebp - 0xff], 2
mov byte [ebp - 0xfe], 1
mov byte [ebp - 0xfd], 0x31
mov esi, str.Consolas
lea edi, [ebp - 0xfc]
push 0x2e
push ebx
add eax, dword [ebp + 0x7c]
mov dword [ebp - 0x118], 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 - 0xea]
push eax
movsw word es:[edi], word [esi]
call fcn.00448216
add esp, 0x18
cmp dword [0x50abf8], 6
jae 0x42df64
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edi, 0x471ae4
push edi
lea eax, [ebp - 0x158]
push eax
call esi
push edi
lea eax, [ebp - 0xfc]
push eax
call esi
mov ecx, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x6c]
inc dword [ebp - 0x174]
inc dword [ebp - 0x118]
xor edx, edx
inc edx
sar ecx, 5
sub edx, ecx
shl eax, 4
add dword [ebp + eax - 0x48], edx
xor edx, edx
inc edx
lea eax, [ebp + eax - 0xb8]
sub edx, ecx
add dword [eax], edx
mov eax, dword [0x50175c]
cmp eax, ebx
je 0x42df7e
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
push eax
call esi
push dword [0x501760]
call esi
mov esi, dword [sym.imp.GDI32.dll_CreateFontIndirectW]
lea eax, [ebp - 0x174]
push eax
call esi
mov dword [0x50175c], eax
lea eax, [ebp - 0x118]
push eax
call esi
mov dword [0x501760], eax
mov esi, dword [ebp + 0x60]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push 1
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [0x50b20c]
push dword [eax*4 + 0x50ada0]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x50b20c]
neg eax
sbb eax, eax
and eax, 0xffffff
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [0x50175c]
push esi
call edi
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x6c]
push ebx
shl eax, 4
push ebx
mov dword [ebp + 0x7c], eax
lea eax, [ebp + eax - 0x4c]
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x54]
push eax
push esi
call dword [sym.imp.USER32.dll_DrawTextExW]
cmp word [ebp + 0x58], bx
je 0x42e02d
push dword [0x501760]
push esi
call edi
mov eax, dword [ebp + 0x7c]
push ebx
push ebx
lea eax, [ebp + eax - 0xbc]
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x58]
push eax
push esi
call dword [sym.imp.USER32.dll_DrawTextExW]
push dword [ebp + 0x5c]
push esi
call edi
jmp 0x42e194
push 7
pop edx
cmp esi, 0x10
jne 0x42e04e
mov esi, 0x1f9
mov dword [ebp + 0x7c], 5
jmp 0x42e056
mov esi, 0x1fa
mov dword [ebp + 0x7c], edx
or dword [ebp + 0x64], 0xffffffff
movzx eax, cx
sub eax, 0x46
je 0x42e085
push 2
pop ecx
sub eax, ecx
je 0x42e080
sub eax, 4
je 0x42e07b
sub eax, edx
jne 0x42e08c
mov dword [ebp + 0x64], 3
jmp 0x42e08c
mov dword [ebp + 0x64], ebx
jmp 0x42e08c
mov dword [ebp + 0x64], ecx
jmp 0x42e08c
mov dword [ebp + 0x64], 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 dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push esi
push eax
mov dword [ebp + 0x68], eax
call edi
mov eax, dword [0x50b20c]
mov esi, dword [sym.imp.GDI32.dll_BitBlt]
cmp eax, ebx
je 0x42e158
push dword [ebp + 0x5c]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp + 0x7c]
mov dword [ebp + 0x6c], eax
push 0x19
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [ebp + 0x6c]
mov dword [ebp + 0x4c], eax
call edi
mov eax, dword [ebp + 0x7c]
push 4
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x2c], 0x19
mov dword [ebp + 0x30], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea eax, [ebp + 0x24]
push eax
push dword [ebp + 0x6c]
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 dword [ebp + 0x6c]
call esi
push 0xcc0020
push ebx
push ebx
push dword [ebp + 0x6c]
push dword [ebp + 0x7c]
push 0x19
push ebx
push ebx
push dword [ebp + 0x68]
call esi
push dword [ebp + 0x4c]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp + 0x6c]
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [0x50b20c]
neg eax
sbb eax, eax
and eax, 0x65ffc0
add eax, 0x8800c6
push eax
mov eax, dword [ebp + 0x64]
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 + 0x60]
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]
mov esi, dword [ebp + 0x60]
push dword [ebp + 0x48]
push esi
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 esi
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp + 0x50]
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_DestroyIcon]
mov eax, dword [ebp + 0x7c]
pop edi
jmp 0x42e1d9
mov eax, esi
pop ebx
pop esi
add ebp, 0x70
leave
ret 8