Function at 0x1000573d
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x1007e274]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x2c]
push eax
push 0x28
push 0xffffffffffffffff
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x10005623
xor al, al
jmp 0x100057f3
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
xor eax, eax
test eax, eax
je 0x10005632
jne 0x10005631
call 0x930446b9
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
jns 0x100056b5
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10005640
jmp 0x10005642
je 0x1000563d
sti
clc
jae 0x10005647
retf
je 0x1000564c
jne 0x1000564c
jns 0x100056b3
pushf
pushfd
push 0xa
jae 0x10005659
jmp 0x10005654
call 0x1000565b
jae 0x10005654
add esp, 4
jmp 0x10005660
dec dword [esp]
jno 0x10005665
jns 0x10005650
jp 0x10005669
add esp, 4
popf
jmp 0x10005670
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10005689
jne 0x10005689
call 0x1fc089dd
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
mov dword [ebp - 0x14], 1
mov edx, 0xc
imul eax, edx, 0
mov dword [ebp + eax - 8], 2
mov ecx, 0xc
imul edx, ecx, 0
lea eax, [ebp + edx - 0x10]
push eax
add byte [eax], al
add byte [ebx - 0x2f], ch
add byte [ebp + 0x50f01544], cl
push 0x10066440
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
test eax, eax
jne 0x100056d5
mov byte [ebp - 0x25], 0
jmp 0x100056f9
push 0
push 0
push 0
lea ecx, [ebp - 0x14]
push ecx
push 0
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
jne 0x100056f5
mov byte [ebp - 0x25], 0
jmp 0x100056f9
mov byte [ebp - 0x25], 1
movzx eax, byte [ebp - 0x25]
test eax, eax
je 0x100057e3
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], ecx
xor eax, eax
test eax, eax
je 0x10005714
jne 0x10005713
call 0x9304479b
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
jns 0x10005797
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10005722
jmp 0x10005724
je 0x1000571f
sti
clc
jae 0x10005729
retf
je 0x1000572e
jne 0x1000572e
jns 0x10005795
pushf
pushfd
push 0xa
jae 0x1000573b
jmp 0x10005736
call 0x1000573d
jae 0x10005736
add esp, 4
jmp 0x10005742
dec dword [esp]
jno 0x10005747
jns 0x10005732
jp 0x1000574b
add esp, 4
popf
jmp 0x10005752
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1000576b
jne 0x1000576b
call 0x1fc08abf
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
mov dword [ebp - 0x24], 1
mov edx, 0xc
imul eax, edx, 0
mov dword [ebp + eax - 0x18], 2
mov ecx, 0xc
imul edx, ecx, 0
lea eax, [ebp + edx - 0x20]
push eax
add byte [eax], al
add byte [ebx - 0x2f], ch
add byte [ebp + 0x50e01544], cl
push 0x10066454
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
test eax, eax
jne 0x100057b7
mov byte [ebp - 0x26], 0
jmp 0x100057db
push 0
push 0
push 0
lea ecx, [ebp - 0x24]
push ecx
push 0
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
jne 0x100057d7
mov byte [ebp - 0x26], 0
jmp 0x100057db
mov byte [ebp - 0x26], 1
movzx eax, byte [ebp - 0x26]
test eax, eax
jne 0x100057e7
xor al, al
jmp 0x100057f3
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100410a2
mov esp, ebp
pop ebp
ret