Function at 0x4d7467
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x608cef
mov eax, dword fs:[0]
push eax
sub esp, 0x408
mov eax, dword [0x698b9c]
xor eax, ebp
mov dword [ebp - 0x154], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x39c], ecx
cmp dword [ebp + 0x10], 0
je 0x4d5b0a
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 1
jae 0x4d5b0f
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.004158c0
movzx eax, byte [eax]
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x3a0]
sub ecx, 2
mov dword [ebp - 0x3a0], ecx
cmp dword [ebp - 0x3a0], 0x4b
ja case.0x4d5b4c.1
mov edx, dword [ebp - 0x3a0]
movzx eax, byte [edx + 0x4d7ed0]
jmp dword [eax*4 + 0x4d7e58]
cmp dword [0x69c110], 0
je 0x4d5b61
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x2d0], edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x39c]
add ecx, 0x294
call fcn.004da6b0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.004158c0
movzx ecx, byte [eax + 1]
mov dword [0x69c184], ecx
jmp case.0x4d5b4c.1
cmp dword [0x69c110], 0
je 0x4d5bc1
jmp case.0x4d5b4c.1
mov dword [ebp - 0x14], 0xd
mov dword [ebp - 0x10], 1
push 2
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.USER32.dll_GetPriorityClipboardFormat]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jle 0x4d5c3e
push 0x100000
mov eax, dword [ebp - 0x18]
push eax
call fcn.004d7f70
add esp, 8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4d5c3e
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
push 0xffffffffffffffff
push 1
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d9ea0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
call eax
jmp case.0x4d5b4c.1
cmp dword [0x69c110], 0
je 0x4d5c51
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
mov dl, byte [ecx + 0x324]
mov byte [ebp - 0x1d], dl
mov eax, dword [ebp - 0x39c]
mov byte [eax + 0x324], 0
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004d81d0
add esp, 4
call dword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
mov edx, dword [ebp - 0x39c]
mov dword [edx + 0x320], eax
mov eax, dword [ebp - 0x39c]
mov cl, byte [ebp - 0x1d]
mov byte [eax + 0x324], cl
jmp case.0x4d5b4c.1
cmp dword [0x69c110], 0
jne 0x4d5cad
call fcn.004d1f70
jmp case.0x4d5b4c.1
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d91f0
jmp case.0x4d5b4c.1
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 0x2e0], 0
jne 0x4d5d60
push 3
call fcn.004199e0
add esp, 4
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x4d5d5b
mov ecx, dword [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x40]
call fcn.004c7f30
push 0x1f
lea ecx, [ebp - 0x40]
call fcn.004d4280
push 0
lea ecx, [ebp - 0x40]
call fcn.004d4280
push 0xff
lea ecx, [ebp - 0x40]
call fcn.004d4280
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
mov edx, dword [ebp + 0x14]
push edx
push 2
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x39c]
call fcn.004d9ea0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
mov edx, dword [ebp - 0x34]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + 4]
call edx
jmp case.0x4d5b4c.1
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x30]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x30]
call fcn.004da480
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004c8060
test eax, eax
je 0x4d5ed7
push 0xf000
mov edx, dword [ebp - 0x24]
push edx
lea ecx, [ebp - 0x32c]
call fcn.004c6da0
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x3a8]
call fcn.004efe20
push eax
call fcn.004da500
add esp, 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x32c]
call fcn.004b4e90
cmp dword [ebp - 0x44], 0
je 0x4d5ed7
lea ecx, [ebp - 0x60]
call fcn.00403ec0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x60]
push ecx
lea ecx, [ebp - 0x48]
call fcn.00404090
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x44]
call fcn.004d3b10
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 4], 0
je 0x4d5e9d
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
mov eax, dword [ebp + 0x14]
push eax
push 2
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d9ea0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
cmp dword [ebp - 0x64], 1
jne 0x4d5e9d
push 0x2710
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x44]
call fcn.004dad10
test eax, eax
jg 0x4d5e9d
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x44]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.004040b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00403ee0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x44]
call fcn.004da550
cmp dword [ebp - 0x64], 1
je 0x4d5e09
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x44]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.004040b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00403ee0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x2e0], 0
jne 0x4d5ef0
jmp case.0x4d5b4c.1
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x74]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x74]
call fcn.004da480
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x74]
call fcn.004c8060
test eax, eax
je 0x4d6043
push 0
mov ecx, dword [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x334]
call fcn.004c6da0
mov dword [ebp - 0x3ac], eax
mov edx, dword [ebp - 0x3ac]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x3b0]
call fcn.004efe20
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x334]
call fcn.004b4e90
xor eax, eax
cmp dword [ebp - 0x7c], 0
sete al
push eax
push 0
mov ecx, dword [ebp - 0x68]
push ecx
push 0x20
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [0x69c0a0]
call fcn.004c4790
push 0x400
call fcn.004199e0
add esp, 4
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x4d6043
mov eax, dword [ebp - 0x78]
push eax
lea ecx, [ebp - 0x88]
call fcn.004c7f30
push 0x21
lea ecx, [ebp - 0x88]
call fcn.004d4280
xor ecx, ecx
cmp dword [ebp - 0x7c], 0
sete cl
movzx edx, cl
push edx
lea ecx, [ebp - 0x88]
call fcn.004d4280
mov eax, dword [ebp - 0x68]
push eax
lea ecx, [ebp - 0x88]
call fcn.004c8900
test eax, eax
je 0x4d6036
lea ecx, [ebp - 0x88]
call fcn.00501d70
push eax
mov ecx, dword [ebp - 0x78]
call fcn.00419a70
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
mov ecx, dword [ebp + 0x14]
push ecx
push 2
mov edx, dword [ebp - 0x78]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d9ea0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x78]
mov eax, dword [edx + 4]
call eax
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x2e0], 0
jne 0x4d605c
jmp case.0x4d5b4c.1
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x98]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x98]
call fcn.004da480
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x98]
call fcn.004c8060
test eax, eax
je 0x4d61e2
mov ecx, dword [ebp - 0x8c]
push ecx
lea ecx, [ebp - 0x33c]
call fcn.004c6da0
mov dword [ebp - 0x3b4], eax
mov edx, dword [ebp - 0x3b4]
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x3b8]
call fcn.004efe20
push eax
call fcn.004d3fa0
add esp, 4
mov dword [ebp - 0xa0], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x33c]
call fcn.004b4e90
xor eax, eax
cmp dword [ebp - 0xa0], 0
sete al
push eax
push 0
mov ecx, dword [ebp - 0x8c]
push ecx
push 0x22
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [0x69c0a0]
call fcn.004c4790
push 0x400
call fcn.004199e0
add esp, 4
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x4d61e2
mov eax, dword [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xac]
call fcn.004c7f30
push 0x23
lea ecx, [ebp - 0xac]
call fcn.004d4280
xor ecx, ecx
cmp dword [ebp - 0xa0], 0
sete cl
movzx edx, cl
push edx
lea ecx, [ebp - 0xac]
call fcn.004d4280
mov eax, dword [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xac]
call fcn.004c8900
test eax, eax
je 0x4d61cf
lea ecx, [ebp - 0xac]
call fcn.00501d70
push eax
mov ecx, dword [ebp - 0x9c]
call fcn.00419a70
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
mov ecx, dword [ebp + 0x14]
push ecx
push 2
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d9ea0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [edx + 4]
call eax
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x2e0], 0
jne 0x4d61fb
jmp case.0x4d5b4c.1
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0xc0]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0xc0]
call fcn.004da480
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0xc0]
call fcn.004c8060
test eax, eax
je 0x4d63f7
lea ecx, [ebp - 0xb0]
push ecx
lea ecx, [ebp - 0xc0]
call fcn.004c8060
test eax, eax
je 0x4d63f7
mov edx, dword [ebp - 0xb0]
push edx
lea ecx, [ebp - 0x344]
call fcn.004c6da0
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x3c0]
call fcn.004efe20
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
lea ecx, [ebp - 0x34c]
call fcn.004c6da0
mov dword [ebp - 0x3c4], eax
mov edx, dword [ebp - 0x3c4]
mov dword [ebp - 0x3c8], edx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x3c8]
call fcn.004efe20
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x34c]
call fcn.004b4e90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x344]
call fcn.004b4e90
xor eax, eax
cmp dword [ebp - 0xc8], 0
sete al
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
push 0x24
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x69c0a0]
call fcn.004c4790
push 0x400
call fcn.004199e0
add esp, 4
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x4d63f7
mov ecx, dword [ebp - 0xc4]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.004c7f30
push 0x25
lea ecx, [ebp - 0xd4]
call fcn.004d4280
xor edx, edx
cmp dword [ebp - 0xc8], 0
sete dl
movzx eax, dl
push eax
lea ecx, [ebp - 0xd4]
call fcn.004d4280
mov ecx, dword [ebp - 0xb4]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.004c8900
test eax, eax
je 0x4d63e4
mov edx, dword [ebp - 0xb0]
push edx
lea ecx, [ebp - 0xd4]
call fcn.004c8900
test eax, eax
je 0x4d63e4
lea ecx, [ebp - 0xd4]
call fcn.00501d70
push eax
mov ecx, dword [ebp - 0xc4]
call fcn.00419a70
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
mov eax, dword [ebp + 0x14]
push eax
push 2
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d9ea0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [edx + 4]
call eax
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x2e0], 0
jne 0x4d642d
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
push 1
push 0x27
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x310], 0xffffffff
je 0x4d645c
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
push 3
push 0x27
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x318], edx
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0xe4]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0xe4]
call fcn.004da480
lea ecx, [ebp - 0xd8]
push ecx
lea ecx, [ebp - 0xe4]
call fcn.004c8060
test eax, eax
je 0x4d656f
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
mov edx, dword [ebp - 0xd8]
push edx
lea ecx, [ebp - 0x354]
call fcn.004c6da0
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x3d0]
call fcn.004efe20
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, dword [ebp - 0x39c]
mov dword [ecx + 0x310], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x354]
call fcn.004b4e90
mov edx, dword [ebp - 0x39c]
xor eax, eax
cmp dword [edx + 0x310], 0xffffffff
sete al
push eax
push 0
mov ecx, dword [ebp - 0xd8]
push ecx
push 0x26
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [0x69c0a0]
call fcn.004c4790
mov eax, dword [ebp + 0x14]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x39c]
xor edx, edx
cmp dword [ecx + 0x310], 0xffffffff
setne dl
sub edx, 1
and edx, 2
push edx
push 0x27
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp 0x4d658a
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
push 4
push 0x27
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 0x2e0], 0
jne 0x4d65c0
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
push 1
push 0x29
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 0x310], 0xffffffff
je 0x4d65e0
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x318]
cmp edx, dword [ebp + 8]
je 0x4d6600
mov eax, dword [ebp + 0x14]
push eax
push 0
push 0
push 3
push 0x29
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
sub eax, 1
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.004158c0
add eax, 1
push eax
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x310]
push eax
call fcn.004d8270
add esp, 0xc
test eax, eax
je 0x4d6654
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
push 0
push 0x29
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp 0x4d666f
mov eax, dword [ebp + 0x14]
push eax
push 0
push 0
push 2
push 0x29
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 0x2e0], 0
jne 0x4d66a5
mov eax, dword [ebp + 0x14]
push eax
push 0
push 0
push 1
push 0x2b
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 0x310], 0xffffffff
je 0x4d66d5
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x318]
cmp ecx, dword [ebp + 8]
jne 0x4d66d5
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 9
jae 0x4d66f5
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
push 3
push 0x2b
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0xf8]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0xf8]
call fcn.004da480
lea edx, [ebp - 0xec]
push edx
lea ecx, [ebp - 0xf8]
call fcn.004da440
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0xf8]
call fcn.004da440
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 9
je 0x4d6780
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
sub eax, 9
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.004158c0
add eax, 9
push eax
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x310]
push edx
call fcn.004d8270
add esp, 0xc
test eax, eax
je 0x4d680f
cmp dword [ebp - 0xec], 0
je 0x4d67bf
cmp dword [ebp - 0xe8], 0
je 0x4d67bf
lea eax, [ebp - 0xec]
push eax
call fcn.004d4150
add esp, 4
lea ecx, [ebp - 0xec]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x310]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x39c]
mov dword [eax + 0x310], 0xffffffff
mov ecx, dword [ebp - 0x39c]
mov dword [ecx + 0x318], 0
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
push 0
push 0x2b
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp 0x4d682a
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
push 2
push 0x2b
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
push 0
push 0
push 0
push 0x2a
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x69c0a0]
call fcn.004c4790
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x310], 0xffffffff
je 0x4d68d9
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x318]
cmp eax, dword [ebp + 8]
jne 0x4d68d9
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x310]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x39c]
mov dword [eax + 0x310], 0xffffffff
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
mov ecx, dword [ebp + 0x14]
push ecx
push 2
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d9ea0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
push 0
push 0
push 0
push 0x2c
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [0x69c0a0]
call fcn.004c4790
mov edx, dword [ebp - 0x39c]
mov dword [edx + 0x318], 0
jmp case.0x4d5b4c.1
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 0x2e0], 0
jne 0x4d691f
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
push 1
push 0x2e
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 0x314], 0xffffffff
je 0x4d694e
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
push 3
push 0x2e
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x31c], ecx
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x110]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x110]
call fcn.004da480
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0x100], 1
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x110]
call fcn.004c8060
test eax, eax
je 0x4d6bbf
lea ecx, [ebp - 0xfc]
push ecx
lea ecx, [ebp - 0x110]
call fcn.004c8060
test eax, eax
jne 0x4d69c7
mov dword [ebp - 0xfc], 0
mov edx, dword [ebp - 0x104]
movsx eax, byte [edx]
test eax, eax
je 0x4d6a02
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x328], 0
je 0x4d6a02
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x328]
mov ecx, dword [ebp - 0x39c]
mov ecx, dword [ecx + 0x328]
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x328], 0
je 0x4d6a2a
mov edx, dword [ebp - 0x39c]
mov ecx, dword [edx + 0x328]
call fcn.004da4e0
mov dword [ebp - 0x3d4], eax
jmp 0x4d6a36
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x3d4], eax
push 0
push 0x80
push 3
push 0
push 1
push connect
mov ecx, dword [ebp - 0x3d4]
push ecx
lea ecx, [ebp - 0x35c]
call fcn.004c6da0
mov dword [ebp - 0x3d8], eax
mov edx, dword [ebp - 0x3d8]
mov dword [ebp - 0x3dc], edx
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x3dc]
call fcn.004efe20
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, dword [ebp - 0x39c]
mov dword [ecx + 0x314], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x35c]
call fcn.004b4e90
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 0x314], 0xffffffff
je 0x4d6b49
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x314]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp + 0x14]
push eax
push 8
lea ecx, [ebp - 0x118]
push ecx
push 0
push 0x2e
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
cmp dword [ebp - 0x118], 0
jne 0x4d6b3d
cmp dword [ebp - 0x114], 0
jne 0x4d6b3d
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x314]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x39c]
mov dword [edx + 0x314], 0xffffffff
mov eax, dword [ebp - 0x39c]
mov dword [eax + 0x31c], 0
jmp 0x4d6b47
mov dword [ebp - 0x100], 0
jmp 0x4d6b64
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 0
push 2
push 0x2e
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
cmp dword [ebp - 0xfc], 0
je 0x4d6b84
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00401be0
add esp, 4
mov dword [ebp - 0x3e0], eax
jmp 0x4d6b8d
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x39c]
xor eax, eax
cmp dword [edx + 0x314], 0xffffffff
sete al
push eax
push 0
mov ecx, dword [ebp - 0x104]
push ecx
push 0x2d
mov edx, dword [ebp - 0x3e0]
push edx
mov ecx, dword [0x69c0a0]
call fcn.004c4790
jmp 0x4d6bda
mov eax, dword [ebp + 0x14]
push eax
push 0
push 0
push 4
push 0x2e
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
cmp dword [ebp - 0x100], 0
je 0x4d6c13
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 0x328], 0
je 0x4d6c13
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x328]
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x328]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x2e0], 0
jne 0x4d6c4c
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
push 1
push 0x30
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x314], 0xffffffff
jne 0x4d6c80
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
push 3
push 0x30
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x31c]
cmp edx, dword [ebp + 8]
jne 0x4d6ec5
mov dword [ebp - 0x120], 1
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x130]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x130]
call fcn.004da480
lea ecx, [ebp - 0x11c]
push ecx
lea ecx, [ebp - 0x130]
call fcn.004c8010
test eax, eax
je 0x4d6cda
cmp dword [ebp - 0x11c], 0
jne 0x4d6ce4
mov dword [ebp - 0x11c], 0x5000
mov edx, dword [ebp - 0x11c]
add edx, 2
push edx
call fcn.004199e0
add esp, 4
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x4d6e71
mov dword [ebp - 0x134], 0
mov ecx, dword [ebp - 0x124]
add ecx, 4
call fcn.004158c0
mov byte [eax], 0x30
mov ecx, dword [ebp - 0x124]
add ecx, 4
call fcn.004158c0
mov byte [eax + 1], 0
push 0
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
mov ecx, dword [ebp - 0x124]
add ecx, 4
call fcn.004158c0
add eax, 2
push eax
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x314]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4d6e41
mov ecx, dword [ebp - 0x134]
add ecx, 2
push ecx
mov ecx, dword [ebp - 0x124]
call fcn.00419a70
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
mov edx, dword [ebp + 0x14]
push edx
push 2
mov eax, dword [ebp - 0x124]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x39c]
call fcn.004d9ea0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
cmp dword [ebp - 0x134], 0
jne 0x4d6e15
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x314]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x39c]
mov dword [ecx + 0x314], 0xffffffff
mov edx, dword [ebp - 0x39c]
mov dword [edx + 0x31c], 0
push 0
push 0
push 0
push 0x31
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x69c0a0]
call fcn.004c4790
jmp 0x4d6e3f
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x328], 0
je 0x4d6e35
mov edx, dword [ebp - 0x39c]
mov ecx, dword [edx + 0x328]
call fcn.004da4a0
mov dword [ebp - 0x120], 0
jmp 0x4d6e5c
mov eax, dword [ebp + 0x14]
push eax
push 0
push 0
push 2
push 0x30
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
mov edx, dword [ebp - 0x124]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x124]
mov edx, dword [eax + 4]
call edx
jmp 0x4d6e8c
mov eax, dword [ebp + 0x14]
push eax
push 0
push 0
push 2
push 0x30
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x39c]
call fcn.004d59c0
cmp dword [ebp - 0x120], 0
je 0x4d6ec5
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 0x328], 0
je 0x4d6ec5
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x328]
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x328]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x31c]
cmp edx, dword [ebp + 8]
jne 0x4d6fab
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 0x314], 0xffffffff
je 0x4d6f01
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x314]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x39c]
mov dword [eax + 0x314], 0xffffffff
mov ecx, dword [ebp - 0x39c]
mov dword [ecx + 0x31c], 0
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 1
jbe 0x4d6f66
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
mov edx, dword [ebp + 0x14]
push edx
push 2
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x39c]
call fcn.004d9ea0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
push 0
push 0
push 0
push 0x33
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [0x69c0a0]
call fcn.004c4790
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 0x328], 0
je 0x4d6fab
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x328]
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x328]
mov edx, dword [edx]
mov eax, dword [edx + 8]
call eax
jmp case.0x4d5b4c.1
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x2e0], 0
jne 0x4d6fc4
jmp case.0x4d5b4c.1
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 0x328], 0
je 0x4d6ff9
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x328]
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x328]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x4d7108
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 3
jbe 0x4d7108
push 0x14c
call fcn.005c020b
add esp, 4
mov dword [ebp - 0x364], eax
mov dword [ebp - 4], 9
cmp dword [ebp - 0x364], 0
je 0x4d7052
push 0
push 0x4d7f20
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x364]
call fcn.004dfc20
mov dword [ebp - 0x3e4], eax
jmp 0x4d705c
mov dword [ebp - 0x3e4], 0
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x360], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ebp - 0x360]
mov dword [ecx + 0x328], edx
push 0
push 0
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x328]
call fcn.004010c0
test eax, eax
jne 0x4d7108
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x328]
push eax
push 1
mov ecx, dword [ebp - 0x39c]
call fcn.004d5a70
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x328]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x368], eax
cmp dword [ebp - 0x368], 0
je 0x4d70fe
push 1
mov ecx, dword [ebp - 0x368]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x368]
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x3e8], eax
jmp 0x4d7108
mov dword [ebp - 0x3e8], 0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x144]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x144]
call fcn.004da480
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
lea edx, [ebp - 0x138]
push edx
lea ecx, [ebp - 0x144]
call fcn.004da440
cmp dword [ebp - 0x138], 0xa
jb 0x4d7170
cmp dword [ebp - 0x138], 0x2710
ja 0x4d7170
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x138]
mov dword [eax + 0x304], ecx
lea edx, [ebp - 0x138]
push edx
lea ecx, [ebp - 0x144]
call fcn.004da440
cmp dword [ebp - 0x138], 1
jb 0x4d71a9
cmp dword [ebp - 0x138], 0x2710
ja 0x4d71a9
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x138]
mov dword [eax + 0x30c], ecx
lea edx, [ebp - 0x138]
push edx
lea ecx, [ebp - 0x144]
call fcn.004da440
cmp dword [ebp - 0x138], 1
jb 0x4d71e2
cmp dword [ebp - 0x138], 0x7d0
ja 0x4d71e2
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x138]
mov dword [eax + 0x308], ecx
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
jmp case.0x4d5b4c.1
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x244]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x244]
call fcn.004da480
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x244]
call fcn.004da440
lea ecx, [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x244]
call fcn.004da440
lea edx, [ebp - 0x150]
push edx
lea ecx, [ebp - 0x244]
call fcn.004da440
mov eax, dword [ebp - 0x150]
and eax, 0xff
mov dword [ebp - 0x150], eax
push 0xdc
push 0
lea ecx, [ebp - 0x234]
push ecx
call fcn.005bfd50
add esp, 0xc
mov edx, 0xdc
mov word [ebp - 0x1f0], dx
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x188], ecx
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x1ec], 0x1c0000
push 0
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.USER32.dll_ChangeDisplaySettingsW]
mov dword [ebp - 0x238], eax
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 9
jae 0x4d72e4
mov ecx, dword [ebp - 0x39c]
mov byte [ecx + 0x326], 1
jmp case.0x4d5b4c.1
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x258]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x258]
call fcn.004da480
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x258]
call fcn.004da440
lea ecx, [ebp - 0x248]
push ecx
lea ecx, [ebp - 0x258]
call fcn.004da440
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401050
cmp dword [ebp - 0x248], 0
jbe 0x4d7356
cmp dword [ebp - 0x248], 0x64
ja 0x4d7356
mov edx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x248]
mov dword [edx + 0x2fc], eax
cmp dword [ebp - 0x24c], 0
jne 0x4d737e
mov ecx, dword [ebp - 0x39c]
mov dword [ecx + 0x300], 0xffffffff
mov dword [0x69c168], 0
jmp 0x4d7433
cmp dword [ebp - 0x24c], 1
jne 0x4d73a6
mov edx, dword [ebp - 0x39c]
mov dword [edx + 0x300], 0xffffffff
mov dword [0x69c168], 0xfefefe
jmp 0x4d7433
cmp dword [ebp - 0x24c], 2
jne 0x4d73cb
mov eax, dword [ebp - 0x39c]
mov dword [eax + 0x300], 0xffffffff
mov dword [0x69c168], 0xfcfcfc
jmp 0x4d7433
cmp dword [ebp - 0x24c], 3
jne 0x4d73f0
mov ecx, dword [ebp - 0x39c]
mov dword [ecx + 0x300], 0xffffffff
mov dword [0x69c168], 0xf8f8f8
jmp 0x4d7433
cmp dword [ebp - 0x24c], 4
jne 0x4d7415
mov edx, dword [ebp - 0x39c]
mov dword [edx + 0x300], 0x9c400
mov dword [0x69c168], 0
jmp 0x4d7433
cmp dword [ebp - 0x24c], 0x4e200
jbe 0x4d7433
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x24c]
mov dword [eax + 0x300], ecx
lea edx, [ebp - 0x24c]
push edx
lea ecx, [ebp - 0x258]
call fcn.004c8010
test eax, eax
je 0x4d7454
mov eax, dword [ebp - 0x24c]
mov dword [0x69c168], eax
mov ecx, dword [ebp - 0x39c]
add ecx, 0x3c
call fcn.00401060
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x268]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x268]
call fcn.004da480
cmp dword [0x69c110], 0
jne 0x4d75f4
lea edx, [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x268]
call fcn.004c8060
test eax, eax
je 0x4d75f4
mov dword [ebp - 0x26c], 0
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x268]
call fcn.004c8060
test eax, eax
jne 0x4d74d6
mov dword [ebp - 0x274], 0
jmp 0x4d750a
lea ecx, [ebp - 0x270]
push ecx
lea ecx, [ebp - 0x268]
call fcn.004c8060
test eax, eax
je 0x4d750a
mov edx, dword [ebp - 0x270]
push edx
call fcn.00404f80
add esp, 4
and eax, 1
je 0x4d750a
mov dword [ebp - 0x26c], 1
push str.reboot
mov eax, dword [ebp - 0x25c]
push eax
call fcn.005c048d
add esp, 8
test eax, eax
jne 0x4d7598
push str.SeShutdownPrivilege
call fcn.004d2670
add esp, 4
test eax, eax
jne 0x4d755c
cmp dword [0x69aaa4], 1
jg 0x4d755c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.shutdown_err_d
push 0x3e8
push 0x61419c
push 1
call fcn.00401310
add esp, 0x14
push 0
push 2
call dword [sym.imp.USER32.dll_ExitWindowsEx]
test eax, eax
jne 0x4d7593
cmp dword [0x69aaa4], 1
jg 0x4d7593
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.shutdown_err2_d
push 0x3ec
push 0x6141c0
push 1
call fcn.00401310
add esp, 0x14
jmp case.0x4d5b4c.1
cmp dword [ebp - 0x26c], 0
jne 0x4d75bd
push 0
mov ecx, dword [ebp - 0x274]
push ecx
mov edx, dword [ebp - 0x25c]
push edx
call fcn.004d2a10
add esp, 0xc
test eax, eax
jne 0x4d75f4
mov eax, dword [ebp - 0x25c]
push eax
push str.logoff
call fcn.005c048d
add esp, 8
test eax, eax
je 0x4d75f4
push 0xa
push 0
mov ecx, dword [ebp - 0x274]
push ecx
mov edx, dword [ebp - 0x25c]
push edx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp case.0x4d5b4c.1
cmp dword [0x69c110], 0
je 0x4d7607
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.004158c0
mov al, byte [eax + 1]
mov byte [ebp - 0x275], al
movzx ecx, byte [ebp - 0x275]
and ecx, 3
mov dword [ebp - 0x27c], ecx
je 0x4d7642
mov edx, dword [ebp - 0x27c]
and edx, 1
mov eax, dword [ebp - 0x39c]
mov byte [eax + 0x324], dl
movzx ecx, byte [ebp - 0x275]
sar ecx, 2
and ecx, 3
mov dword [ebp - 0x27c], ecx
je 0x4d766c
mov edx, dword [ebp - 0x27c]
and edx, 1
mov eax, dword [ebp - 0x39c]
mov byte [eax + 0x325], dl
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x288]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x288]
call fcn.004da480
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 0x10
jbe 0x4d772d
lea edx, [ebp - 0x2a0]
push edx
lea ecx, [ebp - 0x288]
call fcn.004da440
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x288]
call fcn.004da440
lea ecx, [ebp - 0x2a4]
push ecx
lea ecx, [ebp - 0x288]
call fcn.004da440
lea edx, [ebp - 0x29c]
push edx
lea ecx, [ebp - 0x288]
call fcn.004da440
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x294], ecx
mov edx, dword [ebp - 0x2a4]
mov dword [ebp - 0x290], edx
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x28c], eax
lea ecx, [ebp - 0x298]
push ecx
mov ecx, dword [0x69c0a0]
call fcn.004c42a0
jmp 0x4d773a
push 0
mov ecx, dword [0x69c0a0]
call fcn.004c42a0
jmp case.0x4d5b4c.1
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x2b8]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x2b8]
call fcn.004da480
mov dword [ebp - 0x2ac], 0
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 5
jbe 0x4d7933
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x2b8]
call fcn.004c8060
test eax, eax
je 0x4d7933
mov ecx, dword [ebp - 0x2ac]
push ecx
lea ecx, [ebp - 0x2cc]
call fcn.00405530
mov dword [ebp - 4], 0xa
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 0x32c], 0
jne 0x4d791f
push 0x110
call fcn.005c020b
add esp, 4
mov dword [ebp - 0x374], eax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x374], 0
je 0x4d77f4
push 1
mov ecx, dword [ebp - 0x374]
call fcn.004195b0
mov dword [ebp - 0x3ec], eax
jmp 0x4d77fe
mov dword [ebp - 0x3ec], 0
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x370], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ebp - 0x370]
mov dword [ecx + 0x32c], edx
cmp dword [ebp - 0x39c], 0
je 0x4d783a
mov eax, dword [ebp - 0x39c]
add eax, 0x5c
mov dword [ebp - 0x3f0], eax
jmp 0x4d7844
mov dword [ebp - 0x3f0], 0
mov ecx, dword [ebp - 0x3f0]
push ecx
push 0xea60
push str.bitRate
lea ecx, [ebp - 0x2cc]
call fcn.004056a0
push eax
push 8
push str.sizeIndex
lea ecx, [ebp - 0x2cc]
call fcn.004056a0
push eax
push 1
push str.channel
lea ecx, [ebp - 0x2cc]
call fcn.004056a0
push eax
push 0x5dc0
push str.sampleRate
lea ecx, [ebp - 0x2cc]
call fcn.004056a0
push eax
push 0x7e
mov edx, dword [ebp - 0x39c]
mov ecx, dword [edx + 0x32c]
call fcn.00419770
test eax, eax
je 0x4d78c9
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x32c]
call fcn.004da5b0
test eax, eax
jne 0x4d791f
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x32c]
mov dword [ebp - 0x37c], edx
mov eax, dword [ebp - 0x37c]
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0
je 0x4d7905
push 1
mov ecx, dword [ebp - 0x378]
call fcn.004da360
mov dword [ebp - 0x3f4], eax
jmp 0x4d790f
mov dword [ebp - 0x3f4], 0
mov ecx, dword [ebp - 0x39c]
mov dword [ecx + 0x32c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2cc]
call fcn.004055a0
jmp 0x4d7998
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 0x32c], 0
je 0x4d7998
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x32c]
mov dword [ebp - 0x384], ecx
mov edx, dword [ebp - 0x384]
mov dword [ebp - 0x380], edx
cmp dword [ebp - 0x380], 0
je 0x4d797e
push 1
mov ecx, dword [ebp - 0x380]
call fcn.004da360
mov dword [ebp - 0x3f8], eax
jmp 0x4d7988
mov dword [ebp - 0x3f8], 0
mov eax, dword [ebp - 0x39c]
mov dword [eax + 0x32c], 0
jmp case.0x4d5b4c.1
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x2dc]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x2dc]
call fcn.004da480
mov dword [ebp - 0x2d0], 0
lea edx, [ebp - 0x2d0]
push edx
lea ecx, [ebp - 0x2dc]
call fcn.004c8060
test eax, eax
je 0x4d7a7b
mov eax, dword [ebp - 0x2d0]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x4d7a23
cmp dword [ebp - 0x39c], 0
je 0x4d7a04
mov edx, dword [ebp - 0x39c]
add edx, 0x68
mov dword [ebp - 0x3fc], edx
jmp 0x4d7a0e
mov dword [ebp - 0x3fc], 0
push 1
mov eax, dword [ebp - 0x3fc]
push eax
push 0
call fcn.004d4760
add esp, 0xc
jmp 0x4d7a79
push 5
push str.exit:
mov ecx, dword [ebp - 0x2d0]
push ecx
call fcn.005c267a
add esp, 0xc
test eax, eax
jne 0x4d7a66
mov edx, dword [ebp - 0x2d0]
add edx, 5
push edx
call fcn.00401be0
add esp, 4
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e0]
push eax
call fcn.004d4310
add esp, 4
jmp 0x4d7a79
push 1
mov ecx, dword [ebp - 0x2d0]
push ecx
push 1
call fcn.004d44f0
add esp, 0xc
jmp 0x4d7a9d
cmp dword [0x69aaa4], 3
jg 0x4d7a9d
push str.Invalid_shell_parameter.
push 0x454
push 0x61422c
push 3
call fcn.00401310
add esp, 0x10
jmp case.0x4d5b4c.1
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x2f0]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x2f0]
call fcn.004da480
mov dword [ebp - 0x2e4], 0
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004c8060
test eax, eax
je 0x4d7af1
push 0
mov ecx, dword [ebp - 0x2e4]
push ecx
push 1
call fcn.004d44f0
add esp, 0xc
jmp case.0x4d5b4c.1
mov dword [ebp - 0x2f8], str.no_func__
mov edx, dword [ebp + 8]
and edx, 0xfffffff0
or edx, 1
mov dword [ebp - 0x2f4], edx
mov ecx, dword [0x69c0a0]
call fcn.004c6e20
test eax, eax
je 0x4d7d79
call fcn.004c7000
movzx eax, al
test eax, eax
je 0x4d7d79
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x2d0], 0
je 0x4d7b56
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x2d0]
cmp eax, dword [ebp + 8]
jne 0x4d7d79
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 1
jbe 0x4d7b7d
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.004158c0
movzx ecx, byte [eax + 1]
mov dword [ebp - 0x400], ecx
jmp 0x4d7b87
mov dword [ebp - 0x400], 0
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x2fc], edx
cmp dword [ebp - 0x2fc], 0
jne 0x4d7ca4
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 0x330], 0
jne 0x4d7c9f
lea ecx, [ebp - 0x310]
push ecx
lea edx, [ebp - 0x314]
push edx
call fcn.004c6240
add esp, 8
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x308], 0
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x300], ecx
push 0x28
call fcn.005c020b
add esp, 4
mov dword [ebp - 0x38c], eax
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x38c], 0
je 0x4d7c28
mov ecx, dword [ebp - 0x38c]
call fcn.004da770
mov dword [ebp - 0x404], eax
jmp 0x4d7c32
mov dword [ebp - 0x404], 0
mov edx, dword [ebp - 0x404]
mov dword [ebp - 0x388], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x388]
mov dword [eax + 0x330], ecx
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x330]
mov ecx, dword [ebp - 0x2f4]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x330]
push eax
push 1
push 0x402
mov ecx, dword [0x69c0a0]
add ecx, 4
call fcn.004c7900
test eax, eax
je 0x4d7c9f
push 0
mov ecx, dword [ebp - 0x39c]
call fcn.004da6f0
jmp 0x4d7d44
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x330], 0
je 0x4d7d44
push 1
mov ecx, dword [ebp - 0x39c]
call fcn.004da6f0
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x330]
push eax
push 0
push 0x402
mov ecx, dword [0x69c0a0]
add ecx, 4
call fcn.004c7900
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x330]
mov dword [ebp - 0x394], edx
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x390], eax
cmp dword [ebp - 0x390], 0
je 0x4d7d2a
push 1
mov ecx, dword [ebp - 0x390]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x390]
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x408], eax
jmp 0x4d7d34
mov dword [ebp - 0x408], 0
mov ecx, dword [ebp - 0x39c]
mov dword [ecx + 0x330], 0
mov dword [ebp - 0x2f4], 0
cmp dword [ebp - 0x2fc], 0
jle 0x4d7d63
mov dword [ebp - 0x40c], str.__dlg_scut__nscreen__.removeClass_active_
jmp 0x4d7d6d
mov dword [ebp - 0x40c], str.__dlg_scut__nscreen__.addClass_active_
mov edx, dword [ebp - 0x40c]
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x2f8]
push eax
push 0x25
lea ecx, [ebp - 0x398]
call fcn.004b25f0
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x414], ecx
mov dword [ebp - 4], 0xd
mov ecx, dword [ebp - 0x414]
call fcn.004efe20
push eax
mov edx, dword [ebp - 0x2f4]
push edx
mov ecx, dword [0x69c0a0]
call fcn.004b2530
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x398]
call fcn.004b2620
jmp case.0x4d5b4c.1
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x324]
call fcn.004c7f30
push 1
lea ecx, [ebp - 0x324]
call fcn.004da480
mov dword [ebp - 0x318], 0
mov ecx, dword [ebp + 0x10]
add ecx, 4
call fcn.00459250
cmp eax, 5
jbe case.0x4d5b4c.1
lea ecx, [ebp - 0x318]
push ecx
lea ecx, [ebp - 0x324]
call fcn.004c8060
test eax, eax
je case.0x4d5b4c.1
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x318]
push eax
mov ecx, dword [ebp - 0x39c]
call fcn.004d9c40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x154]
xor ecx, ebp
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret 0x10