Function at 0x1008e2cf
Capabilities:
Delete registry key

Disassembly:
push 0x290
mov eax, 0x100e5068
call fcn.10001af6
mov edi, ecx
mov dword [ebp - 0x288], edi
mov ebx, dword [ebp + 8]
xor esi, esi
cmp byte [ebp + 0xc], 0
mov dword [ebp - 0x284], ebx
je 0x1008e474
push 0x100ef890
lea eax, [edi + 4]
push eax
lea eax, [ebp - 0x28c]
push eax
call sym.fpsrvutl.dll_Ordinal_1591
push ebx
push eax
lea eax, [ebp - 0x280]
mov dword [ebp - 4], esi
push eax
call sym.fpsrvutl.dll_Ordinal_1591
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x70]
push dword [eax]
call sym.fpsrvutl.dll_Ordinal_1516
mov ecx, dword [ebp - 0x280]
lea ecx, [ecx - 0xc]
call sym.fpsrvutl.dll_Ordinal_5727
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x28c]
lea ecx, [ecx - 0xc]
call sym.fpsrvutl.dll_Ordinal_5727
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x70]
push 0xf003f
push 0x80000002
call dword [eax + 4]
test eax, eax
jne 0x1008e372
lea ecx, [ebp - 0x70]
call sym.fpsrvutl.dll_Ordinal_6026
test eax, eax
je 0x1008e381
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
jmp 0x1008e468
mov dword [ebp - 0x280], 0x1017c79c
lock inc dword [0x1017c790]
push 4
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 5
call sym.fpsrvutl.dll_Ordinal_3375
mov ebx, esi
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x294], ebx
lea eax, [ebp - 0x280]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x70]
call sym.fpsrvutl.dll_Ordinal_5881
test al, al
je 0x1008e3f3
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x29c]
call sym.fpsrvutl.dll_Ordinal_1591
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x70]
call sym.fpsrvutl.dll_Ordinal_5881
test al, al
jne 0x1008e3c8
mov ebx, dword [ebp - 0x294]
mov edi, esi
test ebx, ebx
je 0x1008e42d
mov esi, dword [ebp - 0x298]
push edi
lea ecx, [ebp - 0x29c]
call sym.fpsrvutl.dll_Ordinal_53
push 1
push dword [esi + edi*4]
lea ecx, [ebp - 0x70]
call sym.fpsrvutl.dll_Ordinal_1683
test eax, eax
je 0x1008e426
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
inc edi
cmp edi, ebx
jb 0x1008e3ff
xor esi, esi
lea ecx, [ebp - 0x70]
call sym.fpsrvutl.dll_Ordinal_2402
test eax, eax
je 0x1008e443
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
lea ecx, [ebp - 0x29c]
call sym.fpsrvutl.dll_Ordinal_1853
mov ecx, dword [ebp - 0x280]
lea ecx, [ecx - 0xc]
call sym.fpsrvutl.dll_Ordinal_5727
mov ebx, dword [ebp - 0x284]
mov edi, dword [ebp - 0x288]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call sym.fpsrvutl.dll_Ordinal_1591
test ebx, ebx
lea ecx, [ebp - 0x280]
mov eax, 0x100ea6e8
cmovne eax, ebx
push eax
call sym.fpsrvutl.dll_Ordinal_1591
lea ecx, [ebp - 0x27c]
mov dword [ebp - 4], 7
call fcn.10005575
lea eax, [ebp - 0x280]
push eax
call sym.fpsrvutl.dll_Ordinal_1591
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x280]
lea ecx, [ecx - 0xc]
call sym.fpsrvutl.dll_Ordinal_5727
mov edi, dword [edi + 0xc]
mov ecx, 0x10178fec
call sym.fpsrvutl.dll_Ordinal_2694
push dword [ebp - 0x7c]
push edi
cmp eax, 2
jne 0x1008e4d8
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
jmp 0x1008e4de
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov edi, eax
test edi, edi
je 0x1008e534
cmp dword [0x1017ca10], 0
mov eax, dword [ebp - 0x288]
push 0x14
mov eax, dword [eax + 4]
mov dword [ebp - 0x284], eax
je 0x1008e506
pop ecx
call sym.fpsrvutl.dll_Ordinal_1591
jmp 0x1008e50d
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
pop ecx
mov dword [ebp - 0x28c], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1008e534
push dword [ebp - 0x284]
push ebx
push edi
push esi
push 0x30023
push eax
call sym.fpsrvutl.dll_Ordinal_5274
add esp, 0x18
mov esi, eax
lea ecx, [ebp - 0x27c]
call fcn.100057a4
mov eax, esi
call fcn.10001b2d
ret 8