Function at 0x412228
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ec82c
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
mov eax, dword [0x53e01c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x318], edi
lea eax, [ebp - 0x30c]
xorps xmm0, xmm0
push eax
push dword [edi + 4]
movups xmmword [ebp - 0x30c], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [edi + 0x66c]
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi + 0x69c], eax
mov dword [ebp - 0x31c], ecx
test ecx, ecx
je 0x412205
mov al, byte [ecx + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x2c], 0
test eax, eax
je 0x4121f5
push 0
push 0
push 0x401
push dword [eax]
call esi
mov ecx, dword [ebp - 0x31c]
cmp byte [ebp - 0x30d], 0
je 0x412205
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
push 1
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [edi + 0x69c]
cmp eax, 0xa
ja case.default.0x412221
jmp dword [eax*4 + 0x41409c]
push 0
push dword [edi + 0x670]
call dword [sym.imp.USER32.dll_ShowWindow]
xorps xmm0, xmm0
mov dword [ebp - 0x2a0], 0
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x29c], 0
push eax
movups xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x298], 0
movups xmmword [ebp - 0x2b0], xmm0
call dword [sym.imp.USER32.dll_SetRectEmpty]
mov dword [ebp - 0x290], 0
mov byte [ebp - 0x294], 0xff
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x29c], 0
push 0
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor edx, edx
mov ecx, 0x10
test eax, eax
cmovne ecx, edx
push ecx
push 0x60
push 0x60
push 1
push 0xc8
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [ebp - 0x31c], eax
test eax, eax
je 0x412363
push 0x18
call fcn.004c1f39
mov esi, eax
add esp, 4
test esi, esi
je 0x414045
mov dword [esi + 4], 0
mov dword [esi], vtable.BaseUI::IconImage.0
mov dword [esi + 8], 0
push ecx
push dword [ebp - 0x31c]
mov dword [esi + 0xc], 0
mov ecx, esi
mov dword [esi + 0x10], 0
mov byte [esi + 0x14], 1
inc dword [esi + 4]
call fcn.00419723
add dword [esi + 4], 2
mov ecx, dword [ebp - 0x2c0]
mov dword [ebp - 0x2c0], esi
test ecx, ecx
je 0x412341
dec dword [ecx + 4]
cmp dword [ecx + 4], 0
jg 0x412341
mov eax, dword [ecx]
push 1
call dword [eax]
dec dword [esi + 4]
cmp dword [esi + 4], 0
jg 0x412352
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
dec dword [esi + 4]
cmp dword [esi + 4], 0
jg 0x412363
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov eax, dword [edi + 0x668]
mov dword [eax + 0x28], 0
mov esi, dword [ebp - 0x2c0]
mov dword [ebp - 0x2f4], esi
test esi, esi
je 0x412383
inc dword [esi + 4]
mov ecx, dword [ebp - 0x298]
movups xmm0, xmmword [ebp - 0x2bc]
mov eax, dword [ebp - 0x29c]
movups xmm1, xmmword [ebp - 0x2ac]
mov edi, dword [edi + 0x668]
mov dword [ebp - 0x324], ecx
mov dword [ebp - 0x2cc], ecx
mov cl, byte [ebp - 0x294]
mov byte [ebp - 0x30d], cl
mov byte [ebp - 0x2c8], cl
mov ecx, dword [ebp - 0x290]
movups xmmword [ebp - 0x220], xmm0
mov dword [ebp - 0x31c], eax
movups xmmword [ebp - 0x2f0], xmm0
mov dword [ebp - 0x2d0], eax
movups xmmword [ebp - 0x238], xmm1
mov dword [ebp - 0x320], ecx
movups xmmword [ebp - 0x2e0], xmm1
mov dword [ebp - 0x2c4], ecx
mov byte [ebp - 4], 1
test esi, esi
je 0x412406
inc dword [esi + 4]
mov ecx, dword [edi + 0x54]
mov dword [edi + 0x54], esi
test ecx, ecx
je 0x412433
dec dword [ecx + 4]
cmp dword [ecx + 4], 0
jg 0x412433
mov eax, dword [ecx]
push 1
call dword [eax]
movups xmm0, xmmword [ebp - 0x220]
mov eax, dword [ebp - 0x31c]
movups xmm1, xmmword [ebp - 0x238]
mov dword [edi + 0x78], eax
mov ecx, edi
mov eax, dword [ebp - 0x324]
mov dword [edi + 0x7c], eax
mov al, byte [ebp - 0x30d]
push 0
mov byte [edi + 0x80], al
mov eax, dword [ebp - 0x320]
push 1
movups xmmword [edi + 0x58], xmm0
mov dword [edi + 0x84], eax
movups xmmword [edi + 0x68], xmm1
call fcn.0041b918
mov byte [ebp - 4], 0
test esi, esi
je 0x412483
dec dword [esi + 4]
cmp dword [esi + 4], 0
jg 0x412483
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
call fcn.004167e0
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [eax + 4]
push 0x8c
call esi
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x30c]
mov dword [ebp - 0x320], eax
call fcn.004167e0
push 0x60
push dword [eax]
push 0x60
call esi
mov dword [ebp - 0x324], eax
call fcn.004167e0
push 0x60
push dword [eax]
push 0x60
call esi
mov dword [ebp - 0x31c], eax
call fcn.004167e0
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.004167e0
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
mov esi, dword [ebp - 0x318]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [esi + 0x668]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x320]
sub eax, dword [ebp - 0x324]
cdq
sub eax, edx
lea edx, [ebp - 0x220]
sar eax, 1
add eax, dword [ebp - 0x31c]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x214], eax
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0x14]
mov edi, dword [esi + 0x668]
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 1
test eax, eax
je 0x412589
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 0x41259b
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
xorps xmm0, xmm0
mov dword [ebp - 0x26c], 0
lea eax, [ebp - 0x288]
mov dword [ebp - 0x268], 0
push eax
movups xmmword [ebp - 0x28c], xmm0
mov dword [ebp - 0x264], 0
movups xmmword [ebp - 0x27c], xmm0
call dword [sym.imp.USER32.dll_SetRectEmpty]
mov dword [ebp - 0x25c], 0
mov byte [ebp - 0x260], 0xff
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x268], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x240]
push 3
xor eax, eax
mov dword [ebp - 0x240], 0
push 0x52ac58
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 7
mov word [ebp - 0x240], ax
call fcn.00407890
lea eax, [ebp - 0x240]
mov byte [ebp - 4], 3
push eax
push 0xe1
push 0
lea ecx, [ebp - 0x28c]
call fcn.00419942
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x22c]
cmp edx, 8
jb 0x41269a
mov ecx, dword [ebp - 0x240]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x412690
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414056
push edx
push ecx
call fcn.0045b5e1
add esp, 8
mov eax, dword [esi + 0x694]
mov dword [eax + 0x28], 0
mov edi, dword [ebp - 0x28c]
mov dword [ebp - 0x2fc], edi
test edi, edi
je 0x4126ba
inc dword [edi + 4]
mov eax, dword [ebp - 0x268]
movups xmm0, xmmword [ebp - 0x288]
mov ecx, dword [ebp - 0x264]
movups xmm1, xmmword [ebp - 0x278]
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x2d8], eax
mov al, byte [ebp - 0x260]
mov byte [ebp - 0x30d], al
mov byte [ebp - 0x2d0], al
mov eax, dword [ebp - 0x25c]
movups xmmword [ebp - 0x238], xmm0
mov dword [ebp - 0x324], ecx
movups xmmword [ebp - 0x2f8], xmm0
mov dword [ebp - 0x2d4], ecx
movups xmmword [ebp - 0x220], xmm1
mov dword [ebp - 0x31c], eax
movups xmmword [ebp - 0x2e8], xmm1
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c8], 0xf
mov dword [ebp - 0x2c4], 0
mov byte [ebp - 4], 4
mov eax, dword [esi + 0x694]
mov dword [ebp - 0x314], eax
test edi, edi
je 0x412757
inc dword [edi + 4]
mov ecx, dword [eax + 0x54]
mov dword [eax + 0x54], edi
test ecx, ecx
je 0x412784
dec dword [ecx + 4]
cmp dword [ecx + 4], 0
jg 0x412784
mov eax, dword [ecx]
push 1
call dword [eax]
movups xmm0, xmmword [ebp - 0x238]
mov eax, dword [ebp - 0x314]
movups xmm1, xmmword [ebp - 0x220]
mov ecx, dword [ebp - 0x320]
mov dword [eax + 0x78], ecx
mov ecx, dword [ebp - 0x324]
mov dword [eax + 0x7c], ecx
mov cl, byte [ebp - 0x30d]
mov byte [eax + 0x80], cl
mov ecx, dword [ebp - 0x31c]
mov dword [eax + 0x84], ecx
mov ecx, eax
push 0
movups xmmword [eax + 0x58], xmm0
push 0
movups xmmword [eax + 0x68], xmm1
mov dword [eax + 0x88], 0xf
mov dword [eax + 0x8c], 0
call fcn.0041b918
mov byte [ebp - 4], 2
test edi, edi
je 0x4127ee
dec dword [edi + 4]
cmp dword [edi + 4], 0
jg 0x4127ee
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
mov ecx, dword [esi + 0x694]
push dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x28c], 0
mov edi, dword [sym.imp.USER32.dll_IsRectEmpty]
jne 0x41280f
xor esi, esi
jmp 0x412839
lea eax, [ebp - 0x288]
push eax
call edi
test eax, eax
je 0x41282d
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
jmp 0x412839
mov esi, dword [ebp - 0x27c]
sub esi, dword [ebp - 0x284]
call fcn.004167e0
push 0x60
push dword [eax + 4]
lea eax, [esi + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
cmp dword [ebp - 0x28c], 0
mov dword [ebp - 0x314], eax
jne 0x412863
xor esi, esi
jmp 0x41288d
lea eax, [ebp - 0x288]
push eax
call edi
test eax, eax
je 0x412881
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov esi, eax
jmp 0x41288d
mov esi, dword [ebp - 0x280]
sub esi, dword [ebp - 0x288]
call fcn.004167e0
push 0x60
push dword [eax]
mov eax, 0x88888889
imul esi
add edx, esi
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
sar edx, 3
mov eax, edx
add edx, 0x7b
shr eax, 0x1f
add eax, edx
push eax
call esi
mov edi, eax
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x98
call esi
mov esi, eax
call fcn.004167e0
push 0x60
push dword [eax]
push 0x7b
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x21c], esi
lea edx, [ebp - 0x220]
mov esi, dword [ebp - 0x318]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x218], edi
mov ecx, dword [esi + 0x694]
mov dword [ebp - 0x214], eax
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, dword [esi + 0x694]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x314], 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 0x41294c
push 0
push 1
push 0x401
push dword [eax]
call edi
mov ecx, dword [ebp - 0x314]
cmp byte [ebp - 0x30d], 1
je 0x41295c
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
mov esi, dword [esi + 0x694]
mov ecx, esi
push 0x32
call fcn.0041b34f
mov al, byte [esi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [esi + 0x50]
mov byte [esi + 0x2c], 1
test eax, eax
je 0x41298c
push 0
push 1
push 0x401
push dword [eax]
call edi
cmp byte [ebp - 0x30d], 1
je 0x41299e
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x24]
call fcn.004167e0
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [eax + 4]
push 0x28
call esi
mov dword [ebp - 0x314], eax
call fcn.004167e0
push 0x60
push dword [eax]
push 0x8c
call esi
mov edi, eax
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x9a
call esi
mov esi, eax
call fcn.004167e0
push 0x60
push dword [eax]
push 0xa7
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 1
push dword [ebp - 0x314]
push edi
push esi
mov esi, dword [ebp - 0x318]
push eax
push dword [esi + 0x678]
call dword [sym.imp.USER32.dll_MoveWindow]
push dword [0x540e04]
push dword [esi + 0x678]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push dword [0x545d10]
push 0x30
push dword [esi + 0x678]
call eax
push 5
push dword [esi + 0x678]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x304]
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x300]
sub esi, edi
mov edx, ecx
push 1
sub edx, eax
sub ecx, edx
push ecx
push esi
push edx
push edi
mov edi, dword [ebp - 0x318]
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [0x545d00]
push 0
mov dword [edi + 0x664], eax
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [edi + 0x660], 2
mov dword [edi + 0x65c], 1
mov esi, dword [0x540434]
push 0
push dword [edi + 0x47c]
call eax
push esi
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x28c]
test ecx, ecx
je 0x412aff
dec dword [ecx + 4]
cmp dword [ecx + 4], 0
jg 0x412aff
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0x2c0]
test ecx, ecx
je case.default.0x412221
dec dword [ecx + 4]
cmp dword [ecx + 4], 0
jg case.default.0x412221
mov eax, dword [ecx]
push 1
call dword [eax]
jmp case.default.0x412221
mov edi, dword [edi + 0x694]
mov ecx, edi
call fcn.0041b2ad
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x412b53
push 0
push 0
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 0
je 0x412b65
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
call fcn.004167e0
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [eax + 4]
push 0x19
call edi
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x30c]
mov dword [ebp - 0x320], eax
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x95
call edi
mov esi, eax
call fcn.004167e0
push 0x60
push dword [eax]
push 0
call edi
push 1
push dword [ebp - 0x314]
push dword [ebp - 0x320]
push esi
mov esi, dword [ebp - 0x318]
push eax
push dword [esi + 0x678]
call dword [sym.imp.USER32.dll_MoveWindow]
push dword [0x540e9c]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [esi + 0x678]
call edi
push dword [0x540ea4]
push dword [esi + 0x684]
call edi
push 5
push dword [esi + 0x684]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x318]
mov esi, dword [0x54045c]
push 0
push 0
push dword [eax + 0x47c]
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
call eax
mov eax, dword [ebp - 0x318]
push esi
push dword [eax + 0x47c]
call edi
jmp case.default.0x412221
mov edi, dword [edi + 0x694]
mov ecx, edi
call fcn.0041b2ad
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x412c62
push 0
push 0
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 0
je 0x412c74
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
call fcn.004167e0
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [eax + 4]
push 0x19
call edi
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x30c]
mov dword [ebp - 0x320], eax
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x95
call edi
mov esi, eax
call fcn.004167e0
push 0x60
push dword [eax]
push 4
call edi
mov edi, dword [ebp - 0x318]
push 1
push dword [ebp - 0x314]
push dword [ebp - 0x320]
push esi
push eax
push dword [edi + 0x678]
call dword [sym.imp.USER32.dll_MoveWindow]
push dword [0x540e0c]
mov esi, dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [edi + 0x678]
call esi
push 0
push dword [edi + 0x670]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x5552f8]
test al, 1
jne 0x412d35
or eax, 1
mov dword [0x5552f8], eax
mov dword [ebp - 4], 5
call fcn.00442480
push 0x4f1ff0
call fcn.0045b82b
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x258]
push eax
call fcn.00446fd0
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.004beec0
cmp dword [ebp - 0x244], 8
lea eax, [ebp - 0x258]
cmovae eax, dword [ebp - 0x258]
push eax
push dword [0x540e94]
lea eax, [ebp - 0x210]
push 0x100
push eax
call fcn.004092d0
add esp, 0x1c
lea eax, [ebp - 0x210]
push eax
push dword [edi + 0x684]
call esi
push 5
push dword [edi + 0x684]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [0x54043c]
push 0
push 0
push dword [edi + 0x47c]
call eax
push esi
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov edx, dword [ebp - 0x244]
cmp edx, 8
jb case.default.0x412221
mov ecx, dword [ebp - 0x258]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x412dfe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41405b
push edx
push ecx
call fcn.0045b5e1
add esp, 8
jmp case.default.0x412221
mov ecx, dword [edi + 0x694]
mov dword [ebp - 0x31c], ecx
call fcn.0041b2ad
mov ecx, dword [ebp - 0x31c]
mov al, byte [ecx + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x2c], 0
test eax, eax
je 0x412e4b
push 0
push 0
push 0x401
push dword [eax]
call esi
mov ecx, dword [ebp - 0x31c]
cmp byte [ebp - 0x30d], 0
je 0x412e5b
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
mov ecx, dword [edi + 0x668]
mov dword [ebp - 0x314], ecx
mov al, byte [ecx + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x2c], 0
test eax, eax
je 0x412e8e
push 0
push 0
push 0x401
push dword [eax]
call esi
mov ecx, dword [ebp - 0x314]
cmp byte [ebp - 0x30d], 0
je 0x412e9e
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [edi + 0x678]
call esi
cmp dword [edi + 0x6a0], 1
mov eax, dword [0x540e24]
cmove eax, dword [0x540e2c]
push eax
push dword [edi + 0x670]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x670]
call esi
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.004beec0
lea eax, [edi + 0x6b8]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x412efc
mov eax, dword [eax]
push eax
push dword [0x540e8c]
lea eax, [ebp - 0x210]
push 0x100
push eax
call fcn.004092d0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push dword [edi + 0x680]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x680]
call esi
lea eax, [edi + 0x748]
push eax
lea ecx, [ebp - 0x258]
call fcn.00403e90
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x228]
push 1
xor eax, eax
mov dword [ebp - 0x228], 0
push 0x52b478
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 7
mov word [ebp - 0x228], ax
call fcn.00407890
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x240]
push 2
xor eax, eax
mov dword [ebp - 0x240], 0
push 0x52b47c
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 7
mov word [ebp - 0x240], ax
call fcn.00407890
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x258]
call fcn.0040f2a0
mov byte [ebp - 4], 7
add esp, 4
mov edx, dword [ebp - 0x22c]
cmp edx, 8
jb 0x413026
mov ecx, dword [ebp - 0x240]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41301c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41405b
push edx
push ecx
call fcn.0045b5e1
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x214]
cmp edx, 8
jb 0x41306a
mov ecx, dword [ebp - 0x228]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413060
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41405b
push edx
push ecx
call fcn.0045b5e1
add esp, 8
push 2
xor eax, eax
mov dword [ebp - 0x228], 0
push 0x52b47c
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 7
mov word [ebp - 0x228], ax
call fcn.00407890
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x240]
push 1
xor eax, eax
mov dword [ebp - 0x240], 0
push 0x52b478
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 7
mov word [ebp - 0x240], ax
call fcn.00407890
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0xa
push eax
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x258]
call fcn.0040f2a0
mov byte [ebp - 4], 9
add esp, 4
mov edx, dword [ebp - 0x22c]
cmp edx, 8
jb 0x413143
mov ecx, dword [ebp - 0x240]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413139
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41405b
push edx
push ecx
call fcn.0045b5e1
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x214]
cmp edx, 8
jb 0x413187
mov ecx, dword [ebp - 0x228]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41317d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41405b
push edx
push ecx
call fcn.0045b5e1
add esp, 8
cmp dword [ebp - 0x244], 8
lea eax, [ebp - 0x258]
cmovae eax, dword [ebp - 0x258]
push eax
push dword [edi + 0x688]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x688]
call esi
mov ecx, edi
call fcn.004152b0
cmp dword [edi + 0x6a0], 1
jne 0x41326c
mov edi, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x304]
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x300]
sub esi, edi
mov edx, ecx
push 1
sub edx, eax
sub ecx, edx
push ecx
push esi
push edx
push edi
mov edi, dword [ebp - 0x318]
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [0x545d00]
push 0
mov dword [edi + 0x664], eax
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [edi + 0x660], 2
mov dword [edi + 0x65c], 1
mov esi, dword [0x540e44]
push 0
push dword [edi + 0x47c]
call eax
push esi
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_SetFocus]
push 5
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x412dc4
push 5
push dword [edi + 0x68c]
call esi
mov eax, dword [ebp - 0x304]
mov esi, dword [ebp - 0x30c]
sub eax, esi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov dword [ebp - 0x324], edi
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x300]
sub edi, esi
mov edx, ecx
mov dword [ebp - 0x314], ecx
sub edx, eax
mov eax, dword [ebp - 0x318]
push 1
sub ecx, edx
mov dword [ebp - 0x320], edx
push ecx
push edi
mov edi, dword [sym.imp.USER32.dll_MoveWindow]
push edx
push esi
push dword [eax + 0x28c]
call edi
mov ecx, dword [ebp - 0x318]
mov eax, dword [0x545d00]
push 0
push 0
mov dword [ecx + 0x474], eax
mov eax, dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [ecx + 0x470], 6
mov dword [ecx + 0x46c], 1
push dword [ecx + 0x28c]
mov esi, dword [0x540e44]
call eax
push esi
mov esi, dword [ebp - 0x318]
push dword [esi + 0x28c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
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 ecx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x314]
mov edx, dword [ebp - 0x324]
sub eax, ecx
push 1
push eax
mov eax, dword [ebp - 0x304]
sub eax, edx
push eax
push ecx
push edx
push dword [esi + 0x47c]
call edi
mov eax, dword [0x545d00]
mov edi, esi
push 0
push 0
mov dword [edi + 0x660], 2
mov dword [edi + 0x65c], 0
mov dword [edi + 0x664], eax
push dword [edi + 0x47c]
mov esi, dword [0x540e6c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x412dc4
mov ecx, dword [edi + 0x6a0]
cmp ecx, 4
je 0x4133d1
cmp ecx, 5
jne 0x41342e
mov ecx, dword [edi + 0x694]
mov dword [ebp - 0x31c], ecx
call fcn.0041b2ad
mov ecx, dword [ebp - 0x31c]
mov al, byte [ecx + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x2c], 0
test eax, eax
je 0x41340f
push 0
push 0
push 0x401
push dword [eax]
call esi
mov ecx, dword [ebp - 0x31c]
cmp byte [ebp - 0x30d], 0
je 0x41341f
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [edi + 0x678]
call eax
mov ecx, dword [edi + 0x668]
mov dword [ebp - 0x314], 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 0x413461
push 0
push 1
push 0x401
push dword [eax]
call esi
mov ecx, dword [ebp - 0x314]
cmp byte [ebp - 0x30d], 1
je 0x413471
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [edi + 0x670]
call esi
push 0
push dword [edi + 0x680]
call esi
cmp dword [edi + 0x690], 0
je 0x413601
call fcn.004167e0
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [eax + 4]
push 0xa7
call esi
mov dword [ebp - 0x314], eax
call fcn.004167e0
push 0x60
push dword [eax]
push 0x1b
call esi
mov edi, eax
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0xa2
call esi
mov esi, eax
call fcn.004167e0
push 0x60
push dword [eax]
push 0x1b
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x220], eax
lea edx, [ebp - 0x220]
mov eax, dword [ebp - 0x304]
sub eax, edi
mov dword [ebp - 0x21c], esi
mov edi, dword [ebp - 0x318]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x214], eax
mov ecx, dword [edi + 0x690]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, dword [edi + 0x690]
cmp dword [esi + 0x60], 0x64
ja 0x413548
mov dword [esi + 0x54], 0
mov dword [esi + 0x58], 0x64
mov esi, dword [edi + 0x690]
mov eax, dword [edi + 0x7ec]
mov ecx, dword [esi + 0x60]
cmp eax, ecx
je 0x4135c3
sub eax, ecx
mov byte [esi + 0x69], 1
mov edx, eax
shr edx, 0x1f
mov dword [ebp - 0x320], edx
mov byte [esi + 0x68], dl
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esi + 0x5c]
mov dword [ebp - 0x314], edx
cdq
idiv dword [ebp - 0x314]
mov dword [esi + 0x64], eax
test edx, edx
je 0x413589
inc eax
mov dword [esi + 0x64], eax
mov edx, dword [esi + 0x5c]
mov eax, dword [esi + 0x58]
neg edx
cmp byte [ebp - 0x320], 0
cmove edx, dword [esi + 0x5c]
add edx, ecx
mov dword [esi + 0x60], edx
cmp edx, eax
jg 0x4135ae
cmp edx, dword [esi + 0x54]
mov eax, edx
cmovl eax, dword [esi + 0x54]
mov dword [esi + 0x60], eax
mov ecx, esi
mov eax, dword [esi]
push 0
call dword [eax + 0x24]
dec dword [esi + 0x64]
mov esi, dword [edi + 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 0x4135e9
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 0x4135fb
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x24]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x540e14]
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x67c]
call esi
push 0
push dword [edi + 0x688]
call esi
push 0
push dword [edi + 0x68c]
call esi
push 0
push dword [edi + 0x28c]
call esi
mov edi, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x304]
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x300]
sub esi, edi
mov edx, ecx
push 1
sub edx, eax
sub ecx, edx
push ecx
push esi
push edx
push edi
mov edi, dword [ebp - 0x318]
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_MoveWindow]
push 0
mov dword [edi + 0x660], 2
mov esi, dword [0x540434]
push 0
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [edi + 0x47c]
call eax
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_SetFocus]
push 1
push dword [edi + 0xac]
lea esi, [edi + 0xac]
mov dword [edi + 0x7e4], 1
call dword [sym.imp.USER32.dll_EnableWindow]
lea eax, [edi + 0xa8]
neg eax
push 1
sbb eax, eax
and eax, esi
push 0
push dword [eax]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp case.default.0x412221
cmp byte [edi + 0x7fa], 0
mov ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x314], ecx
je 0x41371f
mov esi, dword [ebp - 0x304]
jmp 0x41372e
mov eax, dword [ebp - 0x304]
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov dword [ebp - 0x31c], esi
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x300]
mov edx, ecx
sub edx, eax
mov dword [ebp - 0x320], ecx
push 1
sub ecx, edx
mov dword [ebp - 0x324], edx
push ecx
mov ecx, dword [ebp - 0x314]
sub esi, ecx
push esi
push edx
push ecx
push dword [edi + 0x28c]
mov edi, dword [sym.imp.USER32.dll_MoveWindow]
call edi
mov eax, dword [ebp - 0x318]
push 0
push 0
mov dword [eax + 0x470], 6
mov dword [eax + 0x46c], 0
push dword [eax + 0x28c]
mov esi, dword [0x540eb4]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
mov esi, dword [ebp - 0x318]
push dword [esi + 0x28c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [esi + 0x28c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 0x324]
mov eax, dword [ebp - 0x320]
mov edx, dword [ebp - 0x31c]
sub eax, ecx
push 1
push eax
mov eax, dword [ebp - 0x304]
sub eax, edx
push eax
push ecx
push edx
push dword [esi + 0x47c]
call edi
mov edi, dword [ebp - 0x318]
mov esi, dword [0x540434]
push 0
push 0
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
push dword [edi + 0x47c]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
call edi
mov eax, dword [ebp - 0x318]
mov esi, dword [0x540eac]
push 0
push 0
push dword [eax + 0x47c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
mov esi, dword [ebp - 0x318]
push dword [esi + 0x47c]
call edi
push 5
push dword [esi + 0x47c]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
call esi
mov eax, dword [ebp - 0x318]
push dword [0x540e74]
push dword [eax + 0x67c]
call edi
mov edi, dword [ebp - 0x318]
push 5
push dword [edi + 0x67c]
call esi
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_SetFocus]
jmp case.default.0x412221
cmp byte [edi + 0x7fa], 0
mov ecx, 0x1538
mov eax, 0x12f8
cmovne eax, ecx
push dword [eax + 0x53fb24]
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [edi + 0x690]
mov dword [ebp - 0x314], ecx
test ecx, ecx
je 0x41390b
mov al, byte [ecx + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x2c], 1
test eax, eax
je 0x4138fb
push 0
push 1
push 0x401
push dword [eax]
call esi
mov ecx, dword [ebp - 0x314]
cmp byte [ebp - 0x30d], 1
je 0x41390b
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
push 0
push dword [edi + 0x28c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x304]
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x300]
sub esi, edi
mov edx, ecx
push 1
sub edx, eax
sub ecx, edx
push ecx
push esi
push edx
push edi
mov edi, dword [ebp - 0x318]
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_MoveWindow]
mov esi, dword [0x540434]
push 0
push 0
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
mov esi, edi
push dword [esi + 0x47c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push 0
push dword [esi + 0x47c]
call edi
push 5
push dword [esi + 0x47c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esi + 0x7e4], 0
add esi, 0xac
push 0
push dword [esi]
call edi
mov edi, dword [ebp - 0x318]
push 1
push 0
lea eax, [edi + 0xa8]
neg eax
sbb eax, eax
and eax, esi
push dword [eax]
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp byte [edi + 0x7fa], 0
je case.default.0x412221
mov ecx, dword [edi + 0x7f4]
test ecx, ecx
je 0x413a19
call fcn.0040aeb0
mov eax, dword [edi + 0x7f4]
test eax, eax
je 0x413a0f
cmp dword [eax + 4], 0
jne 0x414060
push 8
push eax
call fcn.0045b5e1
add esp, 8
mov dword [edi + 0x7f4], 0
push 8
call fcn.004c1f39
mov esi, eax
add esp, 4
test esi, esi
je 0x414065
mov dword [ebp - 0x320], esi
push 8
mov dword [ebp - 4], 0xb
call fcn.004c1f39
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x414076
mov eax, dword [edi + 4]
mov dword [ecx], eax
mov dword [ecx + 4], 0x411cf0
mov dword [ebp - 0x324], ecx
lea eax, [esi + 4]
mov byte [ebp - 4], 0xc
push eax
push 0
push ecx
push 0x418740
push 0
push 0
mov dword [ebp - 0x314], eax
call fcn.004d0b03
add esp, 0x18
mov dword [esi], eax
test eax, eax
je 0x414087
mov dword [edi + 0x7f4], esi
jmp case.default.0x412221
mov edi, dword [edi + 0x690]
test edi, edi
je 0x413ad4
mov al, byte [edi + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [edi + 0x50]
mov byte [edi + 0x2c], 0
test eax, eax
je 0x413ac2
push 0
push 0
push 0x401
push dword [eax]
call esi
cmp byte [ebp - 0x30d], 0
je 0x413ad4
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x24]
mov eax, dword [ebp - 0x304]
mov esi, dword [ebp - 0x30c]
sub eax, esi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov dword [ebp - 0x324], edi
call fcn.004167e0
push 0x60
push dword [eax + 4]
push 0x27
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x300]
sub edi, esi
mov edx, ecx
mov dword [ebp - 0x314], ecx
sub edx, eax
mov eax, dword [ebp - 0x318]
push 1
sub ecx, edx
mov dword [ebp - 0x320], edx
push ecx
push edi
mov edi, dword [sym.imp.USER32.dll_MoveWindow]
push edx
push esi
push dword [eax + 0x28c]
call edi
mov eax, dword [ebp - 0x318]
push 0
push 0
mov dword [eax + 0x470], 6
mov dword [eax + 0x46c], 0
push dword [eax + 0x28c]
mov esi, dword [0x540eb4]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
mov esi, dword [ebp - 0x318]
push dword [esi + 0x28c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [0x545d00]
push 5
push dword [esi + 0x28c]
mov dword [esi + 0x474], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov al, byte [esi + 0x7fa]
mov ecx, dword [ebp - 0x320]
mov edx, dword [ebp - 0x324]
mov byte [ebp - 0x30d], al
mov eax, dword [ebp - 0x314]
push 1
sub eax, ecx
push eax
mov eax, dword [ebp - 0x304]
sub eax, edx
push eax
push ecx
push edx
push dword [esi + 0x47c]
call edi
cmp byte [ebp - 0x30d], 0
mov ecx, 0x1388
mov edi, dword [ebp - 0x318]
mov eax, 0x910
push 0
cmove eax, ecx
push 0
push dword [edi + 0x47c]
mov esi, dword [eax + 0x53fb24]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
push dword [edi + 0x47c]
mov esi, dword [sym.imp.USER32.dll_SetWindowTextW]
call esi
mov eax, dword [0x545d00]
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.004140d0
cmp dword [eax + 0x14], 8
jb 0x413c49
mov eax, dword [eax]
push eax
push dword [edi + 0x67c]
call esi
mov edx, dword [ebp - 0x244]
cmp edx, 8
jb 0x413c92
mov ecx, dword [ebp - 0x258]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413c88
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41405b
push edx
push ecx
call fcn.0045b5e1
add esp, 8
push 5
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_SetFocus]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 1
push dword [edi + 0x47c]
call esi
mov dword [edi + 0x7e4], 1
add edi, 0xac
push 1
push dword [edi]
call esi
mov esi, dword [ebp - 0x318]
push 1
push 0
lea eax, [esi + 0xa8]
neg eax
sbb eax, eax
and eax, edi
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
push dword [eax]
call edi
push 1
push 0
push dword [esi + 4]
call edi
jmp case.default.0x412221
push dword [0x53fb4c]
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [edi + 0x690]
mov dword [ebp - 0x314], ecx
test ecx, ecx
je 0x413d67
mov al, byte [ecx + 0x2c]
mov byte [ebp - 0x30d], al
mov eax, dword [ecx + 0x50]
mov byte [ecx + 0x2c], 0
test eax, eax
je 0x413d57
push 0
push 0
push 0x401
push dword [eax]
call esi
mov ecx, dword [ebp - 0x314]
cmp byte [ebp - 0x30d], 0
je 0x413d67
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
push 1
push dword [edi + 0xac]
lea esi, [edi + 0xac]
mov dword [edi + 0x7e4], 1
call dword [sym.imp.USER32.dll_EnableWindow]
lea eax, [edi + 0xa8]
neg eax
push 1
sbb eax, eax
and eax, esi
push 0
push dword [eax]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [edi + 0x6a0]
cmp eax, 8
je 0x413e7a
cmp eax, 9
je 0x413e7a
cmp byte [edi + 0x7f8], 0
je 0x413e66
cmp byte [edi + 0x7f9], 0
je 0x413e66
cmp byte [edi + 0x7fa], 0
jne 0x413e66
lea eax, [ebp - 0x30d]
mov byte [ebp - 0x30d], 0
push eax
call fcn.004120a0
test al, al
je 0x413e66
mov eax, dword [0x5552f8]
test al, 1
jne 0x413e24
or eax, 1
mov dword [0x5552f8], eax
mov dword [ebp - 4], 0xd
call fcn.00442480
push 0x4f1ff0
call fcn.0045b82b
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x555468]
test ecx, ecx
je 0x413e51
movzx eax, byte [ebp - 0x30d]
mov edx, dword [ecx]
push 0
push 0
push str.after_install
push eax
push dword [edi + 0x6a0]
push 0
push 0x7dc
call dword [edx + 4]
push 0xa
mov ecx, edi
mov byte [edi + 0x7fa], 1
call fcn.00412160
jmp case.default.0x412221
push 0
push 0x66
push 0x66
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x412221
mov al, byte [edi + 0x7fb]
test al, al
je 0x413e9c
push dword [0x541054]
push dword [edi + 0x67c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov al, byte [edi + 0x7fb]
mov ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x314], ecx
test al, al
je 0x413ebd
mov eax, dword [ebp - 0x304]
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x413ec3
mov esi, dword [ebp - 0x304]
mov dword [ebp - 0x31c], esi
call fcn.004167e0
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 - 0x324], edx
push 1
sub edx, ecx
mov dword [ebp - 0x320], ecx
push edx
mov edx, dword [ebp - 0x314]
sub esi, edx
push esi
push ecx
push edx
push dword [edi + 0x28c]
call dword [sym.imp.USER32.dll_MoveWindow]
cmp byte [edi + 0x7fb], 0
mov ecx, 0x1528
push 0
mov eax, 0x938
mov dword [edi + 0x470], 6
cmovne eax, ecx
mov dword [edi + 0x46c], 0
push 0
push dword [edi + 0x28c]
mov esi, dword [eax + 0x53fb24]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
push dword [edi + 0x28c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [0x545d00]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [edi + 0x28c]
mov dword [edi + 0x474], eax
call esi
cmp byte [edi + 0x7fb], 0
je 0x41400e
mov edx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x324]
mov ecx, dword [ebp - 0x31c]
sub eax, edx
push 1
push eax
mov eax, dword [ebp - 0x304]
sub eax, ecx
push eax
push edx
push ecx
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [0x545d00]
push 0
mov dword [edi + 0x660], 2
mov dword [edi + 0x65c], 0
mov dword [edi + 0x664], eax
mov esi, dword [0x54045c]
push 0
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 5
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
push dword [edi + 0x47c]
call dword [sym.imp.USER32.dll_EnableWindow]
jmp case.default.0x412221
push 0
push dword [edi + 0x47c]
call esi
jmp case.default.0x412221
lea eax, [ebp - 0x30c]
mov ecx, edi
push eax
call fcn.00415450
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045b5b0
mov esp, ebp
pop ebp
ret 4
push 0x53ab50
lea eax, [ebp - 0x30d]
push eax
call fcn.004bf594
call fcn.004c1e0f
call fcn.004c1e0f
call fcn.004c9297
push 0x53ab50
lea eax, [ebp - 0x30d]
push eax
call fcn.004bf594
push 0x53ab50
lea eax, [ebp - 0x325]
push eax
call fcn.004bf594
mov eax, dword [ebp - 0x314]
push 6
mov dword [eax], 0
call fcn.0045a531
nop
sub byte [edx], ah
inc ecx
add byte [0x3400412b], ah
sub al, 0x41
add byte [0xc100412e], cl
xor eax, dword [ecx]
add dh, byte [edi]
inc ecx
add byte [eax - 0x68ffbec8], dl
cmp al, byte [ecx]
xchg edi, eax
cmp al, byte [ecx]
add byte [0x401a0041], bh
inc ecx
add ah, cl
int3