Function at 0x426fd0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x514c13
mov eax, dword fs:[0]
push eax
sub esp, 0x314
mov eax, dword [0x56d06c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x314], ebx
lea eax, [ebp - 0x30c]
xorps xmm0, xmm0
push eax
push dword [ebx + 4]
movups xmmword [ebp - 0x30c], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [ebx + 0x66c]
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebx + 0x69c], eax
test edi, edi
je 0x42706c
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x42705a
push 0
push 0
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 0
je 0x42706c
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
push 1
push 0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebx + 0x69c]
cmp eax, 0xa
ja case.default.0x427088
jmp dword [eax*4 + 0x428624]
push 0
push dword [ebx + 0x670]
call dword [sym.imp.USER32.dll_ShowWindow]
lea ecx, [ebp - 0x2c0]
call fcn.0042f02b
sub esp, 0xc
mov dword [ebp - 4], 0
push 0xc8
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.0042f2f0
mov eax, dword [ebx + 0x668]
push 1
sub esp, 0x34
mov ecx, esp
mov dword [eax + 0x28], 0
lea eax, [ebp - 0x2c0]
push eax
call fcn.0041e6c0
mov ecx, dword [ebx + 0x668]
call fcn.00435610
call fcn.0042a9c0
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [eax + 4]
push 0x8c
call esi
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x30c]
mov dword [ebp - 0x31c], eax
call fcn.0042a9c0
push 0x60
push dword [eax]
push 0x60
call esi
mov dword [ebp - 0x320], eax
call fcn.0042a9c0
push 0x60
push dword [eax]
push 0x60
call esi
mov ebx, eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x2c
call esi
mov esi, dword [ebp - 0x304]
mov edi, eax
sub esi, dword [ebp - 0x30c]
call fcn.0042a9c0
push 0x60
push dword [eax]
push 0x60
call dword [sym.imp.KERNEL32.dll_MulDiv]
sub esi, eax
mov dword [ebp - 0x21c], edi
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x31c]
sub eax, dword [ebp - 0x320]
cdq
sub eax, edx
lea edx, [ebp - 0x220]
sar eax, 1
add eax, ebx
mov ebx, dword [ebp - 0x314]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebx + 0x668]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, dword [ebx + 0x668]
mov al, byte [esi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [esi + 0x50]
mov byte [esi + 0x2c], 1
test eax, eax
je 0x4271ec
push 0
push 1
push 0x401
push dword [eax]
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
call eax
cmp byte [ebp - 0x30d], 1
je 0x4271fe
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x24]
lea ecx, [ebp - 0x28c]
call fcn.0042f02b
push 0x55696c
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 1
call fcn.00419a80
lea eax, [ebp - 0x240]
mov byte [ebp - 4], 2
push eax
push 0xe1
push 0
lea ecx, [ebp - 0x28c]
call fcn.0042f1ab
lea ecx, [ebp - 0x240]
call fcn.0041e2c0
mov eax, dword [ebx + 0x694]
lea ecx, [ebp - 0x2fc]
push 0
push 0xf
mov dword [eax + 0x28], 0
lea eax, [ebp - 0x28c]
push eax
call fcn.0041e620
mov byte [ebp - 4], 3
mov ecx, dword [ebx + 0x694]
push eax
call fcn.0042fa14
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 1
call fcn.0041e670
mov ecx, dword [ebx + 0x694]
push dword [ebx + 4]
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28c]
call fcn.0042f3fa
lea esi, [eax + 0x98]
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push esi
call dword [sym.imp.KERNEL32.dll_MulDiv]
lea ecx, [ebp - 0x28c]
mov ebx, eax
call fcn.0042f3ce
mov ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov esi, edx
add edx, 0x7b
shr esi, 0x1f
add esi, edx
call fcn.0042a9c0
push 0x60
push dword [eax]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
call esi
mov edi, eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x98
call esi
mov esi, eax
call fcn.0042a9c0
push 0x60
push dword [eax]
push 0x7b
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x214], ebx
mov ebx, dword [ebp - 0x314]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x218], edi
mov ecx, dword [ebx + 0x694]
mov eax, dword [ecx]
lea edx, [ebp - 0x220]
push 0
push edx
call dword [eax + 0x14]
mov edi, dword [ebx + 0x694]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 1
test eax, eax
je 0x427373
push 0
push 1
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 1
je 0x427385
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
mov edi, dword [ebx + 0x694]
mov ecx, edi
push 0x32
call fcn.00430def
mov eax, dword [edi + 0x50]
mov bl, byte [edi + 0x2c]
mov byte [edi + 0x2c], 1
test eax, eax
je 0x4273af
push 0
push 1
push 0x401
push dword [eax]
call esi
cmp bl, 1
je 0x4273bd
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
call fcn.0042a9c0
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [eax + 4]
push 0x28
call esi
mov ebx, eax
call fcn.0042a9c0
push 0x60
push dword [eax]
push 0x8c
call esi
mov edi, eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x9a
call esi
mov esi, eax
call fcn.0042a9c0
push 0x60
push dword [eax]
push 0xa7
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 1
push ebx
push edi
push esi
mov esi, dword [ebp - 0x314]
push eax
push dword [esi + 0x678]
call dword [sym.imp.USER32.dll_MoveWindow]
push dword [0x56fe14]
mov ebx, dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [esi + 0x678]
call ebx
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push dword [0x577810]
push 0x30
push dword [esi + 0x678]
call eax
push 5
push dword [esi + 0x678]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x218], eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [ebp - 0x300]
lea edi, [esi + 0x47c]
mov ecx, edx
mov dword [ebp - 0x214], edx
sub ecx, eax
lea eax, [ebp - 0x220]
push ecx
mov dword [ebp - 0x21c], ecx
mov ecx, edi
push eax
call fcn.0042e020
mov eax, dword [0x577800]
mov dword [esi + 0x664], eax
mov eax, dword [ebp - 0x314]
push 0
mov dword [esi + 0x660], 2
mov dword [esi + 0x65c], 1
mov esi, dword [0x56f444]
push 0
push dword [eax + 0x47c]
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
call eax
mov eax, dword [ebp - 0x314]
push esi
push dword [eax + 0x47c]
call ebx
push 5
push dword [edi]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi]
call dword [sym.imp.USER32.dll_SetFocus]
lea ecx, [ebp - 0x28c]
call fcn.0041e670
lea ecx, [ebp - 0x2c0]
call fcn.0041e670
jmp case.default.0x427088
mov edi, dword [ebx + 0x694]
mov ecx, edi
call fcn.00430d36
mov eax, dword [edi + 0x50]
mov bl, byte [edi + 0x2c]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x427552
push 0
push 0
push 0x401
push dword [eax]
call esi
test bl, bl
je 0x42755f
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
call fcn.0042a9c0
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [eax + 4]
push 0x19
call edi
mov ebx, eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x30c]
mov dword [ebp - 0x318], eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x95
call edi
mov esi, eax
call fcn.0042a9c0
push 0x60
push dword [eax]
push 0
call edi
push 1
push ebx
push dword [ebp - 0x318]
mov ebx, dword [ebp - 0x314]
push esi
push eax
push dword [ebx + 0x678]
call dword [sym.imp.USER32.dll_MoveWindow]
push dword [0x56feac]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [ebx + 0x678]
call edi
push dword [0x56feb4]
push dword [ebx + 0x684]
call edi
push 5
push dword [ebx + 0x684]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [0x56f46c]
push 0
push 0
push dword [ebx + 0x47c]
call eax
push esi
push dword [ebx + 0x47c]
call edi
jmp case.default.0x427088
mov edi, dword [ebx + 0x694]
mov ecx, edi
call fcn.00430d36
mov eax, dword [edi + 0x50]
mov bl, byte [edi + 0x2c]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x427641
push 0
push 0
push 0x401
push dword [eax]
call esi
test bl, bl
je 0x42764e
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
call fcn.0042a9c0
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [eax + 4]
push 0x19
call edi
mov ebx, eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x30c]
mov dword [ebp - 0x318], eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x95
call edi
mov esi, eax
call fcn.0042a9c0
push 0x60
push dword [eax]
push 4
call edi
push 1
push ebx
push dword [ebp - 0x318]
mov ebx, dword [ebp - 0x314]
push esi
push eax
push dword [ebx + 0x678]
call dword [sym.imp.USER32.dll_MoveWindow]
push dword [0x56fe1c]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [ebx + 0x678]
call edi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [ebx + 0x670]
call esi
call fcn.004595b0
lea eax, [ebp - 0x240]
push eax
call fcn.0045cf30
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.004e9ab0
cmp dword [ebp - 0x22c], 8
lea eax, [ebp - 0x240]
cmovae eax, dword [ebp - 0x240]
push eax
push dword [0x56fea4]
lea eax, [ebp - 0x210]
push 0x100
push eax
call fcn.0041f9c0
add esp, 0x1c
lea eax, [ebp - 0x210]
push eax
push dword [ebx + 0x684]
call edi
push 5
push dword [ebx + 0x684]
call esi
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [0x56f44c]
push 0
push 0
push dword [ebx + 0x47c]
call eax
push esi
push dword [ebx + 0x47c]
call edi
lea ecx, [ebp - 0x240]
call fcn.0041e2c0
jmp case.default.0x427088
mov edi, dword [ebx + 0x694]
mov ecx, edi
call fcn.00430d36
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x4277a1
push 0
push 0
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 0
je 0x4277b3
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
mov edi, dword [ebx + 0x668]
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x4277da
push 0
push 0
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 0
je 0x4277ec
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [ebx + 0x678]
call esi
cmp dword [ebx + 0x6a0], 1
mov eax, dword [0x56fe34]
cmove eax, dword [0x56fe3c]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
push eax
push dword [ebx + 0x670]
call edi
push 5
push dword [ebx + 0x670]
call esi
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.004e9ab0
lea eax, [ebx + 0x6b8]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x42784c
mov eax, dword [eax]
push eax
push dword [0x56fe9c]
lea eax, [ebp - 0x210]
push 0x100
push eax
call fcn.0041f9c0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push dword [ebx + 0x680]
call edi
push 5
push dword [ebx + 0x680]
call esi
lea eax, [ebx + 0x748]
push eax
lea ecx, [ebp - 0x240]
call fcn.00419b00
push 0x556ea8
lea ecx, [ebp - 0x258]
mov dword [ebp - 4], 4
call fcn.00419a80
push 0x556eac
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 5
call fcn.00419a80
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 6
push eax
lea edx, [ebp - 0x228]
lea ecx, [ebp - 0x240]
call fcn.004241c0
add esp, 4
lea ecx, [ebp - 0x228]
call fcn.0041e2c0
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 4
call fcn.0041e2c0
push 0x556eac
lea ecx, [ebp - 0x228]
call fcn.00419a80
push 0x556ea8
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 7
call fcn.00419a80
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x258]
lea ecx, [ebp - 0x240]
call fcn.004241c0
add esp, 4
lea ecx, [ebp - 0x258]
call fcn.0041e2c0
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 4
call fcn.0041e2c0
cmp dword [ebp - 0x22c], 8
lea eax, [ebp - 0x240]
cmovae eax, dword [ebp - 0x240]
push eax
push dword [ebx + 0x688]
call edi
push 5
push dword [ebx + 0x688]
call esi
mov ecx, ebx
call fcn.004296a0
cmp dword [ebx + 0x6a0], 1
jne 0x427a31
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x218], eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [ebp - 0x300]
lea edi, [ebx + 0x47c]
mov ecx, edx
mov dword [ebp - 0x214], edx
sub ecx, eax
lea eax, [ebp - 0x220]
push ecx
mov dword [ebp - 0x21c], ecx
mov ecx, edi
push eax
call fcn.0042e020
mov eax, dword [0x577800]
lea ecx, [ebx + 0x478]
mov dword [ebx + 0x660], 2
mov dword [ebx + 0x65c], 1
mov dword [ebx + 0x664], eax
push dword [0x56fe54]
call fcn.0043332e
push dword [edi]
call dword [sym.imp.USER32.dll_SetFocus]
push 5
push dword [edi]
call esi
lea ecx, [ebp - 0x240]
call fcn.0041e2c0
jmp case.default.0x427088
push 5
push dword [ebx + 0x68c]
call esi
mov ecx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x304]
sub eax, ecx
mov dword [ebp - 0x220], ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x218], eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ebx, dword [ebp - 0x300]
mov edi, ebx
mov esi, dword [ebp - 0x314]
sub edi, eax
push ecx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x21c], edi
push eax
lea ecx, [esi + 0x28c]
mov dword [ebp - 0x214], ebx
call fcn.0042e020
mov eax, dword [0x577800]
mov ecx, esi
mov dword [ecx + 0x470], 6
mov dword [ecx + 0x46c], 1
mov dword [ecx + 0x474], eax
add ecx, 0x288
push dword [0x56fe54]
call fcn.0043332e
push 5
push dword [esi + 0x28c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0x28c]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0x214], ebx
mov ebx, esi
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x21c], edi
lea edi, [ebx + 0x47c]
push ecx
push eax
mov ecx, edi
call fcn.0042e020
mov eax, dword [0x577800]
lea ecx, [ebx + 0x478]
mov dword [ebx + 0x660], 2
mov dword [ebx + 0x65c], 0
mov dword [ebx + 0x664], eax
push dword [0x56fe7c]
call fcn.0043332e
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [edi]
call esi
lea ecx, [ebp - 0x240]
call fcn.0041e2c0
jmp case.default.0x427088
mov eax, dword [ebx + 0x6a0]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
cmp eax, 4
je 0x427b8a
cmp eax, 5
jne 0x427bda
mov edi, dword [ebx + 0x694]
mov ecx, edi
call fcn.00430d36
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x427bb8
push 0
push 0
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 0
je 0x427bca
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [ebx + 0x678]
call edi
mov ecx, dword [ebx + 0x668]
mov dword [ebp - 0x318], ecx
mov al, byte [ecx + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x2c], 1
test eax, eax
je 0x427c0d
push 0
push 1
push 0x401
push dword [eax]
call esi
mov ecx, dword [ebp - 0x318]
cmp byte [ebp - 0x30d], 1
je 0x427c1d
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
push 0
push dword [ebx + 0x670]
call edi
push 0
push dword [ebx + 0x680]
call edi
cmp dword [ebx + 0x690], 0
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
je 0x427d93
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0xa7
call esi
mov ebx, eax
call fcn.0042a9c0
push 0x60
push dword [eax]
push 0x1b
call esi
mov edi, eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0xa2
call esi
mov esi, eax
call fcn.0042a9c0
push 0x60
push dword [eax]
push 0x1b
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x214], ebx
lea edx, [ebp - 0x220]
mov ebx, dword [ebp - 0x314]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x304]
sub eax, edi
mov dword [ebp - 0x21c], esi
mov ecx, dword [ebx + 0x690]
mov dword [ebp - 0x218], eax
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, dword [ebx + 0x690]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x427ce4
cmp ecx, 0x64
jg 0x427ce4
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0x64
mov esi, dword [ebx + 0x690]
mov eax, dword [ebx + 0x7ec]
mov edi, dword [esi + 0x60]
cmp eax, edi
je 0x427d4f
sub eax, edi
mov byte [esi + 0x69], 1
mov ecx, eax
cdq
xor eax, edx
shr ecx, 0x1f
sub eax, edx
mov dword [ebp - 0x318], ecx
mov byte [esi + 0x68], cl
mov ecx, dword [esi + 0x5c]
cdq
idiv ecx
mov dword [esi + 0x64], eax
test edx, edx
je 0x427d21
inc eax
mov dword [esi + 0x64], eax
cmp byte [ebp - 0x318], 0
je 0x427d2c
neg ecx
lea eax, [ecx + edi]
mov ecx, dword [esi + 0x58]
mov dword [esi + 0x60], eax
cmp eax, ecx
jg 0x427d40
mov ecx, dword [esi + 0x54]
cmp eax, ecx
jge 0x427d43
mov dword [esi + 0x60], ecx
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x24]
dec dword [esi + 0x64]
mov esi, dword [ebx + 0x690]
mov al, byte [esi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [esi + 0x50]
mov byte [esi + 0x2c], 1
test eax, eax
je 0x427d7b
push 0
push 1
push 0x401
push dword [eax]
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
call eax
cmp byte [ebp - 0x30d], 1
je 0x427d8d
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x24]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x56fe24]
push dword [ebx + 0x67c]
mov ebx, dword [sym.imp.USER32.dll_SetWindowTextW]
call ebx
mov esi, dword [ebp - 0x314]
push 5
push dword [esi + 0x67c]
call edi
push 0
push dword [esi + 0x688]
call edi
push 0
push dword [esi + 0x68c]
call edi
push 0
push dword [esi + 0x28c]
call edi
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x218], eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [ebp - 0x300]
lea edi, [esi + 0x47c]
mov ecx, edx
mov dword [ebp - 0x214], edx
sub ecx, eax
lea eax, [ebp - 0x220]
push ecx
mov dword [ebp - 0x21c], ecx
mov ecx, edi
push eax
call fcn.0042e020
mov eax, dword [ebp - 0x314]
push 0
mov dword [esi + 0x660], 2
mov esi, dword [0x56f444]
push 0
push dword [eax + 0x47c]
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
call eax
push esi
mov esi, dword [ebp - 0x314]
push dword [esi + 0x47c]
call ebx
push 5
push dword [edi]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi]
call dword [sym.imp.USER32.dll_SetFocus]
push 1
mov ecx, esi
call fcn.00428af0
jmp case.default.0x427088
cmp byte [ebx + 0x7fa], 0
mov ecx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x220], ecx
jne 0x427ea2
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x31c], eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x300]
mov ebx, ecx
mov edi, dword [ebp - 0x314]
sub ebx, eax
push ecx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0x214], ecx
push eax
lea ecx, [edi + 0x28c]
mov dword [ebp - 0x21c], ebx
call fcn.0042e020
mov eax, edi
push 0
push 0
mov dword [eax + 0x470], 6
mov dword [eax + 0x46c], 0
push dword [eax + 0x28c]
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [0x56fec4]
call eax
mov eax, edi
push esi
push dword [eax + 0x28c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x28c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x21c], ebx
mov ebx, edi
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x220]
push ecx
lea edi, [ebx + 0x47c]
push eax
mov ecx, edi
call fcn.0042e020
mov esi, dword [0x56f444]
push 0
push 0
push dword [ebx + 0x47c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
push dword [ebx + 0x47c]
mov ebx, dword [sym.imp.USER32.dll_SetWindowTextW]
call ebx
mov eax, dword [ebp - 0x314]
mov esi, dword [0x56febc]
push 0
push 0
push dword [eax + 0x47c]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebp - 0x314]
push esi
push dword [eax + 0x47c]
call ebx
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [edi]
call esi
mov edi, dword [ebp - 0x314]
push dword [0x56fe84]
push dword [edi + 0x67c]
call ebx
push 5
push dword [edi + 0x67c]
call esi
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_SetFocus]
jmp case.default.0x427088
cmp byte [ebx + 0x7fa], 0
mov ecx, 0x1538
mov eax, 0x12f8
cmovne eax, ecx
push dword [eax + 0x56eb34]
push dword [ebx + 0x67c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [ebx + 0x67c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [ebx + 0x690]
test edi, edi
je 0x42807c
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 1
test eax, eax
je 0x42806a
push 0
push 1
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 1
je 0x42807c
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
push 0
push dword [ebx + 0x28c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x218], eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [ebp - 0x300]
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x214], edx
push ecx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x21c], ecx
push eax
lea ecx, [ebx + 0x47c]
call fcn.0042e020
mov esi, dword [0x56f444]
push 0
push 0
push dword [ebx + 0x47c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
push dword [ebx + 0x47c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0
push dword [ebx + 0x47c]
call dword [sym.imp.USER32.dll_EnableWindow]
push 5
push dword [ebx + 0x47c]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
mov ecx, ebx
call fcn.00428af0
cmp byte [ebx + 0x7fa], 0
je case.default.0x427088
mov ecx, ebx
call fcn.00426a50
test al, al
jne case.default.0x427088
push 8
mov ecx, ebx
call fcn.00426fd0
jmp case.default.0x427088
mov edi, dword [ebx + 0x690]
test edi, edi
je 0x42818c
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x42817a
push 0
push 0
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 0
je 0x42818c
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
mov ecx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x304]
sub eax, ecx
mov dword [ebp - 0x220], ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x218], eax
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [ebp - 0x300]
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x31c], edx
push ecx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x21c], ecx
lea ecx, [ebx + 0x28c]
push eax
mov dword [ebp - 0x214], edx
call fcn.0042e020
push 0
mov dword [ebx + 0x470], 6
mov dword [ebx + 0x46c], 0
mov esi, dword [0x56fec4]
push 0
push dword [ebx + 0x28c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
push dword [ebx + 0x28c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [0x577800]
push 5
push dword [ebx + 0x28c]
mov dword [ebx + 0x474], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x318]
mov edi, dword [ebp - 0x314]
mov bl, byte [ebx + 0x7fa]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x304]
push ecx
mov dword [ebp - 0x218], eax
lea ecx, [ebp - 0x220]
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x31c]
push ecx
lea ecx, [edi + 0x47c]
mov dword [ebp - 0x214], eax
call fcn.0042e020
test bl, bl
mov ecx, 0x1388
mov ebx, dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 0x910
push 0
cmove eax, ecx
push 0
push dword [edi + 0x47c]
mov esi, dword [eax + 0x56eb34]
call ebx
push esi
push dword [edi + 0x47c]
mov esi, dword [sym.imp.USER32.dll_SetWindowTextW]
call esi
mov eax, dword [0x577800]
push 5
push dword [edi + 0x47c]
mov dword [edi + 0x660], 2
mov dword [edi + 0x65c], 0
mov dword [edi + 0x664], eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp - 0x258]
mov ecx, edi
push eax
call fcn.00428650
cmp dword [eax + 0x14], 8
jb 0x428310
mov eax, dword [eax]
push eax
push dword [edi + 0x67c]
call esi
lea ecx, [ebp - 0x258]
call fcn.0041e2c0
push 5
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_SetFocus]
push 1
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
mov ecx, edi
call fcn.00428af0
push 1
push 0
push dword [edi + 4]
call ebx
jmp case.default.0x427088
push dword [0x56eb5c]
push dword [ebx + 0x67c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [ebx + 0x67c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [ebx + 0x690]
test edi, edi
je 0x4283c0
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x4283ae
push 0
push 0
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 0
je 0x4283c0
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
push 1
mov ecx, ebx
call fcn.00428af0
mov eax, dword [ebx + 0x6a0]
cmp eax, 8
je 0x42846f
cmp eax, 9
je 0x42846f
cmp byte [ebx + 0x7f8], 0
je 0x42845b
cmp byte [ebx + 0x7f9], 0
je 0x42845b
cmp byte [ebx + 0x7fa], 0
jne 0x42845b
lea eax, [ebp - 0x30d]
mov byte [ebp - 0x30d], 0
push eax
call fcn.00426e80
test al, al
je 0x42845b
mov esi, dword [ebx + 0x6a0]
call fcn.004595b0
mov ecx, dword [eax + 0x168]
test ecx, ecx
je 0x428446
movzx eax, byte [ebp - 0x30d]
mov edx, dword [ecx]
push 0
push 0
push str.after_install
push eax
push esi
push 0
push 0x7dc
call dword [edx + 4]
push 0xa
mov ecx, ebx
mov byte [ebx + 0x7fa], 1
call fcn.00426fd0
jmp case.default.0x427088
push 0
push 0x66
push 0x66
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x427088
cmp byte [ebx + 0x7fb], 0
je 0x42848a
push dword [0x570064]
push dword [ebx + 0x67c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp byte [ebx + 0x7fb], 0
mov ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x220], ecx
je 0x4284b0
mov eax, dword [ebp - 0x304]
sub eax, ecx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
jmp 0x4284b6
mov edi, dword [ebp - 0x304]
mov dword [ebp - 0x218], edi
call fcn.0042a9c0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [ebp - 0x300]
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x320], edx
push ecx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0x21c], ecx
lea ecx, [ebx + 0x28c]
push eax
mov dword [ebp - 0x214], edx
call fcn.0042e020
cmp byte [ebx + 0x7fb], 0
mov eax, 0x2a5
mov ecx, 0x127
mov dword [ebx + 0x470], 6
cmovne ecx, eax
mov dword [ebx + 0x46c], 0
call fcn.00439034
push eax
lea ecx, [ebx + 0x288]
call fcn.0043332e
mov eax, dword [0x577800]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [ebx + 0x28c]
mov dword [ebx + 0x474], eax
call esi
cmp byte [ebx + 0x7fb], 0
je 0x4285eb
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x220]
push ecx
push eax
lea ecx, [ebx + 0x47c]
mov dword [ebp - 0x220], edi
call fcn.0042e020
mov eax, dword [0x577800]
lea ecx, [ebx + 0x478]
mov dword [ebx + 0x660], 2
mov dword [ebx + 0x65c], 0
mov dword [ebx + 0x664], eax
push dword [0x56f46c]
call fcn.0043332e
push 5
push dword [ebx + 0x47c]
call esi
push 1
push dword [ebx + 0x47c]
call dword [sym.imp.USER32.dll_EnableWindow]
jmp case.default.0x427088
push 0
push dword [ebx + 0x47c]
call esi
jmp case.default.0x427088
lea eax, [ebp - 0x30c]
mov ecx, ebx
push eax
call fcn.00429830
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00471876
mov esp, ebp
pop ebp
ret 4