Function at 0x439db0
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a7afb
mov eax, dword fs:[0]
push eax
sub esp, 0x4fc
mov eax, dword [0x4db06c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0x1c34]
mov edi, dword [ebp + 0xc]
test ecx, ecx
jns 0x439df4
xor eax, eax
jmp 0x43a963
mov eax, dword [esi + 0x1b04]
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0x2598]
or eax, dword [esi + 0x259c]
mov dword [ebp - 0x42c], ebx
jne 0x439e3f
mov eax, dword [esi + 0x25a0]
or eax, dword [esi + 0x25a4]
jne 0x439e3f
mov eax, dword [esi + 0x2620]
or eax, dword [esi + 0x2624]
jne 0x439e3f
mov eax, dword [esi + 0x24e8]
or eax, dword [esi + 0x24ec]
jne 0x439e3f
xor ecx, ecx
jmp 0x439e44
mov ecx, 1
mov eax, dword [ebx + 8]
mov dword [ebp - 0x414], ecx
cmp word [eax], 0
je 0x439e7e
test byte [ebx + 0x1c], 2
je 0x439e5d
test ecx, ecx
je 0x439e7e
test eax, eax
mov ecx, 0x4c1430
cmovne ecx, eax
xor eax, eax
cmp dword [ebp + 8], eax
sete al
or eax, 0x20000
push eax
push 0
push ecx
call dword [sym.imp.WINMM.dll_PlaySoundW]
mov eax, dword [ebx + 0x1c]
mov edx, 4
mov ecx, eax
and ecx, 0x200
test dl, al
cmovne ecx, edx
mov edx, dword [ebp - 0x414]
test eax, 0x2000
jne 0x439eaf
test eax, 0x1000
je 0x439eab
test edx, edx
je 0x439eaf
xor eax, eax
jmp 0x439eb4
mov eax, 1
mov dword [edi], eax
mov eax, dword [ebx + 0x10]
cmp word [eax], 0
je 0x43a317
test ecx, ecx
je 0x439ee9
cmp ecx, 0x200
jne 0x439ed8
test edx, edx
je 0x439ee9
jmp 0x43a317
cmp ecx, 4
jne 0x43a317
test edx, edx
je 0x43a317
push 0
lea ecx, [ebp - 0x4cc]
call fcn.0045b4a0
mov dword [ebp - 4], 0
mov ecx, 0x4c1430
mov eax, dword [ebx + 0x1c]
mov edi, eax
shr edi, 4
mov dword [ebp - 0x418], eax
and edi, 1
mov eax, dword [ebx + 0x10]
test eax, eax
push 0x4caa70
cmovne ecx, eax
mov dword [ebp - 0x4b0], 5
push ecx
lea ecx, [ebp - 0x4cc]
call fcn.0045b6c0
xor ebx, ebx
cmp dword [ebp - 0x4b8], ebx
jle 0x43a2ff
shl edi, 6
mov dword [ebp - 0x420], edi
mov dword [ebp - 0x424], 0xffffffff
nop word [eax + eax]
push 0x2710
lea ecx, [ebp - 0x4a0]
mov dword [ebp - method.std::_Facet_base.virtual_4], vtable.THashTblT_unsigned_int_.0
mov dword [ebp - 0x49c], 0
mov dword [ebp - 0x494], 0
mov dword [ebp - 0x490], 1
mov dword [ebp - 0x498], 0x2710
call fcn.0041b900
mov dword [ebp - method.PathArray.virtual_0], vtable.PathArray.0
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x468]
push 0x2710
mov dword [ebp - method.std::_Facet_base.virtual_4], vtable.THashTblT_unsigned_int_.0
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 1
mov dword [ebp - 0x460], 0x2710
call fcn.0041b900
mov dword [ebp - method.PathArray.virtual_0], vtable.PathArray.0
mov dword [ebp - 0x454], 0
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0
mov byte [ebp - 4], 2
mov dword [ebp - 0x484], 5
cmp ebx, dword [ebp - 0x4b8]
jge 0x43a05c
mov eax, dword [ebp - 0x4b4]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 0x10]
jmp 0x43a05e
xor eax, eax
push 0x4c1e48
push eax
lea ecx, [ebp - 0x4a0]
call fcn.0045b6c0
mov eax, dword [ebp - 0x48c]
mov edi, 1
mov dword [ebp - 0x44c], 1
cmp eax, edi
jle 0x43a0b3
cmp edi, eax
jge 0x43a09a
mov eax, dword [ebp - 0x488]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x10]
jmp 0x43a09c
xor eax, eax
push eax
lea ecx, [ebp - 0x468]
call fcn.0045b9b0
mov eax, dword [ebp - 0x48c]
inc edi
cmp edi, eax
jl 0x43a08c
push 0
push 0x4caa74
push 0x4caa74
lea ecx, [ebp - 0x468]
call fcn.0045b8f0
xor edi, edi
mov dword [ebp - 0x428], edi
test eax, eax
je 0x43a0fd
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00487989
mov edi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x428], edi
mov word [edi], ax
push 0
push 0x4caa74
push 0x4c1e48
push 0
push 0x4caa74
push 0x4caa74
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 3
call fcn.0045b8f0
push eax
push edi
lea ecx, [ebp - 0x468]
call fcn.0045b730
cmp dword [ebp - 0x48c], 0
xorps xmm0, xmm0
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x500], 0
movlpd qword [ebp - 0x4f8], xmm0
movlpd qword [ebp - 0x4f0], xmm0
movlpd qword [ebp - 0x4e8], xmm0
movlpd qword [ebp - 0x4e0], xmm0
movlpd qword [ebp - 0x4d8], xmm0
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x508], 0x3c
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x4fc], 0
jle 0x43a1a6
mov eax, dword [ebp - 0x488]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
jmp 0x43a1a8
xor eax, eax
lea ecx, [ebp - 0x508]
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4f4], edi
mov dword [ebp - 0x4f0], 0
mov dword [ebp - 0x4ec], 1
call fcn.004615b0
test eax, eax
je 0x43a2c1
test byte [ebp - 0x418], 0x10
je 0x43a2c1
cmp dword [ebp - 0x4d0], 0
je 0x43a2c1
mov eax, dword [esi]
lea ecx, [ebp - 0x210]
push 0x200
push ecx
push 0xbcd
mov ecx, esi
call dword [eax + 0xe8]
lea eax, [ebp - 0x210]
push eax
push str._s_r_nWait_for_finish_action...
lea eax, [ebp - 0x410]
push 0x200
push eax
call fcn.004330e0
mov eax, dword [esi]
lea ecx, [ebp - 0x410]
add esp, 0x10
push ecx
push 0xbcd
mov ecx, esi
call dword [eax + 0xf4]
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x120]
push 0x64
push dword [ebp - 0x4d0]
call dword [sym.imp.KERNEL30.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x43a293
nop word [eax + eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c4]
test eax, eax
jne 0x43a270
push 0x64
push dword [ebp - 0x4d0]
call dword [sym.imp.KERNEL30.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x43a270
push dword [ebp - 0x4d0]
call dword [sym.imp.KERNEL30.dll_CloseHandle]
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x120]
mov eax, dword [esi]
lea ecx, [ebp - 0x210]
push ecx
push 0xbcd
mov ecx, esi
call dword [eax + 0xf4]
test edi, edi
je 0x43a2d8
push edi
call fcn.00487954
add esp, 4
mov dword [ebp - 0x428], 0
lea ecx, [ebp - 0x468]
call fcn.0045b530
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 0
call fcn.0045b530
inc ebx
cmp ebx, dword [ebp - 0x4b8]
jl 0x439f60
lea ecx, [ebp - 0x4cc]
mov dword [ebp - 4], 0xffffffff
call fcn.0045b530
mov ebx, dword [ebp - 0x42c]
mov eax, dword [ebx + 0x1c]
test eax, 0x400
je 0x43a780
mov ecx, dword [esi + 0x1b0c]
test ecx, ecx
je 0x43a780
cmp word [ecx], 0
je 0x43a780
mov ecx, dword [esi + 0x1b14]
test ecx, ecx
je 0x43a780
cmp word [ecx], 0
mov ecx, dword [ebp - 0x414]
je 0x43a786
test ecx, ecx
jne 0x43a36a
test eax, 0x800
jne 0x43a786
push 0xffffffffffffffff
push str.https:__fastcopy.jp_img_fastcopy64.png
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 0xffffffff
call fcn.0043e7a0
mov dword [ebp - 4], 4
mov dword [ebp - 0x480], 0
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0
push 1
push 0
lea eax, [ebp - 0x480]
mov byte [ebp - 4], 7
push eax
mov ecx, esi
call fcn.004446d0
mov eax, dword [esi + 0x3ad8]
lea ecx, [esi + 0x3ad8]
call dword [eax + 0x184]
push 0x7d0
lea ecx, [ebp - 0x440]
lea ebx, [eax + 1]
mov eax, 0x7bc
cmp ebx, 0x7d0
mov edi, ebx
cmovg edi, eax
call fcn.0040e1d0
mov eax, dword [esi + 0x3ad8]
lea ecx, [esi + 0x3ad8]
push edi
push dword [ebp - 0x440]
call dword [eax + 0x174]
mov edi, dword [ebp - 0x43c]
cmp ebx, 0x7d0
mov ebx, dword [ebp - 0x440]
jle 0x43a4a5
lea ecx, [ebx + eax]
mov edi, str._ntoo_many_errors_n
mov dword [ebp - 0x418], ecx
mov dl, 0xa
sub edi, ecx
nop dword [eax + eax]
mov byte [ecx], dl
inc ecx
mov dl, byte [edi + ecx]
test dl, dl
jne 0x43a480
mov edi, dword [ebp - 0x43c]
mov byte [ecx], dl
sub ecx, dword [ebp - 0x418]
add ecx, eax
cmp ecx, edi
jbe 0x43a49f
int3
mov dword [ebp - 0x438], ecx
push 1
lea eax, [ebp - 0x474]
mov ecx, esi
push eax
call fcn.00444a00
mov eax, dword [ebp - 0x480]
test eax, eax
je 0x43a4c8
cmp dword [ebp - 0x47c], 0
jne 0x43a4cd
mov eax, 0x4b88fd
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x418], 0xffffffff
call fcn.0043e7a0
mov byte [ebp - 4], 8
test ebx, ebx
je 0x43a4fd
mov eax, ebx
test edi, edi
jne 0x43a502
mov eax, 0x4b88fd
push eax
lea ecx, [ebp - 0x41c]
call fcn.0043e5f0
mov eax, dword [ebp - 0x474]
test eax, eax
je 0x43a521
cmp dword [ebp - 0x470], 0
jne 0x43a526
mov eax, 0x4b88fd
push eax
lea ecx, [ebp - 0x41c]
call fcn.0043e5f0
mov eax, dword [ebp - 0x41c]
lea edx, [ebp - 0x41c]
test eax, eax
mov ecx, 0x4c1430
cmovne ecx, eax
call fcn.0044bc40
mov eax, dword [ebp - 0x434]
lea edx, [ebp - 0x434]
test eax, eax
mov ecx, 0x4c1430
cmovne ecx, eax
call fcn.0044bc40
lea eax, [ebp - 0x41c]
push eax
push str.__body_
lea ecx, [ebp - 0x4cc]
call fcn.0043e8e0
lea eax, [ebp - 0x434]
mov byte [ebp - 4], 9
push eax
push str.__icon_
lea ecx, [ebp - 0x4bc]
call fcn.0043e8e0
lea eax, [ebp - 0x4ac]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4cc]
push eax
push ecx
lea ecx, [ebp - 0x468]
call fcn.0043e400
push 0x43a990
push 2
push 0x10
lea eax, [ebp - 0x4cc]
mov byte [ebp - 4], 0xc
push eax
call fcn.00487825
lea edi, [esi + 0x1b14]
push edi
lea ecx, [ebp - 0x428]
call fcn.0043e700
mov byte [ebp - 4], 0xd
mov ecx, 0x4c1430
mov eax, dword [edi]
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x468]
push eax
call fcn.00463790
lea edx, [ebp - 0x428]
mov ecx, eax
call fcn.0044bec0
add esp, 4
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4a4], 0
mov dword [ebp - 0x444], 0xffffffff
mov dword [ebp - 0x448], 0
mov byte [ebp - 4], 0xf
mov eax, 0x4c1430
mov edi, dword [ebp - 0x428]
test edi, edi
cmovne eax, edi
push eax
push str.post_s_n
call fcn.0045f930
mov edx, dword [ebp - 0x424]
add esp, 8
test edx, edx
jns 0x43a68f
test edi, edi
jne 0x43a674
xor edx, edx
jmp 0x43a699
mov edx, edi
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x43a680
sub edx, ecx
mov dword [ebp - 0x424], edx
mov dword [ebp - 0x420], edi
test edi, edi
jne 0x43a6a3
mov dword [ebp - 0x420], 0x4c1430
mov eax, dword [esi + 0x1b0c]
mov ecx, 0x4c1430
test eax, eax
push 0
cmovne ecx, eax
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x4ac]
push eax
push edx
push dword [ebp - 0x420]
call fcn.00463790
xor edx, edx
mov ecx, eax
call fcn.00468ed0
mov eax, dword [ebp - 0x448]
add esp, 0x14
test eax, eax
je 0x43a6f8
push eax
call fcn.00487954
add esp, 4
mov dword [ebp - 0x448], 0
push dword [ebp - 0x4ac]
mov dword [ebp - 0x444], 0xffffffff
call fcn.00491111
add esp, 4
test edi, edi
je 0x43a71d
push edi
call fcn.00487954
add esp, 4
lea ecx, [ebp - 0x468]
call fcn.0043a9e0
mov eax, dword [ebp - 0x41c]
test eax, eax
je 0x43a73b
push eax
call fcn.00487954
add esp, 4
push dword [ebp - 0x474]
call fcn.00491111
add esp, 4
push ebx
call fcn.00491111
add esp, 4
push dword [ebp - 0x480]
call fcn.00491111
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov eax, dword [ebp - 0x434]
test eax, eax
je 0x43a77a
push eax
call fcn.00487954
add esp, 4
mov ebx, dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x414]
mov eax, dword [ebx + 0x1c]
test eax, 0x1c0
je 0x43a95e
cmp dword [ebx + 0x18], 0
jl 0x43a95e
test ecx, ecx
je 0x43a7aa
test al, 4
jne 0x43a95e
push esi
lea ecx, [ebp - 0xb0]
call fcn.0044d750
xorps xmm0, xmm0
mov dword [ebp - 0xb0], 0x4cf020
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], 0x10
mov eax, dword [ebx + 0x1c]
mov esi, eax
shr esi, 5
and esi, 1
test al, 0x40
je 0x43a7ee
mov ecx, 0x51
jmp 0x43a7fb
test al, 0x80
mov ecx, 0
setne cl
add ecx, 0x4f
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x43a8c7
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
call fcn.0045fe50
mov ecx, 0x52
mov dword [ebp - 0x20], eax
call fcn.0045fe50
mov ecx, 0x53
mov dword [ebp - 0x1c], eax
call fcn.0045fe50
mov edi, dword [0x4e0944]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], 0xffffffff
cmp eax, 0x4c1430
je 0x43a870
test eax, eax
je 0x43a859
push eax
call fcn.00487954
add esp, 4
mov dword [ebp - 0x3c], 0
or edx, 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov ecx, 0x4c1430
call fcn.00412580
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], 0xffffffff
test edi, edi
je 0x43a882
cmp edi, eax
je 0x43a8ae
test eax, eax
je 0x43a896
push eax
call fcn.00487954
add esp, 4
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xffffffff
test edi, edi
je 0x43a8ae
or edx, 0xffffffff
mov ecx, edi
call fcn.00412580
mov dword [ebp - 0x34], eax
push 0
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x2c], 1
call fcn.0046e8a0
cmp eax, 1
jne 0x43a90d
mov ecx, str.SeShutdownPrivilege
call fcn.00460950
mov eax, dword [ebx + 0x1c]
test al, 0x40
je 0x43a8e3
push esi
push 1
call dword [sym.imp.KERNEL30.dll_SetSystemPowerState]
jmp 0x43a90d
test al, al
jns 0x43a8f2
push esi
push 0
call dword [sym.imp.KERNEL30.dll_SetSystemPowerState]
jmp 0x43a90d
test eax, 0x100
je 0x43a90d
push 0x80040000
push 0
push esi
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_InitiateSystemShutdownExA]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xb0], vtable.TMsgBox.0
test eax, eax
je 0x43a92e
push eax
call fcn.00487954
add esp, 4
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], 0xffffffff
test eax, eax
je 0x43a94c
push eax
call fcn.00487954
add esp, 4
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x38], 0xffffffff
call fcn.0046e720
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00487555
mov esp, ebp
pop ebp
ret 8