Function at 0x5551e0
Capabilities:
Check os version
Shutdown system
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x555e96
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.005bca7e
cmp byte [ebx], 0
pop ecx
mov dword [ebp - 8], eax
mov dword [ebp + 8], ebx
je 0x555e88
push 1
pop edi
mov ebx, eax
mov ecx, ebx
xor dl, dl
mov eax, dword [ebp + 8]
movsx eax, byte [eax]
test eax, eax
je 0x555252
cmp eax, 0x20
jne 0x55523e
test dl, dl
je 0x555252
cmp eax, 0x22
jne 0x55524a
test dl, dl
sete dl
jmp 0x55524d
mov byte [ecx], al
inc ecx
inc dword [ebp + 8]
jmp 0x55522b
mov edx, dword [ebp + 8]
mov al, byte [edx]
test al, al
je 0x555265
cmp al, 0x20
jne 0x555265
inc edx
mov dword [ebp + 8], edx
jmp 0x555255
and byte [ecx], 0
push 0x61d834
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555284
mov dword [0x648b64], edi
jmp 0x5557e4
push 0x61d82c
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5552a0
mov dword [0x648b48], edi
jmp 0x5557e4
push 0x61d820
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5552d7
and dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebx + 0xb]
push 0x61bce4
push eax
call fcn.005a4e0c
mov eax, dword [ebp - 4]
add esp, 0xc
dec eax
mov dword [0x648958], eax
jmp 0x5557e4
push 5
push 0x61d818
push ebx
call fcn.005a62f0
add esp, 0xc
test eax, eax
jne 0x555321
and dword [ebp - 8], eax
and dword [ebp - 4], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebx + 5]
push 0x61d810
push eax
call fcn.005a4e0c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [0x648b4c], eax
add eax, ecx
mov dword [0x648b50], eax
jmp 0x5557e4
push 0x61d804
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x55533e
mov byte [0x64536c], 1
jmp 0x5557e4
push 0x61d7fc
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555362
mov byte [esi + 0x2f8], 1
and byte [esi + 0x1b7], 0
jmp 0x5557e4
mov edx, 0x61d7ec
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555392
lea eax, [ebx + 0xc]
push eax
call fcn.005a5855
fmul qword [0x5dd3d0]
pop ecx
call fcn.005a35cc
mov dword [esi + 0x300], eax
jmp 0x5557e4
mov edx, 0x61d7e0
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x5553b7
lea eax, [ebx + 0xb]
push eax
call fcn.005a51b7
pop ecx
mov dword [esi + 0x304], eax
jmp 0x5557e4
push 0x61d7c4
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5553d3
and byte [esi + 0x2f9], al
jmp 0x5557e4
push 0x61d7b0
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5553f0
mov byte [esi + 0x2fa], 1
jmp 0x5557e4
push 0x61d7a4
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x55540d
mov byte [esi + 0x2fb], 1
jmp 0x5557e4
mov edx, 0x61d790
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555432
add eax, 0x10
push eax
call fcn.005a51b7
pop ecx
mov dword [esi + 0x2fc], eax
jmp 0x5557e4
push 0x61d784
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x55544e
mov dword [0x6486ac], edi
jmp 0x5557e4
push 0x61d778
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x55546a
mov dword [esi + 0x3b0], edi
jmp 0x5557e4
push 0x61d76c
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555486
mov dword [esi + 0x36c], edi
jmp 0x5557e4
push 0x61d760
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5554a2
and dword [esi + 0x36c], eax
jmp 0x5557e4
mov edx, 0x61d750
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x5554d6
add eax, 0xc
push pe_nt_image_headers32
push eax
lea eax, [esi + 0x84]
push eax
call fcn.005a3a10
add esp, 0xc
and byte [esi + 0x103], 0
jmp 0x5557e4
push 0x61d738
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5554f3
mov byte [esi + 0x1b3], 1
jmp 0x5557e4
push 0x61d728
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x55550f
mov dword [esi + 0x188], edi
jmp 0x5557e4
push 0x61d714
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x55552b
and dword [esi + 0x188], eax
jmp 0x5557e4
push 0x61d704
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555547
mov dword [esi + 0x184], edi
jmp 0x5557e4
push 0x61d6f0
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555563
and dword [esi + 0x184], eax
jmp 0x5557e4
mov edx, 0x61d6e0
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x55558e
mov byte [esi + 0x1bf], 1
lea eax, [ebx + 0xd]
push eax
lea ecx, [esi + 0x1c8]
call fcn.005bcec6
jmp 0x5557e4
mov edx, 0x61d6cc
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x5555aa
mov byte [esi + 0x1c0], 1
jmp 0x5557e4
mov edx, 0x61d6c0
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x5555c6
lea eax, [ebx + 0xb]
push eax
lea ecx, [esi + 0x1cc]
jmp 0x555584
mov edx, 0x61d6b0
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x5555df
mov byte [esi + 0x1be], 1
jmp 0x55557a
mov edx, 0x61d6a4
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555602
lea eax, [ebx + 7]
mov byte [esi + 0x1bd], 1
push eax
lea ecx, [esi + 0x1c4]
jmp 0x555584
push 0x61d694
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x55561f
mov byte [esi + 0x1b1], 1
jmp 0x5557e4
push 0x61d680
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x55563b
and byte [esi + 0x1b2], al
jmp 0x5557e4
push 0x61d66c
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555658
mov byte [esi + 0x1b2], 1
jmp 0x5557e4
push 0x61d658
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555675
mov byte [esi + 0x1b4], 1
jmp 0x5557e4
push 0x61d644
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555692
mov byte [esi + 0x1b5], 1
jmp 0x5557e4
mov edx, 0x61d638
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555709
add eax, 0xb
push 0x20
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.005a3a10
mov al, byte [ebp - 0x38]
and byte [ebp - 0x19], 0
add esp, 0xc
cmp al, 0x30
je 0x5556fd
cmp al, 0x65
je 0x5556fd
cmp al, 0x45
je 0x5556fd
cmp al, 0x31
je 0x5556f2
cmp al, 0x6d
je 0x5556f2
cmp al, 0x4d
je 0x5556f2
cmp al, 0x32
je 0x5556e3
cmp al, 0x68
je 0x5556e3
cmp al, 0x48
jne 0x5557e4
mov dword [esi + 0x2d0], 2
jmp 0x5557e4
mov dword [esi + 0x2d0], edi
jmp 0x5557e4
and dword [esi + 0x2d0], 0
jmp 0x5557e4
mov edx, 0x61d630
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x55573a
add eax, 6
push 0x40
push eax
lea eax, [esi + 0x240]
push eax
call fcn.005a3a10
add esp, 0xc
and byte [esi + 0x27f], 0
jmp 0x5557e4
mov edx, 0x61d628
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555768
add eax, 5
push 0x40
push eax
lea eax, [esi + 0x280]
push eax
call fcn.005a3a10
add esp, 0xc
and byte [esi + 0x2bf], 0
jmp 0x5557e4
mov edx, 0x61d61c
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555798
add eax, 9
push eax
call fcn.005a51b7
test eax, eax
pop ecx
jge 0x55578a
xor eax, eax
jmp 0x555790
cmp eax, edi
jle 0x555790
mov eax, edi
mov dword [esi + 0x2c4], eax
jmp 0x5557e4
mov edx, 0x61d610
mov ecx, ebx
call fcn.005529d8
mov edx, eax
test edx, edx
je 0x5557f5
or ecx, 0xffffffff
xor eax, eax
mov edi, 0x61d610
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 6
add ecx, edx
push ecx
lea eax, [ebp - 0x10]
push eax
call fcn.005a3a10
and byte [ebp - 0xb], 0
and byte [ebp - 0xf], 0
lea eax, [ebp - 0x10]
push eax
call fcn.005a51b7
add esp, 0x10
mov dword [esi + 0x2c0], eax
push 1
pop edi
mov eax, dword [ebp + 8]
cmp byte [eax], 0
jne 0x555227
jmp 0x555e8b
mov edx, 0x61d604
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555853
lea edi, [eax + 9]
push edi
call fcn.005a51b7
imul eax, eax, 0x3e8
cmp eax, 0x1388
pop ecx
jge 0x555823
mov eax, 0x1388
jmp 0x55584b
push edi
call fcn.005a51b7
imul eax, eax, 0x3e8
cmp eax, 0x493e0
pop ecx
jle 0x55583e
mov eax, 0x493e0
jmp 0x55584b
push edi
call fcn.005a51b7
imul eax, eax, 0x3e8
pop ecx
mov dword [esi + 0x23c], eax
jmp 0x5557e1
mov edx, 0x61d5f8
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x5558b4
lea edi, [eax + 0xa]
push edi
call fcn.005a51b7
imul eax, eax, 0x3e8
cmp eax, 0x1388
pop ecx
jge 0x555881
mov eax, 0x1388
jmp 0x5558a9
push edi
call fcn.005a51b7
imul eax, eax, 0x3e8
cmp eax, 0x493e0
pop ecx
jle 0x55589c
mov eax, 0x493e0
jmp 0x5558a9
push edi
call fcn.005a51b7
imul eax, eax, 0x3e8
pop ecx
mov dword [esi + 0x238], eax
jmp 0x5557e1
mov edx, 0x61d5f0
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x5558e3
cmp byte [ebx + 5], 0
lea eax, [ebx + 5]
je 0x5557e4
push eax
call fcn.005a763f
pop ecx
mov dword [esi + 0x234], eax
jmp 0x5557e4
mov edx, 0x61d5e8
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555912
cmp byte [ebx + 9], 0
je 0x5557e4
lea eax, [ebx + 5]
push eax
call fcn.005a763f
pop ecx
mov dword [esi + 0x2e8], eax
jmp 0x5557e4
mov edx, 0x61d5dc
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555937
add eax, 0xa
push eax
call fcn.005a51b7
pop ecx
mov dword [esi + 0x2ec], eax
jmp 0x5557e4
mov edx, 0x61d5d0
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555a38
cmp byte [eax + 9], 0
lea edi, [eax + 9]
je 0x5557e1
push 0x61d5c4
push edi
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555974
and dword [esi + 0x2e4], eax
jmp 0x5557e1
push 0x61bb58
push edi
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555994
mov dword [esi + 0x2e4], 1
jmp 0x5557e1
push 0x61d5b8
push edi
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5559b4
mov dword [esi + 0x2e4], 2
jmp 0x5557e1
push 0x61d5ac
push edi
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5559d4
mov dword [esi + 0x2e4], 3
jmp 0x5557e1
push 0x61d5a0
push edi
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5559f4
mov dword [esi + 0x2e4], 4
jmp 0x5557e1
push 0x61d594
push edi
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555a14
mov dword [esi + 0x2e4], 5
jmp 0x5557e1
push 0x61d588
push edi
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x5557e1
mov dword [esi + 0x2e4], 6
jmp 0x5557e1
mov edx, 0x61d580
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555a69
add eax, 5
push 0x20
push eax
lea eax, [esi + 0x210]
push eax
call fcn.005a3a10
add esp, 0xc
and byte [esi + 0x22f], 0
jmp 0x5557e4
mov edx, 0x61d574
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555a9a
add eax, 0xb
push 0x40
push eax
lea eax, [esi + 0x1d0]
push eax
call fcn.005a3a10
add esp, 0xc
and byte [esi + 0x20f], 0
jmp 0x5557e4
push 0x61d564
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555ab7
mov byte [esi + 0x2c8], 1
jmp 0x5557e4
mov edx, 0x61d558
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555adc
add eax, 0xb
push eax
call fcn.005a51b7
pop ecx
mov byte [esi + 0x1b7], al
jmp 0x5557e4
mov edx, 0x61d54c
mov ecx, ebx
call fcn.005529d8
test eax, eax
jne 0x555356
push 0x61d540
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555b13
push 8
call fcn.005a51b7
pop ecx
mov dword [0x61cd0c], eax
jmp 0x5557e4
mov edx, 0x61d534
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555b63
add eax, 9
push 6
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.005a3a10
and byte [ebp - 0x13], 0
and byte [ebp - 0x17], 0
lea eax, [ebp - 0x18]
push eax
call fcn.005a51b7
add esp, 0x10
test eax, eax
lea ecx, [esi + 0x230]
mov dword [ecx], eax
jl 0x555b5b
cmp eax, 6
jl 0x5557e4
and dword [ecx], 0
jmp 0x5557e4
push 0x61d528
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555b7f
mov dword [esi + 0x3a4], edi
jmp 0x5557e4
push 0x61d520
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555b9b
mov dword [esi + 0x3a8], edi
jmp 0x5557e4
push 0x61d51c
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555bb7
mov dword [esi + 0x35c], edi
jmp 0x5557e4
push 0x61d514
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555bd4
and dword [esi + 0x35c], 0
jmp 0x5557e4
push 0x61d50c
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
je 0x555bc8
mov edx, 0x61d500
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555c01
mov byte [esi + 0x358], 1
jmp 0x5557e4
push 0x61d4f0
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555c1d
mov dword [esi + 0x2d8], edi
jmp 0x5557e4
push 0x61d4e0
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555c39
mov dword [esi + 0x2dc], edi
jmp 0x5557e4
mov edx, 0x61d4d8
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555c74
add eax, 7
push eax
call fcn.005a51b7
cmp eax, edi
pop ecx
mov dword [esi + 0x2cc], eax
jge 0x555c61
mov eax, edi
jmp 0x555c69
cmp eax, 0x10
jle 0x555c69
push 0x10
pop eax
mov dword [esi + 0x2cc], eax
jmp 0x5557e4
mov edx, 0x61d4cc
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555caf
add eax, 8
push eax
call fcn.005a51b7
cmp eax, edi
pop ecx
mov dword [esi + 0x2f4], eax
jge 0x555c9c
mov eax, edi
jmp 0x555ca4
cmp eax, 4
jle 0x555ca4
push 4
pop eax
mov dword [esi + 0x2f4], eax
jmp 0x5557e4
mov edx, 0x61d4c4
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555ceb
add eax, 5
push eax
call fcn.005a51b7
dec eax
test eax, eax
pop ecx
mov dword [esi + 0x2f0], eax
jge 0x555cd8
xor eax, eax
jmp 0x555ce0
cmp eax, 4
jle 0x555ce0
push 4
pop eax
mov dword [esi + 0x2f0], eax
jmp 0x5557e4
push 0x61d4b8
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555d08
mov byte [esi + 0x3b8], 1
jmp 0x5557e4
push 0x61d4ac
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555d25
mov byte [esi + 0x3b9], 1
jmp 0x5557e4
mov edx, 0x61d49c
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555d4a
add eax, 0xd
push eax
call fcn.005a5855
fstp dword [esi + 0x3c4]
pop ecx
jmp 0x5557e4
mov edx, 0x61d48c
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555d6f
add eax, 0xd
push eax
call fcn.005a51b7
pop ecx
mov dword [esi + 0x3c8], eax
jmp 0x5557e4
push 0x61d47c
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555d8b
mov dword [esi + 0x3ac], edi
jmp 0x5557e4
push 0x61d46c
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555da7
and dword [esi + 0x3ac], eax
jmp 0x5557e4
push 0x61d464
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
jne 0x555dc4
mov byte [esi + 0x1bb], 1
jmp 0x5557e4
push 0x61d458
push ebx
call fcn.005a5310
test eax, eax
pop ecx
pop ecx
je 0x555e12
mov edx, 0x61d44c
mov ecx, ebx
call fcn.005529d8
test eax, eax
je 0x555e05
add eax, 0xa
push eax
call fcn.005a51b7
pop ecx
push eax
mov ecx, 0x648540
mov dword [esi + 0x1ac], eax
call fcn.0054085e
jmp 0x5557e4
push ebx
mov ecx, esi
call fcn.00554ea7
jmp 0x5557e4
lea eax, [ebp - 0xcc]
push eax
mov dword [ebp - 0xcc], 0x94
call dword [sym.imp.kernel32.dll_GetVersionExA]
push 2
pop ebx
cmp dword [ebp - 0xbc], ebx
jne 0x555e76
lea eax, [ebp + 8]
push eax
push 0x28
call dword [sym.imp.kernel32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.advapi32.dll_OpenProcessToken]
test eax, eax
je 0x555e76
lea eax, [ebp - 0x24]
push eax
push 0x61d438
xor esi, esi
push esi
call dword [sym.imp.advapi32.dll_LookupPrivilegeValueA]
push esi
push esi
push esi
lea eax, [ebp - 0x28]
push eax
push esi
push dword [ebp + 8]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.advapi32.dll_AdjustTokenPrivileges]
jmp 0x555e78
xor esi, esi
push esi
push 8
call dword [sym.imp.user32.dll_ExitWindowsEx]
push 0xffffffffffffffff
call fcn.005a646e
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x555e96
push ebx
call fcn.005bcaa7
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 4