Function at 0x1006f2a0
Capabilities:
Acquire debug privileges
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
push 9
mov dword [ebp - 4], 0
call fcn.10028f3b
mov esi, eax
add esp, 4
push esi
mov word [esi + 7], 0x32
mov dword [esi], 0x6e72656b
mov word [esi + 4], 0x6c65
mov byte [esi + 6], 0x33
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, eax
push esi
mov dword [ebp - 8], ebx
call fcn.10028875
add esp, 4
test ebx, ebx
je 0x1006f54a
push 0x12
call fcn.10028f3b
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
add esp, 4
mov word [esi + 0x10], 0x73
push esi
push ebx
mov dword [esi + 0xb], 0x65636f72
mov word [esi + 6], 0x6572
mov dword [esi], 0x43746547
mov word [esi + 9], 0x5074
mov word [esi + 4], 0x7275
mov byte [esi + 8], 0x6e
mov byte [esi + 0xf], 0x73
call edi
push esi
mov dword [0x1009741c], eax
call fcn.10028875
add esp, 4
cmp dword [0x1009741c], 0
je 0x1006f54a
push 0xd
call fcn.10028f3b
mov esi, eax
add esp, 4
push esi
mov dword [esi], 0x61766441
mov dword [esi + 8], 0x6c6c642e
mov byte [esi + 0xc], 0
mov word [esi + 5], 0x3369
mov byte [esi + 4], 0x70
mov byte [esi + 7], 0x32
call dword [0x10097000]
push esi
mov ebx, eax
call fcn.10028875
add esp, 4
test ebx, ebx
je 0x1006f54a
push 0x11
call fcn.10028f3b
mov esi, eax
add esp, 4
push esi
push ebx
mov dword [esi + 3], 0x6f72506e
mov dword [esi + 0xa], 0x6b6f5473
mov word [esi + 1], 0x6570
mov word [esi + 0xe], 0x6e65
mov word [esi + 8], 0x7365
mov byte [esi + 7], 0x63
mov byte [esi], 0x4f
mov byte [esi + 0x10], 0
call edi
push esi
mov dword [0x10097008], eax
call fcn.10028875
add esp, 4
cmp dword [0x10097008], 0
je 0x1006f54a
lea eax, [ebp - 4]
push eax
push 0x20
call dword [0x1009741c]
push eax
call dword [0x10097008]
test eax, eax
je 0x1006f4f5
push 0x16
call fcn.10028f3b
mov esi, eax
add esp, 4
push esi
push ebx
mov dword [esi], 0x6b6f6f4c
mov dword [esi + 5], 0x69725070
mov dword [esi + 9], 0x656c6976
mov word [esi + 0x14], 0x41
mov dword [esi + 0xf], 0x756c6156
mov word [esi + 0xd], 0x6567
mov byte [esi + 4], 0x75
mov byte [esi + 0x13], 0x65
call edi
push esi
mov dword [0x10097830], eax
call fcn.10028875
mov eax, dword [0x10097830]
add esp, 4
test eax, eax
je 0x1006f4f5
lea ecx, [ebp - 0x10]
push ecx
push str.SeDebugPrivilege
push 0
call eax
test eax, eax
je 0x1006f4f5
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
push 0x16
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 2
call fcn.10028f3b
mov esi, eax
add esp, 4
push esi
push ebx
mov dword [esi + 1], 0x73756a64
mov word [esi + 0xf], 0x6c69
mov dword [esi + 0x12], 0x736567
mov dword [esi + 6], 0x656b6f54
mov dword [esi + 0xa], 0x6972506e
mov byte [esi], 0x41
mov byte [esi + 0x11], 0x65
mov byte [esi + 0xe], 0x76
mov byte [esi + 5], 0x74
call edi
push esi
mov dword [0x10097010], eax
call fcn.10028875
mov eax, dword [0x10097010]
add esp, 4
test eax, eax
je 0x1006f4f5
push 0
push 0
push 0x10
lea ecx, [ebp - 0x20]
push ecx
push 0
push dword [ebp - 4]
call eax
push 0xc
call fcn.10028f3b
mov esi, eax
add esp, 4
push esi
push dword [ebp - 8]
mov word [esi + 1], 0x6f6c
mov word [esi + 7], 0x646e
mov word [esi + 4], 0x4865
mov word [esi + 9], 0x656c
mov byte [esi + 0xb], 0
mov byte [esi + 3], 0x73
mov byte [esi], 0x43
mov byte [esi + 6], 0x61
call edi
push esi
mov dword [0x1009782c], eax
call fcn.10028875
mov eax, dword [0x1009782c]
add esp, 4
test eax, eax
je 0x1006f54a
push dword [ebp - 4]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret