Function at 0x40fe94
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
push ebx
push esi
push edi
cmp dword [ebp + 0xc], 2
je 0x410a45
cmp dword [0x420ce0], 0
je 0x40fee4
cmp dword [0x420ce0], 1
je 0x40ff02
cmp dword [0x420ce0], 2
je 0x40fed0
cmp dword [0x420ce0], 3
je 0x40fed0
jmp 0x40fee4
pushal
cld
mov edi, dword [ebp + 8]
lea esi, [0x420e68]
mov ecx, dword [0x420e64]
rep movsb byte es:[edi], byte [esi]
popal
cld
mov esi, dword [ebp + 8]
lodsb al, byte [esi]
cmp al, 0x28
je 0x410ab2
cmp al, 0x23
je 0x40ff3e
cmp al, 0x51
je 0x40ff02
cmp al, 0x4e
je 0x40ff02
jmp 0x4116d5
call fcn.00411709
lea edi, [ebp - 0x12c]
push eax
push str._s_not_supported
push 0x12c
push edi
call dword [sym.imp.SHLWAPI.DLL_wnsprintfA]
add esp, 0x10
push 0
push edi
call fcn.00414acf
call fcn.004117c4
call fcn.00409100
mov eax, 0xffffffff
jmp 0x4116ce
push 0x420850
call dword [sym.imp.KERNEL32.DLL_GetLocalTime]
cmp byte [0x4262c4], 0
je 0x40ff61
push 1
push 0x411737
push dword [ebp + 8]
call fcn.00415062
mov byte [0x41edcd], 0
mov byte [0x4203db], 0
mov byte [0x4203e1], 0
mov byte [0x4203e2], 0
mov ebx, esi
mov eax, ebx
call fcn.0041098b
cmp byte [esi], 0x20
jne 0x41091a
inc esi
mov ebx, esi
cmp eax, dword [0x42985c]
je 0x410073
mov dword [0x42985c], eax
push eax
push 0x12d
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x42985c]
test eax, eax
je 0x410073
cmp eax, dword [0x4298e8]
jbe 0x410011
mov byte [0x4203e2], 1
mov dword [0x4298e8], eax
push eax
push 0x131
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429988]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x132
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x42985c]
mov edx, dword [0x4298c8]
test edx, edx
je 0x41001f
cmp eax, edx
jae 0x410073
cmp byte [0x4262ca], 0
je 0x410030
cmp eax, dword [0x4262cc]
jb 0x410073
mov byte [0x4203e2], 1
mov dword [0x4298c8], eax
push eax
push 0x12e
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429908]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x12f
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x42985c]
mov dword [0x429860], eax
mov eax, ebx
call fcn.0041098b
cmp byte [esi], 0x20
jne 0x41091a
inc esi
mov ebx, esi
cmp eax, dword [0x429868]
je 0x410160
mov dword [0x429868], eax
push eax
push 0x14b
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x429868]
test eax, eax
je 0x410160
cmp eax, dword [0x4298f0]
jbe 0x41010f
mov byte [0x4203e2], 1
mov dword [0x4298f0], eax
push eax
push 0x14f
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x4299a8]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x150
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429868]
mov edx, dword [0x4298d0]
test edx, edx
je 0x41011d
cmp eax, edx
jae 0x410160
mov byte [0x4203e2], 1
mov dword [0x4298d0], eax
push eax
push 0x14c
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429928]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x14d
push dword [0x420af8]
call fcn.004086ef
mov eax, ebx
call fcn.004109be
cmp byte [esi], 0x20
jne 0x41091a
inc esi
mov ebx, esi
cmp eax, dword [0x42986c]
je 0x410251
mov dword [0x42986c], eax
push 0
push dword [0x42986c]
push 0x155
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemInt]
mov eax, dword [0x42986c]
test eax, eax
je 0x410251
cmp eax, dword [0x4298f4]
jbe 0x4101fd
mov byte [0x4203e2], 1
mov dword [0x4298f4], eax
push 0
push eax
push 0x159
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemInt]
lea esi, [0x420850]
lea edi, [0x4299b8]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x15a
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x42986c]
mov edx, dword [0x4298d4]
test edx, edx
je 0x41020b
cmp eax, edx
jae 0x410251
mov byte [0x4203e2], 1
mov dword [0x4298d4], eax
push 0
push eax
push 0x156
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemInt]
lea esi, [0x420850]
lea edi, [0x429938]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x157
push dword [0x420af8]
call fcn.004086ef
mov eax, ebx
call fcn.004109d0
cmp byte [esi], 0x20
jne 0x41091a
inc esi
mov ebx, esi
cmp eax, dword [0x429864]
je 0x410334
mov dword [0x429864], eax
push eax
push 0x141
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x429864]
test eax, eax
je 0x410334
cmp eax, dword [0x4298ec]
jbe 0x4102e3
mov byte [0x4203e2], 1
mov dword [0x4298ec], eax
push eax
push 0x145
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429998]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x146
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429864]
mov edx, dword [0x4298cc]
test edx, edx
je 0x4102f1
cmp eax, edx
jae 0x410334
mov byte [0x4203e2], 1
mov dword [0x4298cc], eax
push eax
push 0x142
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429918]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x143
push dword [0x420af8]
call fcn.004086ef
mov eax, ebx
call fcn.00410a19
cmp byte [esi], 0x20
jne 0x41091a
inc esi
mov ebx, esi
mov dl, byte [0x420412]
or dl, byte [0x42040e]
je 0x410361
mov edx, dword [0x429880]
test edx, edx
je 0x410361
mov eax, edx
cmp eax, dword [0x429874]
je 0x410431
mov dword [0x429874], eax
push eax
push 0x169
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x429874]
test eax, eax
je 0x410431
cmp eax, dword [0x4298fc]
jbe 0x4103e0
mov byte [0x4203e2], 1
mov dword [0x4298fc], eax
push eax
push 0x16d
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x4299d8]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x16e
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429874]
mov edx, dword [0x4298dc]
test edx, edx
je 0x4103ee
cmp eax, edx
jae 0x410431
mov byte [0x4203e2], 1
mov dword [0x4298dc], eax
push eax
push 0x16a
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429958]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x16b
push dword [0x420af8]
call fcn.004086ef
xor eax, eax
cmp eax, dword [0x429870]
je 0x410503
mov dword [0x429870], eax
push eax
push 0x15f
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x429870]
test eax, eax
je 0x410503
cmp eax, dword [0x4298f8]
jbe 0x4104b2
mov byte [0x4203e2], 1
mov dword [0x4298f8], eax
push eax
push 0x163
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x4299c8]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x164
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429870]
mov edx, dword [0x4298d8]
test edx, edx
je 0x4104c0
cmp eax, edx
jae 0x410503
mov byte [0x4203e2], 1
mov dword [0x4298d8], eax
push eax
push 0x160
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429948]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x161
push dword [0x420af8]
call fcn.004086ef
mov eax, ebx
call fcn.004109be
cmp byte [esi], 0x20
je 0x410518
cmp byte [esi], 0xd
jne 0x41091a
mov ebx, eax
bt ebx, 7
setb al
add al, 0x30
cmp al, 0x31
jne 0x410547
push eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4203c8], eax
pop eax
mov dword [0x4203dc], 0
mov byte [0x4203d9], 1
jmp 0x41058f
mov dword [0x4203c8], 0
mov byte [0x4203d5], 0
mov byte [0x4203d8], 0
mov dword [0x4203cc], 0
mov byte [0x4203d6], 0
cmp byte [0x4203d9], 0
je 0x41058f
cmp byte [0x4289e0], 0
je 0x41058f
push eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4203dc], eax
pop eax
cmp al, byte [0x429a48]
je 0x4105d6
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429a48
call fcn.004080a2
push 0x429a48
push 0x191
call fcn.0040866e
mov eax, dword [str.Powered_by_batteries]
cmp byte [0x429a48], 0x31
je 0x4105d1
mov eax, dword [str.Mains_power_is_restored]
call fcn.004080cb
bt ebx, 6
setb al
add al, 0x30
cmp al, 0x31
jne 0x4105f2
push eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4203cc], eax
pop eax
jmp 0x410603
mov dword [0x4203cc], 0
mov byte [0x4203d6], 0
cmp al, byte [0x429a84]
je 0x410645
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429a84
call fcn.004080a2
push 0x429a84
push 0x19b
call fcn.0040866e
cmp byte [0x429a84], 0x31
jne 0x410645
mov eax, dword [str.The_battery_is_low]
call fcn.004080cb
bt ebx, 5
setb al
add al, 0x30
cmp al, byte [0x429ac0]
je 0x410686
mov byte [0x4203e2], 1
cmp byte [0x425eaa], 1
je 0x41066d
mov byte [0x4203e1], 1
mov esi, 0x429ac0
call fcn.004080a2
push 0x429ac0
push 0x1a5
call fcn.0040866e
bt ebx, 4
setb al
add al, 0x30
cmp al, 0x31
jne 0x4106a2
push eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4203d0], eax
pop eax
jmp 0x4106b3
mov dword [0x4203d0], 0
mov byte [0x4203d7], 0
cmp al, byte [0x429afc]
je 0x4106f5
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429afc
call fcn.004080a2
push 0x429afc
push 0x1af
call fcn.0040866e
cmp byte [0x429afc], 0x31
jne 0x4106f5
mov eax, dword [str.Error_UPS]
call fcn.004080cb
bt ebx, 3
jae 0x410707
mov byte [0x420412], 0
call fcn.00409100
bt ebx, 3
setb al
add al, 0x30
cmp al, byte [0x429b38]
je 0x41073f
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429b38
call fcn.004080a2
push 0x429b38
push 0x1b9
call fcn.0040866e
bt ebx, 2
setb al
add al, 0x30
cmp al, byte [0x429b74]
je 0x410777
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429b74
call fcn.004080a2
push 0x429b74
push 0x1c3
call fcn.0040866e
bt ebx, 1
setb al
add al, 0x30
cmp al, byte [0x429bb0]
je 0x4107af
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429bb0
call fcn.004080a2
push 0x429bb0
push 0x1cd
call fcn.0040866e
bt ebx, 0
setb al
add al, 0x30
mov byte [0x429c28], al
cmp al, byte [0x429bec]
je 0x4107ec
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429bec
call fcn.004080a2
push 0x429bec
push 0x1d7
call fcn.0040866e
mov eax, dword [0x42985c]
cmp eax, dword [0x429860]
jne 0x4108c4
cmp byte [0x429a08], 0
je 0x410915
mov byte [0x429a08], 0
push 0x4201e2
push 0x137
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemTextW]
push 0x4201da
push 0x138
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemTextA]
mov eax, dword [0x429a20]
mov dword [0x429a34], eax
push eax
push 0x13b
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x429a24]
lea edi, [0x429a38]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x13c
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429a0c]
mov dword [0x429a20], eax
push eax
push 0x139
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x429a10]
lea edi, [0x429a24]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x13a
push dword [0x420af8]
call fcn.004086ef
jmp 0x4114bf
mov byte [0x429a08], 1
mov eax, dword [0x429860]
mov dword [0x429a0c], eax
lea esi, [0x420850]
lea edi, [0x429a10]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x429a0c]
push eax
push 0x137
push dword [0x420af8]
call fcn.004088b4
lea eax, [0x429a10]
push eax
push 0x138
push dword [0x420af8]
call fcn.004086ef
jmp 0x4114bf
lea edi, [ebp - 0x12c]
mov ebx, esp
mov esi, dword [ebp + 8]
add esi, 0x1f
mov ecx, 0x20
std
xor eax, eax
lodsb al, byte [esi]
push eax
loop 0x410930
cld
call fcn.00411709
push eax
push str._s_answer_unknown__unsupported_UPS__contact_to_author_____02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X
push 0x12c
push edi
call dword [sym.imp.SHLWAPI.DLL_wnsprintfA]
mov esp, ebx
push 0
push edi
call fcn.00414acf
call fcn.0041176a
xor eax, eax
jmp 0x4116ce
cmp dword [0x420ce4], 0
je 0x410a83
cmp dword [0x420ce4], 1
je 0x40ff02
cmp dword [0x420ce4], 2
je 0x410a6f
cmp dword [0x420ce4], 3
je 0x410a6f
jmp 0x410a83
pushal
cld
mov edi, dword [ebp + 8]
lea esi, [0x420f34]
mov ecx, dword [0x420f30]
rep movsb byte es:[edi], byte [esi]
popal
lodsb al, byte [esi]
cmp al, 0x28
je 0x410aa7
cmp al, 0x23
je 0x40ff3e
cmp al, 0x51
je 0x40ff02
cmp al, 0x4e
je 0x40ff02
xor eax, eax
jmp 0x4116ce
cmp byte [esi], 0x4e
je 0x40ff02
jmp 0x410abb
cmp byte [esi], 0x4e
je 0x40ff02
push 0x420850
call dword [sym.imp.KERNEL32.DLL_GetLocalTime]
cmp byte [0x4262c4], 0
je 0x410adf
call fcn.00411709
push 0
push eax
push dword [ebp + 8]
call fcn.00415062
mov byte [0x4203e1], 0
mov byte [0x4203e2], 0
mov ebx, esi
push ebx
call fcn.0040896d
jb 0x4116d5
cmp eax, dword [0x42985c]
je 0x410bdc
mov dword [0x42985c], eax
push eax
push 0x12d
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x42985c]
test eax, eax
je 0x410bdc
cmp eax, dword [0x4298e8]
jbe 0x410b7a
mov byte [0x4203e2], 1
mov dword [0x4298e8], eax
push eax
push 0x131
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429988]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x132
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x42985c]
mov edx, dword [0x4298c8]
test edx, edx
je 0x410b88
cmp eax, edx
jae 0x410bdc
cmp byte [0x4262ca], 0
je 0x410b99
cmp eax, dword [0x4262cc]
jb 0x410bdc
mov byte [0x4203e2], 1
mov dword [0x4298c8], eax
push eax
push 0x12e
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429908]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x12f
push dword [0x420af8]
call fcn.004086ef
push ebx
call fcn.0040893e
test eax, eax
je 0x4116d5
mov ebx, eax
push eax
call fcn.0040896d
jb 0x4116d5
mov dword [0x429860], eax
push ebx
call fcn.0040893e
test eax, eax
je 0x4116d5
mov ebx, eax
push eax
call fcn.0040896d
jb 0x4116d5
cmp eax, dword [0x429868]
je 0x410ce9
mov dword [0x429868], eax
push eax
push 0x14b
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x429868]
test eax, eax
je 0x410ce9
cmp eax, dword [0x4298f0]
jbe 0x410c98
mov byte [0x4203e2], 1
mov dword [0x4298f0], eax
push eax
push 0x14f
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x4299a8]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x150
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429868]
mov edx, dword [0x4298d0]
test edx, edx
je 0x410ca6
cmp eax, edx
jae 0x410ce9
mov byte [0x4203e2], 1
mov dword [0x4298d0], eax
push eax
push 0x14c
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429928]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x14d
push dword [0x420af8]
call fcn.004086ef
push ebx
call fcn.0040893e
test eax, eax
je 0x4116d5
mov ebx, eax
push eax
call fcn.004089fe
jb 0x4116d5
cmp eax, dword [0x42986c]
je 0x410de3
mov dword [0x42986c], eax
push 0
push dword [0x42986c]
push 0x155
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemInt]
mov eax, dword [0x42986c]
test eax, eax
je 0x410de3
cmp eax, dword [0x4298f4]
jbe 0x410d8f
mov byte [0x4203e2], 1
mov dword [0x4298f4], eax
push 0
push eax
push 0x159
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemInt]
lea esi, [0x420850]
lea edi, [0x4299b8]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x15a
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x42986c]
mov edx, dword [0x4298d4]
test edx, edx
je 0x410d9d
cmp eax, edx
jae 0x410de3
mov byte [0x4203e2], 1
mov dword [0x4298d4], eax
push 0
push eax
push 0x156
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemInt]
lea esi, [0x420850]
lea edi, [0x429938]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x157
push dword [0x420af8]
call fcn.004086ef
push ebx
call fcn.0040893e
test eax, eax
je 0x4116d5
mov ebx, eax
push eax
call fcn.0040896d
jb 0x4116d5
cmp eax, dword [0x429864]
je 0x410ecf
mov dword [0x429864], eax
push eax
push 0x141
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x429864]
test eax, eax
je 0x410ecf
cmp eax, dword [0x4298ec]
jbe 0x410e7e
mov byte [0x4203e2], 1
mov dword [0x4298ec], eax
push eax
push 0x145
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429998]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x146
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429864]
mov edx, dword [0x4298cc]
test edx, edx
je 0x410e8c
cmp eax, edx
jae 0x410ecf
mov byte [0x4203e2], 1
mov dword [0x4298cc], eax
push eax
push 0x142
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429918]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x143
push dword [0x420af8]
call fcn.004086ef
push ebx
call fcn.0040893e
test eax, eax
je 0x4116d5
mov ebx, eax
mov dl, byte [0x420412]
or dl, byte [0x42040e]
je 0x410ef8
mov eax, dword [0x429880]
test eax, eax
jne 0x410f04
mov eax, esi
push eax
call fcn.0040896d
jb 0x4116d5
cmp eax, dword [0x429874]
je 0x410fd4
mov dword [0x429874], eax
push eax
push 0x169
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x429874]
test eax, eax
je 0x410fd4
cmp eax, dword [0x4298fc]
jbe 0x410f83
mov byte [0x4203e2], 1
mov dword [0x4298fc], eax
push eax
push 0x16d
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x4299d8]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x16e
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429874]
mov edx, dword [0x4298dc]
test edx, edx
je 0x410f91
cmp eax, edx
jae 0x410fd4
mov byte [0x4203e2], 1
mov dword [0x4298dc], eax
push eax
push 0x16a
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429958]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x16b
push dword [0x420af8]
call fcn.004086ef
push ebx
call fcn.0040893e
test eax, eax
je 0x4116d5
mov ebx, eax
push eax
call fcn.0040896d
cmp eax, dword [0x429870]
je 0x4110ba
mov dword [0x429870], eax
push eax
push 0x15f
push dword [0x420af8]
call fcn.004088b4
mov eax, dword [0x429870]
test eax, eax
je 0x4110ba
cmp eax, dword [0x4298f8]
jbe 0x411069
mov byte [0x4203e2], 1
mov dword [0x4298f8], eax
push eax
push 0x163
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x4299c8]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x164
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429870]
mov edx, dword [0x4298d8]
test edx, edx
je 0x411077
cmp eax, edx
jae 0x4110ba
mov byte [0x4203e2], 1
mov dword [0x4298d8], eax
push eax
push 0x160
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x420850]
lea edi, [0x429948]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x161
push dword [0x420af8]
call fcn.004086ef
push ebx
call fcn.0040893e
test eax, eax
je 0x4116d5
mov ebx, eax
mov al, byte [ebx]
cmp al, 0x31
jne 0x4110f9
cmp dword [0x4203c8], 0
jne 0x4110e6
push eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4203c8], eax
pop eax
mov dword [0x4203dc], 0
mov byte [0x4203d9], 1
jmp 0x41114a
mov dword [0x4203c8], 0
mov byte [0x4203d5], 0
mov byte [0x4203d8], 0
mov dword [0x4203cc], 0
mov byte [0x4203d6], 0
cmp byte [0x4203d9], 0
je 0x41114a
cmp byte [0x4289e0], 0
je 0x41114a
cmp dword [0x4203dc], 0
jne 0x41114a
push eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4203dc], eax
pop eax
cmp al, byte [0x429a48]
je 0x411191
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429a48
call fcn.004080a2
push 0x429a48
push 0x191
call fcn.0040866e
mov eax, dword [str.Powered_by_batteries]
cmp byte [0x429a48], 0x31
je 0x41118c
mov eax, dword [str.Mains_power_is_restored]
call fcn.004080cb
mov al, byte [ebx + 1]
cmp al, 0x31
jne 0x4111b0
cmp dword [0x4203cc], 0
jne 0x4111ae
push eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4203cc], eax
pop eax
jmp 0x4111c1
mov dword [0x4203cc], 0
mov byte [0x4203d6], 0
cmp al, byte [0x429a84]
je 0x411203
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429a84
call fcn.004080a2
push 0x429a84
push 0x19b
call fcn.0040866e
cmp byte [0x429a84], 0x31
jne 0x411203
mov eax, dword [str.The_battery_is_low]
call fcn.004080cb
mov al, byte [ebx + 2]
cmp al, byte [0x429ac0]
je 0x41123e
mov byte [0x4203e2], 1
cmp byte [0x425eaa], 1
je 0x411225
mov byte [0x4203e1], 1
mov esi, 0x429ac0
call fcn.004080a2
push 0x429ac0
push 0x1a5
call fcn.0040866e
mov al, byte [ebx + 3]
cmp al, 0x31
jne 0x41125d
cmp dword [0x4203d0], 0
jne 0x41125b
push eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4203d0], eax
pop eax
jmp 0x41126e
mov dword [0x4203d0], 0
mov byte [0x4203d7], 0
cmp al, byte [0x429afc]
je 0x4112b0
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429afc
call fcn.004080a2
push 0x429afc
push 0x1af
call fcn.0040866e
cmp byte [0x429afc], 0x31
jne 0x4112b0
mov eax, dword [str.Error_UPS]
call fcn.004080cb
mov al, byte [ebx + 4]
cmp al, 0x31
jne 0x4112c3
mov byte [0x420412], 0
call fcn.00409100
mov al, byte [ebx + 4]
cmp al, byte [0x429b38]
je 0x4112f5
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429b38
call fcn.004080a2
push 0x429b38
push 0x1b9
call fcn.0040866e
mov al, byte [ebx + 5]
cmp al, byte [0x429b74]
je 0x411327
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429b74
call fcn.004080a2
push 0x429b74
push 0x1c3
call fcn.0040866e
mov al, byte [ebx + 6]
cmp al, byte [0x429bb0]
je 0x411359
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429bb0
call fcn.004080a2
push 0x429bb0
push 0x1cd
call fcn.0040866e
mov al, byte [ebx + 7]
mov byte [0x429c28], al
cmp al, byte [0x429bec]
je 0x411390
mov byte [0x4203e2], 1
mov byte [0x4203e1], 1
mov esi, 0x429bec
call fcn.004080a2
push 0x429bec
push 0x1d7
call fcn.0040866e
cmp byte [0x429a48], 0x30
je 0x4113aa
mov eax, dword [0x42985c]
cmp eax, dword [0x429860]
jne 0x41146e
cmp byte [0x429a08], 0
je 0x4114bf
mov byte [0x429a08], 0
push 0x4201e2
push 0x137
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemTextW]
push 0x4201da
push 0x138
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemTextA]
mov eax, dword [0x429a20]
mov dword [0x429a34], eax
push eax
push 0x13b
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x429a24]
lea edi, [0x429a38]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x13c
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x429a0c]
mov dword [0x429a20], eax
push eax
push 0x139
push dword [0x420af8]
call fcn.004088b4
lea esi, [0x429a10]
lea edi, [0x429a24]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x13a
push dword [0x420af8]
call fcn.004086ef
jmp 0x4114bf
mov byte [0x429a08], 1
mov eax, dword [0x429860]
mov dword [0x429a0c], eax
lea esi, [0x420850]
lea edi, [0x429a10]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x429a0c]
push eax
push 0x137
push dword [0x420af8]
call fcn.004088b4
lea eax, [0x429a10]
push eax
push 0x138
push dword [0x420af8]
call fcn.004086ef
mov ebx, dword [0x4262d8]
sub ebx, dword [0x4262d4]
mov ecx, dword [0x429874]
sub ecx, dword [0x4262d4]
mov eax, 0x64
mul ecx
xor edx, edx
test ebx, ebx
jne 0x4114e5
inc ebx
div ebx
cmp eax, 0x64
jbe 0x4114f1
mov eax, 0x64
cmp eax, dword [0x42987c]
je 0x4115ca
mov dword [0x42987c], eax
push 0
push eax
push 0x17d
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemInt]
mov eax, dword [0x42987c]
test eax, eax
je 0x4115ca
cmp eax, dword [0x429904]
jbe 0x411576
mov byte [0x4203e2], 1
mov dword [0x429904], eax
push 0
push eax
push 0x181
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemInt]
lea esi, [0x420850]
lea edi, [0x4299f8]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x182
push dword [0x420af8]
call fcn.004086ef
mov eax, dword [0x42987c]
mov edx, dword [0x4298e4]
test edx, edx
je 0x411584
cmp eax, edx
jae 0x4115ca
mov byte [0x4203e2], 1
mov dword [0x4298e4], eax
push 0
push eax
push 0x17e
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemInt]
lea esi, [0x420850]
lea edi, [0x429978]
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push eax
push 0x17f
push dword [0x420af8]
call fcn.004086ef
mov dword [0x420ab4], 0
mov ecx, str._____
movzx edx, byte [0x420848]
shl edx, 2
add ecx, edx
shr edx, 2
inc edx
and dl, 7
mov byte [0x420848], dl
mov edx, 0x20e
mov al, byte [0x42040e]
or al, byte [0x420412]
je 0x411609
mov edx, 0x1fa
push ecx
push edx
push dword [0x420af8]
call dword [sym.imp.USER32.DLL_SetDlgItemTextW]
cmp byte [0x4203e2], 0
je 0x411625
call fcn.004081c5
cmp byte [0x429afc], 0x31
je 0x411670
cmp byte [0x429a84], 0x31
je 0x411670
cmp byte [0x429a48], 0x31
je 0x41164b
cmp byte [0x429ac0], 0x31
je 0x411660
jmp 0x411677
mov eax, dword [0x420ae8]
cmp byte [0x4203d8], 1
jne 0x41167c
mov eax, dword [0x420ae0]
jmp 0x41167c
cmp byte [0x4262c9], 1
je 0x411677
mov eax, dword [0x420adc]
jmp 0x41167c
mov eax, dword [0x420ae4]
jmp 0x41167c
mov eax, dword [0x420ad8]
cmp eax, dword [0x41f518]
je 0x4116a7
mov dword [0x41f518], eax
and dword [0x41f510], 0xffffffef
mov dword [0x41f624], 0
push 0x41f504
push 1
call dword [sym.imp.SHELL32.DLL_Shell_NotifyIconW]
call fcn.00404340
call fcn.00415244
call fcn.00414c51
call fcn.00411741
mov byte [0x41edcd], 0
mov byte [0x4203db], 0
mov eax, 1
pop edi
pop esi
pop ebx
leave
ret 8
call fcn.00411709
lea edi, [ebp - 0x12c]
push dword [ebp + 8]
push eax
push str._s_answer_unknown__unsupported_UPS__contact_to_author_____s
push 0x12c
push edi
call dword [sym.imp.SHLWAPI.DLL_wnsprintfA]
add esp, 0x14
push 0
push edi
call fcn.00414acf
call fcn.0041176a
xor eax, eax
jmp 0x4116ce