Function at 0x40a1b4
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov eax, dword [0x439b00]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x5c]
push eax
push 0x3ea
mov esi, ecx
call fcn.00409f59
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x5c]
sub eax, ecx
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x78], ecx
push 0x3ec
mov ecx, esi
mov dword [ebp - 0x74], ebx
call fcn.00409f59
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x78]
push 1
push 0
push dword [esi + 4]
mov dword [ebp - 0x80], eax
call dword [sym.imp.USER32.dll_InvalidateRect]
lea eax, [ebx + ebx]
mov ebx, dword [ebp + 0xc]
sub ebx, eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x60], 0x320
push dword [ebp - 0x60]
mov ecx, esi
call fcn.00409f03
cmp eax, ebx
jle 0x40a248
mov eax, dword [ebp - 0x60]
imul eax, eax, 9
push 0xa
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x60], eax
cmp eax, 0x28
jg 0x40a226
mov eax, dword [ebp - 0x60]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [esi + 0xd4], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x6c]
push ebx
sub eax, dword [ebp - 0x78]
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x3f2
push dword [esi + 4]
mov dword [ebp - 0x68], eax
call ebx
push eax
lea ecx, [esi + 4]
call fcn.00409e13
push dword [ebp - 0x6c]
push 0x3e8
push dword [esi + 4]
call ebx
push eax
lea ecx, [esi + 4]
call fcn.00409e13
mov ecx, dword [esi + 0x68]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x64], ecx
imul ecx, ecx, 3
mov dword [ebp - 0x60], eax
add eax, eax
add eax, ecx
jmp 0x40a2b7
cmp dword [ebp - 0x60], 5
jl 0x40a2be
dec dword [ebp - 0x60]
sub eax, 2
cmp eax, dword [ebp - 0x6c]
jg 0x40a2ab
jmp 0x40a2d2
mov eax, dword [ebp - 0x60]
lea ecx, [eax + eax]
mov eax, dword [ebp - 0x6c]
sub eax, ecx
push 3
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x64], eax
push 2
pop eax
cmp dword [ebp - 0x64], eax
jge 0x40a2dd
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x5c]
push eax
push 0x408
mov ecx, esi
call fcn.00409f59
mov eax, dword [esi + 0x6c]
mov ecx, dword [ebp - 0x68]
imul eax, eax, 3
sub ecx, dword [ebp - 0x58]
cdq
sub ecx, dword [ebp - 0x78]
and edx, 3
add eax, edx
mov edx, dword [ebp - 0x6c]
sar eax, 2
add eax, dword [esi + 0x6c]
cmp ecx, eax
jge 0x40a31d
mov ecx, eax
mov eax, dword [ebp - 0x64]
add eax, eax
cmp edx, eax
jle 0x40a31d
sub edx, dword [ebp - 0x64]
push 1
push ecx
push edx
push dword [ebp - 0x58]
push dword [ebp - 0x74]
push dword [esi + 0x9c]
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp - 0x64]
push 1
push dword [esi + 0x6c]
sub eax, dword [ebp - 0x74]
push dword [ebp - 0x64]
mov ecx, esi
push dword [ebp - 0x68]
mov dword [ebp - 0x70], eax
push eax
push 2
call fcn.0040950e
push 2
push dword [esi + 4]
call ebx
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
push 1
push dword [esi + 0x6c]
add ecx, eax
sub dword [ebp - 0x70], ecx
push eax
push dword [ebp - 0x68]
mov ecx, esi
push dword [ebp - 0x70]
push 0x32
call fcn.0040950e
push 0x32
push dword [esi + 4]
call ebx
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x60]
push 1
push dword [esi + 0x6c]
sub eax, dword [ebp - 0x64]
push dword [ebp - 0x64]
mov ecx, esi
push dword [ebp - 0x68]
push eax
push 0x33
call fcn.0040950e
push 0x33
push dword [esi + 4]
call ebx
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x3c
mov ecx, esi
call fcn.00409f03
push 0x2c
mov ecx, esi
mov edi, eax
call fcn.00409f03
push 4
mov ecx, esi
mov ebx, eax
call fcn.00409f03
mov edx, eax
lea eax, [ebx + edi]
lea ecx, [edx + eax*2]
mov eax, dword [ebp - 0x6c]
cmp ecx, eax
jge 0x40a3fc
sub eax, ecx
push 3
cdq
pop ecx
idiv ecx
add edi, eax
jmp 0x40a40a
lea ecx, [ebx + ebx]
sub eax, ecx
sub eax, edx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
test edi, edi
jns 0x40a410
xor edi, edi
mov ecx, dword [ebp - 0x6c]
lea eax, [ebx + edi]
lea edx, [eax + eax]
sub ecx, edx
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x78]
mov edi, eax
sub edi, ebx
and dword [ebp - 0x60], 0
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x4c], 0x3ea
mov dword [ebp - 0x48], 0x3eb
mov dword [ebp - 0x44], 0x3ec
mov dword [ebp - 0x40], 0x3ed
mov dword [ebp - 0x3c], 0x3f4
mov dword [ebp - 0x38], 0x3f5
mov dword [ebp - 0x34], 0x3f6
mov dword [ebp - 0x30], 0x3f7
mov dword [ebp - 0x2c], 0x406
mov dword [ebp - 0x28], 0x407
mov dword [ebp - 0x24], 0x3f0
mov dword [ebp - 0x20], 0x3f1
mov dword [ebp - 0x1c], 0x3ee
mov dword [ebp - 0x18], 0x3ef
mov dword [ebp - 0x14], 0x3fa
mov dword [ebp - 0x10], 0x3fb
mov dword [ebp - 0xc], 0x3f8
mov dword [ebp - 8], 0x3f9
mov dword [ebp - 0x68], ecx
jmp 0x40a4b2
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x60]
cmp ecx, 0xa
jl 0x40a4d1
jne 0x40a4c8
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x68], edx
add eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x74]
mov dword [ebp - 0x70], eax
push 1
push dword [ebp - 0x7c]
push edi
push dword [ebp - 0x68]
push dword [ebp - 0x70]
push dword [ebp + ecx*4 - 0x4c]
mov ecx, esi
call fcn.0040950e
mov eax, dword [ebp - 0x70]
push 1
push dword [ebp - 0x7c]
add eax, edi
push ebx
push dword [ebp - 0x68]
mov ecx, esi
push eax
mov eax, dword [ebp - 0x60]
push dword [ebp + eax*4 - 0x48]
call fcn.0040950e
mov eax, dword [ebp - 0x80]
add dword [ebp - 0x60], 2
add dword [ebp - 0x68], eax
cmp dword [ebp - 0x60], 0x12
jb 0x40a4af
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor al, al
pop ebx
call fcn.0041e5fa
leave
ret 0xc