Function at 0x402028
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov ecx, 0x28
dec ecx
mov dword [esp + ecx*4], 0xfffa5a5a
jne 0x402036
push ebx
push esi
push edi
mov edi, dword [0x433c08]
mov dword [ebp - 0x60], edi
mov dword [0x4359bc], 0x14
mov dword [0x4359c4], 0
mov dword [0x4359c8], 0
mov dword [0x4359cc], 1
mov dword [0x420564], 0
mov edi, dword [0x45f4d0]
cmp edi, 4
je 0x402097
cmp edi, 5
je 0x402097
cmp edi, 6
jne 0x402170
mov eax, 0x98
mul dword [0x45f4e0]
mov dword [ebp - 0x84], eax
mov edi, dword [ebp - 0x84]
cmp dword [edi + 0x4254b8], 2
jne 0x4020bf
mov ebx, 4
jmp 0x4020c4
mov ebx, 1
mov dword [ebp - 0x80], ebx
push dword [ebp - 0x80]
call fcn.0040629b
add esp, 4
push 0x424b70
push 0x429b2c
push 0x4245a8
push 0x434638
call fcn.004062eb
add esp, 0x10
mov dword [0x420558], 0x16
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x88], eax
mov edi, dword [0x4245a8]
mov esi, dword [ebp - 0x88]
mov dword [esi + 0x4355f0], edi
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x8c], eax
mov edi, dword [0x429b2c]
mov esi, dword [ebp - 0x8c]
mov dword [esi + 0x4355f4], edi
push dword [0x424b70]
call fcn.00401ff0
add esp, 4
mov edi, eax
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x90], eax
mov esi, dword [ebp - 0x90]
mov dword [esi + 0x4355fc], edi
jmp 0x402189
call fcn.00403740
mov dword [0x420558], eax
cmp eax, 0
jge 0x402189
mov eax, 0
jmp 0x402628
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x80], eax
mov edi, dword [ebp - 0x80]
cmp dword [edi + 0x4355fc], 2
jne 0x4021ad
mov dword [ebp - 0x64], 1
jmp 0x40220f
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x84], eax
mov edi, dword [ebp - 0x84]
cmp dword [edi + 0x4355fc], 0x10
jne 0x4021d7
mov dword [ebp - 0x64], 8
jmp 0x40220f
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x88], eax
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x4355fc], 0x10000
je 0x402208
cmp dword [edi + 0x4355fc], 0x1000000
jne 0x40220f
mov dword [ebp - 0x64], 0x18
mov edi, dword [0x420558]
cmp edi, 0xb
je 0x40221f
cmp edi, 0x12
jne 0x402230
mov dword [ebp - 0x64], 4
mov dword [0x420574], 0
mov edi, dword [0x420558]
cmp edi, 0x16
jne 0x40228f
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x8c], eax
mov edi, dword [ebp - 0x8c]
cmp dword [edi + 0x4355fc], 0x10000
je 0x40228f
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x90], eax
mov edi, dword [ebp - 0x90]
mov esi, dword [edi + 0x4355f0]
imul esi, dword [edi + 0x4355f4]
mov edi, esi
shl edi, 2
mov dword [ebp - 0x5c], edi
jmp 0x4022c6
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x94], eax
mov edi, dword [ebp - 0x94]
mov esi, dword [edi + 0x4355f0]
imul esi, dword [edi + 0x4355f4]
mov eax, esi
imul eax, dword [ebp - 0x64]
mov ecx, 8
cdq
idiv ecx
mov dword [ebp - 0x5c], eax
mov edi, dword [ebp - 0x5c]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
add edi, eax
push edi
push 0
call sub.KERNEL32.dll_GlobalAlloc
mov dword [0x420568], eax
cmp eax, 0
jne 0x4022f1
mov eax, 0
jmp 0x402628
mov edi, dword [ebp - 0x5c]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
add edi, eax
push edi
push 0
call sub.KERNEL32.dll_GlobalAlloc
mov dword [0x42055c], eax
cmp eax, 0
jne 0x402327
push dword [0x420568]
call sub.KERNEL32.dll_GlobalFree
mov eax, 0
jmp 0x402628
push dword [ebp - 0x64]
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x98], eax
mov edi, dword [ebp - 0x98]
push dword [edi + 0x4355f4]
push dword [edi + 0x4355f0]
push 0x42053c
call fcn.0040443c
add esp, 0x10
cmp eax, 0
jne 0x402381
push dword [0x420568]
call sub.KERNEL32.dll_GlobalFree
push dword [0x42055c]
call sub.KERNEL32.dll_GlobalFree
mov eax, 0
jmp 0x402628
cmp dword [ebp - 0x64], 4
jne 0x4023fe
mov edi, dword [0x420550]
mov byte [edi], 0xff
mov edi, dword [0x420550]
mov byte [edi + 1], 0xff
mov edi, dword [0x420550]
mov byte [edi + 2], 0xff
mov edi, dword [0x420550]
mov byte [edi + 4], 0xa5
mov edi, dword [0x420550]
mov byte [edi + 5], 0xa5
mov edi, dword [0x420550]
mov byte [edi + 6], 0xa5
mov edi, dword [0x420550]
mov byte [edi + 8], 0x4c
mov edi, dword [0x420550]
mov byte [edi + 9], 0x4c
mov edi, dword [0x420550]
mov byte [edi + 0xa], 0x4c
mov edi, dword [0x420550]
mov byte [edi + 0xc], 0
mov edi, dword [0x420550]
mov byte [edi + 0xd], 0
mov edi, dword [0x420550]
mov byte [edi + 0xe], 0
push 0x28
lea edi, [ebp - 0x54]
push edi
call sub.KERNEL32.dll_RtlZeroMemory
mov dword [ebp - 0x54], 3
lea edi, [0x402ae6]
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x38], 0x12
lea edi, str.HardcopyWndClass
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], 0
push 0x7f00
push 0
call sub.USER32.DLL_LoadCursorA
mov dword [ebp - 0x3c], eax
push 0x7f00
push 0
call sub.USER32.DLL_LoadIconA
mov dword [ebp - 0x40], eax
lea edi, [ebp - 0x54]
push edi
call sub.USER32.DLL_RegisterClassA
or ax, ax
jne 0x402482
push dword [0x420568]
call sub.KERNEL32.dll_GlobalFree
push dword [0x42055c]
call sub.KERNEL32.dll_GlobalFree
mov eax, 0
jmp 0x402628
lea edi, [ebp - 0x74]
push edi
push dword [0x420f28]
call sub.USER32.DLL_GetWindowRect
mov edi, dword [ebp - 0x74]
add edi, 0x14
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x70]
add edi, 0x32
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x2c]
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0x9c], eax
mov esi, dword [ebp - 0x9c]
add edi, dword [esi + 0x4355f0]
sub edi, 1
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x28]
mov eax, 0x27
mul dword [0x420558]
mov dword [ebp - 0xa0], eax
mov esi, dword [ebp - 0xa0]
add edi, dword [esi + 0x4355f4]
sub edi, 1
mov dword [ebp - 0x20], edi
push pe_nt_image_headers32
push 0
push 0xc40000
lea edi, [ebp - 0x2c]
push edi
call sub.USER32.DLL_AdjustWindowRectEx
mov edi, dword [ebp - 0x24]
sub edi, dword [ebp - 0x2c]
add edi, 1
mov dword [ebp - 0x78], edi
mov edi, dword [ebp - 0x20]
sub edi, dword [ebp - 0x28]
add edi, 1
mov dword [ebp - 0x7c], edi
push dword [ebp - 0x7c]
push dword [ebp - 0x78]
lea edi, [ebp - 0x28]
push edi
lea edi, [ebp - 0x2c]
push edi
call fcn.0040fb41
add esp, 0x10
push 0
push dword [ebp - 0x60]
push 0
push dword [0x420f28]
push dword [ebp - 0x7c]
push dword [ebp - 0x78]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0xc40000
push 0x435997
push str.HardcopyWndClass
push pe_nt_image_headers32
call sub.USER32.DLL_CreateWindowExA
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jne 0x40258f
push dword [0x420568]
call sub.KERNEL32.dll_GlobalFree
push dword [0x42055c]
call sub.KERNEL32.dll_GlobalFree
mov eax, 0
jmp 0x402628
push 5
push dword [ebp - 0x58]
call sub.USER32.DLL_ShowWindow
push dword [ebp - 0x58]
call fcn.00412309
add esp, 4
push dword [ebp - 0x58]
call sub.USER32.DLL_UpdateWindow
call fcn.00403c3d
push 0x64
call sub.KERNEL32.dll_Sleep
push 0
push 0x14
push 2
push dword [ebp - 0x58]
call sub.USER32.DLL_SetTimer
jmp 0x4025da
lea edi, [ebp - 0x1c]
push edi
call sub.USER32.DLL_TranslateMessage
lea edi, [ebp - 0x1c]
push edi
call sub.USER32.DLL_DispatchMessageA
push 0
push 0
push 0
lea edi, [ebp - 0x1c]
push edi
call sub.USER32.DLL_GetMessageA
cmp eax, 0
jne 0x4025c8
push dword [0x420568]
call sub.KERNEL32.dll_GlobalFree
push dword [0x42055c]
call sub.KERNEL32.dll_GlobalFree
push dword [ebp - 0x60]
push str.HardcopyWndClass
call sub.USER32.DLL_UnregisterClassA
cmp dword [0x42057c], 0
jne 0x402621
mov ebx, 1
jmp 0x402626
mov ebx, 0
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret