Function at 0x45d083
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov word [ebp - 8], 0
mov word [0x4d51ae], 0x40
mov word [0x526a42], 0
movsx eax, word [0x4dfdda]
cmp eax, 1
jne 0x45d3d9
movsx ecx, word [0x52849c]
cmp ecx, 1
jne 0x45d0d1
mov edx, dword [0x576be4]
push edx
call fcn.004bda94
add esp, 4
jmp 0x45daa3
push 0x4f890c
push str.batch1.mon
call fcn.004bd3cf
add esp, 8
mov dword [0x576be4], eax
cmp dword [0x576be4], 0
jne 0x45d110
push str.Cannot_open_file__
call fcn.0042f28b
add esp, 4
push str.batch1.mon
call fcn.0042f28b
add esp, 4
jmp 0x45daa3
mov word [0x526a3e], 1
mov word [0x52849c], 1
mov ax, word [0x56ac18]
mov word [ebp - 4], ax
mov word [0x56ac18], 0x29
mov ecx, dword [0x576be4]
push ecx
push 0x424
push 0x5758e4
call fcn.004bd358
add esp, 0xc
test eax, eax
jne 0x45d17a
movsx edx, word [ebp - 8]
test edx, edx
jne 0x45d167
push str.Cannot_read_file__
call fcn.0042f28b
add esp, 4
mov eax, dword [0x576be4]
push eax
call fcn.004bd2bc
add esp, 4
jmp 0x45d3cf
call fcn.0046d158
mov ecx, dword [0x4d21d8]
sub ecx, 1
mov dword [0x4d21d8], ecx
mov edx, dword [0x4d21d8]
mov byte [edx], 0
movsx eax, word [0x52d226]
cmp eax, 1
jne 0x45d1b1
call fcn.004599a9
mov word [0x52d226], 0
cmp dword [0x526a38], 0
jne 0x45d20a
cmp dword [0x526a34], 0
jne 0x45d20a
push 0x52cce0
call fcn.0042f28b
add esp, 4
mov word [0x575f10], 0xd
push 0
call fcn.0042f027
add esp, 4
push 0
call fcn.004593e9
add esp, 4
mov dword [0x526600], 0
mov byte [0x526a28], 0
mov byte [0x526a29], 0
jmp 0x45d332
mov ecx, dword [0x526a30]
push ecx
movsx edx, word [0x5854c6]
imul edx, edx, 0x424
movsx eax, word [0x5854d0]
lea ecx, [edx + eax + 0x5359c0]
push ecx
call fcn.004bcd00
add esp, 8
jmp 0x45d249
mov dx, word [0x5854d0]
add dx, 1
mov word [0x5854d0], dx
movsx eax, word [0x5854c6]
imul eax, eax, 0x424
movsx ecx, word [0x5854d0]
movsx edx, byte [eax + ecx + 0x5359c0]
test edx, edx
je 0x45d26b
jmp 0x45d237
push 0
call fcn.004593e9
add esp, 4
mov word [0x575f10], 0xd
push 0
call fcn.0042f027
add esp, 4
push 0
call fcn.004593e9
add esp, 4
mov eax, dword [0x526a38]
push eax
call fcn.0046d794
add esp, 4
movsx ecx, al
test ecx, ecx
je 0x45d332
mov byte [0x52cce0], 0
push 1
push 0
mov edx, dword [0x52c210]
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov word [0x527b5a], 1
call fcn.00457936
movsx eax, word [0x535852]
imul eax, eax, 0x2af
movsx ecx, word [0x585558]
imul ecx, ecx, 0x1b
call dword [eax + ecx + 0x52897b]
call fcn.00457977
mov word [0x527b5a], 0
mov dword [0x526600], 0
mov byte [0x526a28], 0
mov byte [0x526a29], 0
mov word [0x575f10], 0xd
push 0
call fcn.0042f027
add esp, 4
push 0
call fcn.004593e9
add esp, 4
mov dx, word [ebp - 8]
add dx, 1
mov word [ebp - 8], dx
movsx eax, word [0x4f854a]
cmp eax, 0x40
je 0x45d383
mov ecx, dword [0x576be4]
push ecx
call fcn.004bd2bc
add esp, 4
movsx edx, word [0x4f854a]
cmp edx, 0x57
jne 0x45d36f
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_ExitWindowsEx]
push 0
push 0
push 0x10
mov eax, dword [0x52c2e4]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x45d3cf
push 1
call fcn.0045a32f
add esp, 4
movsx ecx, ax
cmp ecx, 1
jne 0x45d3a6
mov edx, dword [0x576be4]
push edx
call fcn.004bd2bc
add esp, 4
jmp 0x45d3cf
movsx eax, word [0x526a42]
test eax, eax
je 0x45d3c2
mov ecx, dword [0x576be4]
push ecx
call fcn.004bd2bc
add esp, 4
jmp 0x45d3cf
mov edx, 1
test edx, edx
jne 0x45d135
mov ax, word [ebp - 4]
mov word [0x56ac18], ax
movsx ecx, word [0x4dfdf8]
cmp ecx, 1
jne 0x45d710
movsx edx, word [0x52849e]
cmp edx, 1
jne 0x45d408
mov eax, dword [0x576b14]
push eax
call fcn.004bda94
add esp, 4
jmp 0x45daa3
push 0x4f8910
push str.batch2.mon
call fcn.004bd3cf
add esp, 8
mov dword [0x576b14], eax
cmp dword [0x576b14], 0
jne 0x45d447
push str.Cannot_open_file__
call fcn.0042f28b
add esp, 4
push str.batch2.mon
call fcn.0042f28b
add esp, 4
jmp 0x45daa3
mov word [0x526a3e], 1
mov word [0x52849e], 1
mov cx, word [0x56ac18]
mov word [ebp - 4], cx
mov word [0x56ac18], 0x29
mov edx, dword [0x576b14]
push edx
push 0x424
push 0x5758e4
call fcn.004bd358
add esp, 0xc
test eax, eax
jne 0x45d4b3
movsx eax, word [ebp - 8]
test eax, eax
jne 0x45d49f
push str.Cannot_read_file__
call fcn.0042f28b
add esp, 4
mov ecx, dword [0x576b14]
push ecx
call fcn.004bd2bc
add esp, 4
jmp 0x45d705
call fcn.0046d158
mov edx, dword [0x4d21d8]
sub edx, 1
mov dword [0x4d21d8], edx
mov eax, dword [0x4d21d8]
mov byte [eax], 0
movsx ecx, word [0x52d226]
cmp ecx, 1
jne 0x45d4e9
call fcn.004599a9
mov word [0x52d226], 0
cmp dword [0x526a38], 0
jne 0x45d542
cmp dword [0x526a34], 0
jne 0x45d542
push 0x52cce0
call fcn.0042f28b
add esp, 4
mov word [0x575f10], 0xd
push 0
call fcn.0042f027
add esp, 4
push 0
call fcn.004593e9
add esp, 4
mov dword [0x526600], 0
mov byte [0x526a28], 0
mov byte [0x526a29], 0
jmp 0x45d668
mov edx, dword [0x526a30]
push edx
movsx eax, word [0x5854c6]
imul eax, eax, 0x424
movsx ecx, word [0x5854d0]
lea edx, [eax + ecx + 0x5359c0]
push edx
call fcn.004bcd00
add esp, 8
jmp 0x45d57f
mov ax, word [0x5854d0]
add ax, 1
mov word [0x5854d0], ax
movsx ecx, word [0x5854c6]
imul ecx, ecx, 0x424
movsx edx, word [0x5854d0]
movsx eax, byte [ecx + edx + 0x5359c0]
test eax, eax
je 0x45d5a1
jmp 0x45d56f
push 0
call fcn.004593e9
add esp, 4
mov word [0x575f10], 0xd
push 0
call fcn.0042f027
add esp, 4
push 0
call fcn.004593e9
add esp, 4
mov ecx, dword [0x526a38]
push ecx
call fcn.0046d794
add esp, 4
movsx edx, al
test edx, edx
je 0x45d668
mov byte [0x52cce0], 0
push 1
push 0
mov eax, dword [0x52c210]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov word [0x527b5a], 1
call fcn.00457936
movsx ecx, word [0x535852]
imul ecx, ecx, 0x2af
movsx edx, word [0x585558]
imul edx, edx, 0x1b
call dword [ecx + edx + 0x52897b]
call fcn.00457977
mov word [0x527b5a], 0
mov dword [0x526600], 0
mov byte [0x526a28], 0
mov byte [0x526a29], 0
mov word [0x575f10], 0xd
push 0
call fcn.0042f027
add esp, 4
push 0
call fcn.004593e9
add esp, 4
mov ax, word [ebp - 8]
add ax, 1
mov word [ebp - 8], ax
movsx ecx, word [0x4f854a]
cmp ecx, 0x40
je 0x45d6ba
mov edx, dword [0x576b14]
push edx
call fcn.004bd2bc
add esp, 4
movsx eax, word [0x4f854a]
cmp eax, 0x57
jne 0x45d6a5
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_ExitWindowsEx]
push 0
push 0
push 0x10
mov ecx, dword [0x52c2e4]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x45d705
push 1
call fcn.0045a32f
add esp, 4
movsx edx, ax
cmp edx, 1
jne 0x45d6dc
mov eax, dword [0x576b14]
push eax
call fcn.004bd2bc
add esp, 4
jmp 0x45d705
movsx ecx, word [0x526a42]
test ecx, ecx
je 0x45d6f8
mov edx, dword [0x576b14]
push edx
call fcn.004bd2bc
add esp, 4
jmp 0x45d705
mov eax, 1
test eax, eax
jne 0x45d46d
mov cx, word [ebp - 4]
mov word [0x56ac18], cx
movsx edx, word [0x4dfe34]
cmp edx, 1
jne 0x45da59
movsx eax, word [0x52849a]
cmp eax, 1
jne 0x45d740
mov ecx, dword [0x576af4]
push ecx
call fcn.004bda94
add esp, 4
jmp 0x45daa3
push 0x569881
push 0x575f40
call fcn.004bcd00
add esp, 8
push 0x4f8914
push 0x575f40
call fcn.004bd3cf
add esp, 8
mov dword [0x576af4], eax
cmp dword [0x576af4], 0
jne 0x45d791
push str.Cannot_open_file__
call fcn.0042f28b
add esp, 4
push 0x575f40
call fcn.0042f28b
add esp, 4
jmp 0x45daa3
mov word [0x526a3e], 1
mov word [0x52849a], 1
mov dx, word [0x56ac18]
mov word [ebp - 4], dx
mov word [0x56ac18], 0x29
mov eax, dword [0x576af4]
push eax
push 0x424
push 0x5758e4
call fcn.004bd358
add esp, 0xc
test eax, eax
jne 0x45d7fc
movsx ecx, word [ebp - 8]
test ecx, ecx
jne 0x45d7e8
push str.Cannot_read_file__
call fcn.0042f28b
add esp, 4
mov edx, dword [0x576af4]
push edx
call fcn.004bd2bc
add esp, 4
jmp 0x45da4e
call fcn.0046d158
mov eax, dword [0x4d21d8]
sub eax, 1
mov dword [0x4d21d8], eax
mov ecx, dword [0x4d21d8]
mov byte [ecx], 0
movsx edx, word [0x52d226]
cmp edx, 1
jne 0x45d831
call fcn.004599a9
mov word [0x52d226], 0
cmp dword [0x526a38], 0
jne 0x45d88a
cmp dword [0x526a34], 0
jne 0x45d88a
push 0x52cce0
call fcn.0042f28b
add esp, 4
mov word [0x575f10], 0xd
push 0
call fcn.0042f027
add esp, 4
push 0
call fcn.004593e9
add esp, 4
mov dword [0x526600], 0
mov byte [0x526a28], 0
mov byte [0x526a29], 0
jmp 0x45d9b2
mov eax, dword [0x526a30]
push eax
movsx ecx, word [0x5854c6]
imul ecx, ecx, 0x424
movsx edx, word [0x5854d0]
lea eax, [ecx + edx + 0x5359c0]
push eax
call fcn.004bcd00
add esp, 8
jmp 0x45d8c8
mov cx, word [0x5854d0]
add cx, 1
mov word [0x5854d0], cx
movsx edx, word [0x5854c6]
imul edx, edx, 0x424
movsx eax, word [0x5854d0]
movsx ecx, byte [edx + eax + 0x5359c0]
test ecx, ecx
je 0x45d8ea
jmp 0x45d8b6
push 0
call fcn.004593e9
add esp, 4
mov word [0x575f10], 0xd
push 0
call fcn.0042f027
add esp, 4
push 0
call fcn.004593e9
add esp, 4
mov edx, dword [0x526a38]
push edx
call fcn.0046d794
add esp, 4
movsx eax, al
test eax, eax
je 0x45d9b2
mov byte [0x52cce0], 0
push 1
push 0
mov ecx, dword [0x52c210]
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov word [0x527b5a], 1
call fcn.00457936
movsx edx, word [0x535852]
imul edx, edx, 0x2af
movsx eax, word [0x585558]
imul eax, eax, 0x1b
call dword [edx + eax + 0x52897b]
call fcn.00457977
mov word [0x527b5a], 0
mov dword [0x526600], 0
mov byte [0x526a28], 0
mov byte [0x526a29], 0
mov word [0x575f10], 0xd
push 0
call fcn.0042f027
add esp, 4
push 0
call fcn.004593e9
add esp, 4
mov cx, word [ebp - 8]
add cx, 1
mov word [ebp - 8], cx
movsx edx, word [0x4f854a]
cmp edx, 0x40
je 0x45da03
mov eax, dword [0x576af4]
push eax
call fcn.004bd2bc
add esp, 4
movsx ecx, word [0x4f854a]
cmp ecx, 0x57
jne 0x45d9ee
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_ExitWindowsEx]
push 0
push 0
push 0x10
mov edx, dword [0x52c2e4]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x45da4e
push 1
call fcn.0045a32f
add esp, 4
movsx eax, ax
cmp eax, 1
jne 0x45da26
mov ecx, dword [0x576af4]
push ecx
call fcn.004bd2bc
add esp, 4
jmp 0x45da4e
movsx edx, word [0x526a42]
test edx, edx
je 0x45da41
mov eax, dword [0x576af4]
push eax
call fcn.004bd2bc
add esp, 4
jmp 0x45da4e
mov ecx, 1
test ecx, ecx
jne 0x45d7b7
mov dx, word [ebp - 4]
mov word [0x56ac18], dx
mov word [0x52d226], 0
mov word [0x526a3e], 0
mov word [0x52849a], 0
mov word [0x52849c], 0
mov word [0x52849e], 0
movsx eax, word [0x4d51ae]
cmp eax, 0x53
jne 0x45daa3
push 1
push 0
mov ecx, dword [0x52c92c]
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov esp, ebp
pop ebp
ret