Function at 0x42e9bf
Capabilities:
Capture screenshot

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x238
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 0x42e9e4
mov eax, ebx
jmp 0x42f0c4
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 + 0x4c], eax
call edi
push esi
mov dword [ebp + 0x64], eax
call edi
mov dword [ebp + 0x54], eax
cmp dword [ebp + 0x4c], esi
je 0x42f0c0
cmp dword [ebp + 0x64], esi
je 0x42f0c0
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [ebp - 0x1b0]
push eax
push 0x18
push dword [ebp + 0x44]
call edi
test eax, eax
je 0x42f0c0
cmp dword [ebp + 0x44], esi
je 0x42f0c0
lea eax, [ebp - 0x1c8]
push eax
push 0x18
push dword [ebp + 0x40]
call edi
test eax, eax
je 0x42f0c0
cmp dword [ebp + 0x40], esi
je 0x42f0c0
push dword [ebp + 0x44]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp + 0x64]
mov ebx, dword [ebp - 0x1a8]
call edi
push dword [ebp + 0x40]
mov dword [ebp + 0x48], eax
push dword [ebp + 0x54]
call edi
push 4
mov dword [ebp + 0x2c], eax
mov dword [ebp], esi
mov dword [ebp + 4], esi
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea eax, [ebp]
push eax
push dword [ebp + 0x54]
call dword [sym.imp.USER32.dll_FillRect]
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 ebx, 0x14
mov word [ebp + 0x50], cx
mov word [ebp + 0x52], dx
mov word [ebp + 0x5a], ax
jle 0x42ef18
mov eax, ebx
imul eax, eax, 0xa
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov dword [ebp + 0x68], eax
cmp ebx, 0x10
je 0x42eb47
cmp ebx, 0x18
je 0x42eb37
cmp ebx, 0x20
je 0x42eb27
cmp ebx, 0x30
je 0x42eb17
cmp ebx, 0x40
je 0x42eb07
imul eax, eax, 0xffffffe2
cdq
push 0xa
pop ecx
idiv ecx
mov dword [ebp + 0x6c], 6
mov dword [ebp + 0x7c], eax
mov eax, dword [ebp + 0x68]
jmp 0x42eb51
mov dword [ebp + 0x7c], 0xffffffe2
mov dword [ebp + 0x6c], 5
jmp 0x42eb51
mov dword [ebp + 0x7c], 0xffffffe9
mov dword [ebp + 0x6c], 4
jmp 0x42eb51
mov dword [ebp + 0x7c], 0xfffffff0
mov dword [ebp + 0x6c], 3
jmp 0x42eb51
mov dword [ebp + 0x7c], 0xfffffff4
mov dword [ebp + 0x6c], 2
jmp 0x42eb51
mov dword [ebp + 0x7c], 0xfffffff7
mov dword [ebp + 0x6c], esi
push 0xfffffffffffffffe
pop ecx
cdq
push 0xfffffffffffffff4
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x5c], ecx
pop ecx
idiv ecx
push 0xa
pop ecx
push 0xfffffffffffffffd
or dword [ebp - 0x30], 0xffffffff
or dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], 0xfffffffd
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], 0xfffffffb
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xfffffff9
cdq
idiv ecx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xe0], 4
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], 5
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], 6
mov dword [ebp - 0xbc], 0xfffffffa
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], 8
mov dword [ebp - 0xac], 0xfffffff8
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], 0xb
mov dword [ebp - 0x9c], 0xfffffff6
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], 0xe
mov dword [ebp - 0x8c], 0xfffffff4
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0xc], eax
pop eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0x12
cdq
push 0xc
pop ecx
idiv ecx
push 0xa
pop ecx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 0xfffffff3
cdq
idiv ecx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0x74], ebx
cmp eax, dword [0x50cb18]
je 0x42ee86
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x188], 0x2bc
mov byte [ebp - 0x184], 0
mov byte [ebp - 0x183], 0
mov byte [ebp - 0x182], 0
mov byte [ebp - 0x181], 0
mov byte [ebp - 0x180], 1
mov byte [ebp - 0x17f], 2
mov byte [ebp - 0x17e], 1
mov byte [ebp - 0x17d], 0x31
mov esi, str.Consolas
lea edi, [ebp - 0x17c]
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 - 0x16a]
push esi
push eax
call fcn.00449c78
mov eax, dword [ebp + 0x7c]
push 7
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x12c], 0x2bc
mov byte [ebp - 0x128], 0
mov byte [ebp - 0x127], 0
mov byte [ebp - 0x126], 0
mov byte [ebp - 0x125], 0
mov byte [ebp - 0x124], 1
mov byte [ebp - 0x123], 2
mov byte [ebp - 0x122], 1
mov byte [ebp - 0x121], 0x31
mov esi, str.Consolas
lea edi, [ebp - 0x120]
push 0x2e
push 0
add eax, dword [ebp + 0x7c]
mov dword [ebp - 0x13c], 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 - 0x10e]
push eax
movsw word es:[edi], word [esi]
call fcn.00449c78
add esp, 0x18
cmp dword [0x50e048], 6
jae 0x42ee42
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edi, 0x4742a4
push edi
lea eax, [ebp - 0x17c]
push eax
call esi
push edi
lea eax, [ebp - 0x120]
push eax
call esi
and dword [ebp + 0x10], 0
and dword [ebp + 0x14], 0
inc dword [ebp - 0x198]
inc dword [ebp - 0x13c]
mov eax, ebx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
add eax, 3
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x6c]
mov ecx, eax
shl ecx, 4
mov dword [ebp + 0x18], 1
mov dword [ebp + 0x1c], 4
mov dword [ebp + 0x20], 6
mov dword [ebp + 0x24], 7
mov eax, dword [ebp + eax*4 + 0x10]
add dword [ebp + ecx - 0x6c], eax
lea ecx, [ebp + ecx - 0xdc]
add dword [ecx], eax
mov eax, dword [0x50479c]
test eax, eax
je 0x42ee5c
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
push eax
call esi
push dword [0x5047a0]
call esi
mov esi, dword [sym.imp.GDI32.dll_CreateFontIndirectW]
lea eax, [ebp - 0x198]
push eax
call esi
mov dword [0x50479c], eax
lea eax, [ebp - 0x13c]
push eax
call esi
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov dword [0x5047a0], eax
xor esi, esi
mov ebx, dword [ebp + 0x64]
push 1
push ebx
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [0x50e660]
push dword [eax*4 + 0x50e1f0]
push ebx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x50e660]
neg eax
sbb eax, eax
and eax, 0xffffff
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [0x50479c]
push ebx
call edi
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x6c]
push esi
shl eax, 4
push esi
mov dword [ebp + 0x7c], eax
lea eax, [ebp + eax - 0x70]
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x50]
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawTextExW]
cmp word [ebp + 0x58], si
je 0x42ef0d
push dword [0x5047a0]
push ebx
call edi
mov eax, dword [ebp + 0x7c]
push esi
push esi
lea eax, [ebp + eax - 0xe0]
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x58]
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawTextExW]
push dword [ebp + 0x5c]
push ebx
call edi
jmp 0x42f076
cmp ebx, 0x10
jne 0x42ef2b
mov edx, 0x1f9
mov dword [ebp + 0x7c], 5
jmp 0x42ef37
mov edx, 0x1fa
mov dword [ebp + 0x7c], 7
or dword [ebp + 0x68], 0xffffffff
movzx eax, cx
sub eax, 0x46
je 0x42ef67
push 2
pop ecx
sub eax, ecx
je 0x42ef62
sub eax, 4
je 0x42ef5d
sub eax, 7
jne 0x42ef6e
mov dword [ebp + 0x68], 3
jmp 0x42ef6e
mov dword [ebp + 0x68], esi
jmp 0x42ef6e
mov dword [ebp + 0x68], ecx
jmp 0x42ef6e
mov dword [ebp + 0x68], 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]
push eax
mov dword [ebp + 0x5c], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push ebx
push eax
mov dword [ebp + 0x60], eax
call edi
mov eax, dword [0x50e660]
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
cmp eax, esi
je 0x42f03a
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 + 0x30], eax
call edi
mov eax, dword [ebp + 0x7c]
push 4
mov dword [ebp + 0x1c], esi
mov dword [ebp + 0x20], esi
mov dword [ebp + 0x24], 0x19
mov dword [ebp + 0x28], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea eax, [ebp + 0x1c]
push eax
push dword [ebp + 0x6c]
call dword [sym.imp.USER32.dll_FillRect]
push 0x330008
push esi
push esi
push dword [ebp + 0x60]
push dword [ebp + 0x7c]
push 0x19
push esi
push esi
push dword [ebp + 0x6c]
call ebx
push 0xcc0020
push esi
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x7c]
push 0x19
push esi
push esi
push dword [ebp + 0x60]
call ebx
push dword [ebp + 0x30]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp + 0x6c]
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [0x50e660]
neg eax
sbb eax, eax
and eax, 0x65ffc0
add eax, 0x8800c6
push eax
mov eax, dword [ebp + 0x68]
imul eax, eax, 5
push esi
push eax
push dword [ebp + 0x60]
push dword [ebp + 0x7c]
push 5
push esi
push esi
push dword [ebp + 0x64]
call ebx
push dword [ebp + 0x60]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp + 0x5c]
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ebx, dword [ebp + 0x64]
push dword [ebp + 0x48]
push ebx
call edi
push dword [ebp + 0x2c]
push dword [ebp + 0x54]
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 + 0x4c]
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 0x42f0c2
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8