Function at 0x4182cc
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
mov ebx, ecx
call fcn.00417891
mov ecx, ebx
call fcn.00416b43
mov ecx, ebx
mov edi, eax
call fcn.00416bad
mov dword [ebp - 0x18], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x148]
mov esi, eax
mov eax, dword [ebx]
mov ecx, ebx
mov dword [ebp - 0x10], esi
call dword [eax + 0x150]
mov ecx, ebx
mov dword [ebp - 0x14], eax
call fcn.00416c9f
inc esi
xor ecx, ecx
imul esi, edi
cmp al, 1
setne cl
mov byte [ebp - 1], al
sub esi, ecx
mov dword [ebp - 0xc], esi
cmp al, 1
jne 0x418338
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14c]
mov dword [ebp - 8], eax
jmp 0x41833c
and dword [ebp - 8], 0
lea esi, [ebx + 0x88]
push esi
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_GetClientRect]
cmp byte [ebx + 0xf1], 1
lea edi, [ebx + 0x98]
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, [ebx + 0x88]
lea edi, [ebx + 0xb8]
mov esi, 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 edi, [ebx + 0xd8]
mov esi, 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 edi, [ebx + 0xc8]
mov esi, 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 edi, [ebx + 0xa8]
mov esi, 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]
jne 0x418408
cmp dword [ebx + 0x84], 0
mov eax, dword [ebx]
mov ecx, ebx
jne 0x4183d6
call dword [eax + 0x140]
mov ecx, dword [ebx + 0x8c]
add eax, ecx
mov dword [ebx + 0x94], eax
mov dword [ebx + 0x9c], eax
mov dword [ebx + 0xbc], eax
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xcc], eax
mov dword [ebx + 0xac], eax
jmp 0x418408
call dword [eax + 0x140]
mov ecx, dword [ebx + 0x94]
sub ecx, eax
mov dword [ebx + 0x8c], ecx
mov dword [ebx + 0xa4], ecx
mov dword [ebx + 0xc4], ecx
mov dword [ebx + 0xe4], ecx
mov dword [ebx + 0xd4], ecx
mov dword [ebx + 0xb4], ecx
mov al, byte [ebx + 0xf3]
dec al
movzx ecx, al
mov eax, dword [ebx + 0xc0]
neg ecx
sbb ecx, ecx
not ecx
and ecx, dword [ebp - 0x14]
xor edi, edi
sub eax, ecx
mov dword [ebx + 0xb8], eax
mov dword [ebx + 0xe0], eax
mov eax, dword [ebx + 0x7c]
sub eax, edi
je 0x4184f6
dec eax
je 0x4184ca
dec eax
je 0x41847e
dec eax
jne 0x41853c
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebx + 0xcc]
add eax, ecx
mov ecx, dword [ebp - 8]
mov dword [ebx + 0xbc], eax
mov dword [ebx + 0xd4], eax
mov dword [ebx + 0xdc], eax
add eax, ecx
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xe4], eax
jmp 0x4184a6
mov ecx, dword [ebp - 8]
mov eax, dword [ebx + 0xdc]
add eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xcc], eax
mov dword [ebx + 0xe4], eax
add eax, ecx
mov dword [ebx + 0xd4], eax
lea esi, [ebx + 0xac]
mov dword [esi], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x144]
mov ecx, dword [esi]
add eax, ecx
mov dword [ebx + 0xb4], eax
mov dword [ebx + 0x9c], eax
jmp 0x41853c
mov eax, dword [ebx + 0xd4]
sub eax, dword [ebp - 0xc]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xcc], eax
mov dword [ebx + 0xe4], eax
sub eax, dword [ebp - 8]
mov dword [ebx + 0xbc], eax
mov dword [ebx + 0xdc], eax
jmp 0x41851a
mov eax, dword [ebx + 0xe4]
sub eax, dword [ebp - 8]
mov dword [ebx + 0xbc], eax
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xd4], eax
sub eax, dword [ebp - 0xc]
mov dword [ebx + 0xcc], eax
lea esi, [ebx + 0xb4]
mov dword [esi], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x144]
mov ecx, dword [esi]
sub ecx, eax
mov dword [ebx + 0xa4], ecx
mov dword [ebx + 0xac], ecx
lea esi, [ebx + 0x64]
push esi
push dword [esi + 0xc]
lea ecx, [ebp - 0x20]
call fcn.00416813
push esi
push dword [esi + 0x10]
lea ecx, [ebp - 0x28]
call fcn.00416813
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x20]
call fcn.00415e89
test al, al
jne 0x418677
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
lea ecx, [ebp - 0x20]
call fcn.00415dc7
mov eax, dword [eax]
cmp byte [eax + 0x25], 0
je 0x41864c
cmp byte [eax + 0x24], 0
jne 0x418606
lea edi, [eax + 0x14]
lea esi, [ebx + 0xc8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x7c]
test ecx, ecx
je 0x4185da
cmp ecx, 3
je 0x4185da
cmp byte [ebp - 1], 1
mov edx, dword [ebp - 8]
je 0x4185dd
mov ecx, eax
sub ecx, dword [ebx + 0xe8]
dec edx
neg ecx
sbb ecx, ecx
and ecx, edx
mov edx, dword [ebx + 0xcc]
lea esi, [ecx + edx]
xor ecx, ecx
mov dword [eax + 0x18], esi
cmp eax, dword [ebx + 0xe8]
setne cl
add ecx, esi
add ecx, dword [ebp - 0x10]
jmp 0x4185fa
mov edx, dword [ebp - 8]
mov ecx, dword [ebx + 0xcc]
add ecx, edx
mov edx, dword [ebp - 0x10]
inc edx
mov dword [eax + 0x18], ecx
add ecx, edx
mov edx, dword [ebx + 0xd4]
cmp ecx, edx
jl 0x4185fa
mov ecx, edx
mov dword [eax + 0x20], ecx
mov eax, dword [ebp - 0x10]
inc eax
add dword [ebp - 8], eax
jmp 0x41864c
lea ecx, [eax + 0x14]
lea edx, [ebx + 0xd8]
mov esi, edx
mov edi, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x80], 0
jne 0x41863a
mov esi, dword [ebp - 0x14]
imul esi, dword [ebp - 0x18]
mov edi, dword [edx + 8]
sub edi, dword [edx]
cmp edi, esi
jle 0x41863a
mov edx, dword [ebx + 0xe0]
sub edx, esi
mov dword [ecx], edx
mov edx, dword [ebp - 0xc]
add dword [ecx], edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ecx]
add ecx, edx
add dword [ebp - 0xc], edx
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x20]
call fcn.00415df3
lea eax, [ebx + 0x64]
push eax
push dword [eax + 0x10]
lea ecx, [ebp - 0x28]
call fcn.00416813
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x20]
call fcn.00415e89
test al, al
je 0x418571
mov eax, dword [ebx + 0x54]
mov edi, eax
test eax, eax
je 0x418686
cmp byte [eax + 0x25], 0
jne 0x418690
mov ecx, ebx
call fcn.00416c2e
mov dword [ebx + 0x54], eax
mov ecx, dword [ebx + 0x54]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
test ecx, ecx
je 0x4186cb
lea eax, [ebx + 0x98]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 4]
push 1
push edx
mov edx, dword [eax + 8]
sub edx, dword [eax]
push edx
push dword [ebx + 0x9c]
push dword [eax]
push dword [ecx]
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [ebx + 0x54]
push 5
push dword [eax]
call esi
cmp edi, dword [ebx + 0x54]
je 0x4186da
test edi, edi
je 0x4186da
push 0
push dword [edi]
call esi
mov ecx, ebx
call fcn.004170e5
pop edi
pop esi
pop ebx
leave
ret