Function at 0x40b76e
Capabilities:
Shutdown system

Disassembly:
push 0xffffffffffffffff
push 0x4a073a
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
mov eax, dword [0x4d3a00]
xor eax, esp
mov dword [esp + 0xf8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d3a00]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x58], ebx
call fcn.0040b556
test al, al
je 0x40b7bf
xor eax, eax
jmp 0x40bee5
mov esi, dword [0x4d8df4]
mov ecx, esi
push 0x4b54b0
call fcn.00434810
test al, al
je 0x40b7dc
call fcn.00429d0e
jmp 0x40b7b8
push str.pcmgr
mov ecx, esi
call fcn.00434810
test al, al
je 0x40b7f3
call fcn.0042aac3
jmp 0x40b7b8
push str.sdfix
mov ecx, esi
call fcn.00434810
test al, al
je 0x40b80a
call fcn.0042b161
jmp 0x40b7b8
push str.dbxc
mov ecx, esi
call fcn.00434810
test al, al
je 0x40b821
call fcn.0042bdb7
jmp 0x40b7b8
mov edi, str.kaxhlpdl
mov ecx, esi
push edi
call fcn.00434810
test al, al
je 0x40b8df
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
mov dword [esp + 0x118], ebx
push edi
mov dword [esp + 0x18], edi
call fcn.004012c1
pop ecx
mov dword [esp + 0x18], eax
mov ecx, esi
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.00434870
xor ebx, ebx
inc ebx
mov byte [esp + 0x118], bl
lea ecx, [esp + 0x94]
push eax
call fcn.0040c960
mov byte [esp + 0x118], 0
lea ecx, [esp + 0xf4]
push 0
push ebx
call fcn.0040162e
lea ecx, [esp + 0x94]
call fcn.0042ef63
mov esi, eax
or dword [esp + 0x118], 0xffffffff
lea ecx, [esp + 0x94]
push 0
push ebx
call fcn.0040162e
jmp 0x40bee3
push str.fix_historycore
mov ecx, esi
call fcn.00434810
test al, al
jne 0x40b7b8
push str.fixsb1
mov ecx, esi
call fcn.00434810
test al, al
je 0x40b90d
call fcn.0041542f
jmp 0x40b7b8
push str.unionmp
mov ecx, esi
call fcn.00434810
test al, al
jne 0x40b7b8
push str.mico4
mov ecx, esi
call fcn.00434810
test al, al
je 0x40b93b
call fcn.0042d89c
jmp 0x40b7b8
mov edi, str.d11icon
mov ecx, esi
push edi
call fcn.00434810
test al, al
je 0x40ba0f
push edi
mov dword [esp + 0x18], edi
call fcn.004012c1
pop ecx
mov dword [esp + 0x18], eax
mov ecx, esi
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x98]
push eax
call fcn.00434870
mov dword [esp + 0x118], 2
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x40b9f3
cmp dword [esp + 0xa8], 0x10
lea esi, [esp + 0x94]
mov dword [esp + 0x14], ebx
cmovae esi, dword [esp + 0x94]
lea edi, [esi + eax]
cmp esi, edi
je 0x40b9db
mov cl, byte [esi]
call fcn.00433610
test al, al
je 0x40b9bb
inc esi
cmp esi, edi
jne 0x40b9ab
cmp esi, edi
je 0x40b9db
mov al, byte [esi]
cmp al, 0x2d
jne 0x40b9d6
lea eax, [esp + 0x14]
mov edx, edi
push eax
lea ecx, [esi + 1]
call fcn.004336b0
jmp 0x40b9e9
cmp al, 0x2b
jne 0x40b9db
inc esi
lea eax, [esp + 0x14]
mov edx, edi
push eax
mov ecx, esi
call fcn.00433720
pop ecx
mov ecx, dword [esp + 0x14]
call fcn.0042e22f
or dword [esp + 0x118], 0xffffffff
lea ecx, [esp + 0x94]
push ebx
push 1
call fcn.0040162e
jmp 0x40b7b8
mov edi, str.d12icon
mov ecx, esi
push edi
call fcn.00434810
test al, al
je 0x40ba89
push edi
mov dword [esp + 0x18], edi
call fcn.004012c1
pop ecx
mov dword [esp + 0x18], eax
mov ecx, esi
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.00434870
mov dword [esp + 0x118], 3
push ebx
call fcn.0047eb0c
pop ecx
push eax
call fcn.0047eafc
pop ecx
call fcn.0047eadb
and eax, reloc.WS2_32.dll_accept
jns 0x40ba6d
dec eax
or eax, 0xfffffffe
inc eax
lea ecx, [eax + 4]
call fcn.0042e22f
or dword [esp + 0x118], 0xffffffff
lea ecx, [esp + 0xf4]
jmp 0x40ba02
mov edi, str.pinmask
mov ecx, esi
push edi
call fcn.00434810
test al, al
je 0x40bb6c
push edi
mov dword [esp + 0x18], edi
call fcn.004012c1
pop ecx
mov dword [esp + 0x18], eax
mov ecx, esi
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x98]
push eax
call fcn.00434870
mov dword [esp + 0x118], 4
lea esi, [esp + 0x94]
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0xa4]
cmovae esi, dword [esp + 0x94]
mov dword [esp + 0x14], ebx
xor ebx, ebx
inc ebx
mov byte [esp + 0x1f], bl
lea edi, [eax + esi]
cmp esi, edi
je 0x40bb36
mov cl, byte [esi]
call fcn.00433610
test al, al
je 0x40bb11
inc esi
mov byte [esp + 0x1f], 0
cmp esi, edi
jne 0x40bafc
cmp esi, edi
je 0x40bb36
mov al, byte [esi]
cmp al, 0x2d
jne 0x40bb31
lea eax, [esp + 0x14]
mov edx, edi
push eax
lea ecx, [esi + 1]
call fcn.004336b0
pop ecx
test al, al
jne 0x40bb4f
jmp 0x40bb53
cmp al, 0x2b
jne 0x40bb36
inc esi
lea eax, [esp + 0x14]
mov edx, edi
push eax
mov ecx, esi
call fcn.00433720
neg al
pop ecx
sbb al, al
and al, byte [esp + 0x1f]
jmp 0x40bb53
mov al, byte [esp + 0x1f]
test al, al
jne 0x40bb5e
xor esi, esi
jmp 0x40b8c3
mov ecx, dword [esp + 0x14]
call fcn.00411a78
jmp 0x40b8c1
push str.repair_pagefile
mov ecx, esi
call fcn.00434810
test al, al
je 0x40bbc0
call fcn.00401d02
test al, al
je 0x40b7b8
push 0x41
push 0x4b552c
push 0x4b5540
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x40b7b8
call fcn.0040b4af
test eax, eax
je 0x40b7b8
push ebx
push 6
call dword [sym.imp.USER32.dll_ExitWindowsEx]
jmp 0x40b7b8
lea eax, [esp + 0x34]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x118], 7
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x14], ebx
jne 0x40bc16
sub esp, 0xc
lea eax, [esp + 0x20]
push eax
push ecx
push ecx
lea ecx, [esp + 0x4c]
call fcn.0040b3a2
test eax, eax
js 0x40bc0f
cmp dword [esp + 0x14], 0
je 0x40bc16
mov eax, dword [esp + 0x34]
push dword [eax]
call fcn.0040b42b
mov esi, ebx
jmp 0x40bec4
xor eax, eax
xor ebx, ebx
push eax
mov dword [esp + 0x2c], eax
inc ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x2c], ebx
push eax
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
call fcn.00450657
mov ebp, eax
mov dword [esp + 0x5c], vtable.WTL::CMessageLoop.0
xor eax, eax
mov dword [0x4d86e0], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov byte [esp + 0x118], 0xa
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov byte [esp + 0x118], 0xc
lea eax, [esp + 0x5c]
push eax
call fcn.0040b1ab
push 0x50
call fcn.0047b5be
pop ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x118], 0xd
test eax, eax
je 0x40bca7
mov ecx, eax
call fcn.0044f6fa
mov esi, eax
jmp 0x40bca9
xor esi, esi
mov byte [esp + 0x118], 0xc
lea eax, [esp + 0x14]
push eax
mov ecx, esi
mov dword [esp + 0x18], 0x236
mov dword [esp + 0x1c], 0x202
call fcn.0044f7d1
push 0
mov ecx, esi
call fcn.0044f815
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x40bce6
mov dword [eax], ecx
mov eax, dword [esi + 4]
push 0x4b5594
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [0x4d8df4]
lea ecx, [esp + 0xc4]
xor edi, edi
push dword [eax]
call fcn.00403034
mov byte [esp + 0x118], 0xe
lea eax, [esp + 0x14]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0xd0]
mov dword [esp + 0x20], 0x5c
call fcn.0040cbd5
push dword [esp + 0xd4]
inc eax
lea ecx, [esp + 0xc8]
push eax
lea eax, [esp + 0xe4]
push eax
call fcn.0040c983
mov byte [esp + 0x118], 0xf
lea eax, [esp + 0xdc]
cmp dword [esp + 0xf0], 8
push str.yunying.exe
cmovae eax, dword [esp + 0xe0]
push eax
call fcn.0047b6f6
pop ecx
pop ecx
test eax, eax
jne 0x40bdad
push 0x74
call fcn.0047b5be
pop ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x118], 0x10
test eax, eax
je 0x40bd9f
push esi
mov ecx, eax
call fcn.0041eefd
jmp 0x40bda1
xor eax, eax
mov byte [esp + 0x118], 0xf
push ebx
push eax
jmp 0x40bde0
push 0xa0
call fcn.0047b5be
pop ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x118], 0x11
test eax, eax
je 0x40bdd4
push esi
mov ecx, eax
call fcn.00422085
mov edi, eax
jmp 0x40bdd6
xor edi, edi
mov byte [esp + 0x118], 0xf
push ebx
push edi
mov ecx, esi
call fcn.0044fa2e
mov ecx, dword [0x4d8df4]
push str.quick_fix
call fcn.00434810
test al, al
je 0x40be02
mov ecx, edi
call fcn.00423304
push ecx
mov ecx, esi
call fcn.0044f9e5
lea ecx, [esp + 0x5c]
call fcn.0040af60
mov esi, eax
call fcn.0040b218
xor eax, eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], eax
mov byte [esp + 0xac], al
mov byte [esp + 0x118], 0x12
lea eax, [esp + 0xac]
push eax
mov ecx, 0x4d8824
call fcn.0046bcd0
mov ecx, ebp
call fcn.00450745
push dword [esp + 0x20]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov byte [esp + 0x118], 0xf
lea ecx, [esp + 0xac]
push 0
push ebx
call fcn.0040162e
mov byte [esp + 0x118], 0xe
lea ecx, [esp + 0xdc]
push 0
push ebx
call fcn.0040314a
mov byte [esp + 0x118], 0xc
lea ecx, [esp + 0xc4]
push 0
push ebx
call fcn.0040314a
mov byte [esp + 0x118], 7
lea ecx, [esp + 0x5c]
call fcn.0040bf6a
or dword [esp + 0x118], 0xffffffff
lea eax, [esp + 0x34]
mov dword [esp + 0x14], eax
or dword [esp + 0x118], 0xffffffff
mov ecx, eax
call fcn.0040b35f
mov eax, esi
mov ecx, dword [esp + 0x110]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xf8]
xor ecx, esp
call fcn.0047aabf
add esp, 0x108
ret