Function at 0x1002ef20
Capabilities:
Delete registry key
Delete registry value
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10071aa0
push eax
mov eax, 0x2230
mov dword fs:[0], esp
call fcn.1006e670
push ebx
xor eax, eax
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 4], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x30], eax
call fcn.1002e9c0
mov ecx, dword [esi]
mov al, byte [ecx]
test al, al
je 0x1002f999
cmp al, 0x27
jne 0x1002eff4
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov cl, byte [eax]
test cl, cl
je 0x1002efd9
mov ecx, esi
call fcn.1002e910
test eax, eax
jne 0x1002efd9
mov eax, dword [esi]
cmp byte [eax], 0x27
jne 0x1002efa1
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov ecx, dword [ebp + 8]
lea edx, [edi + 2]
add ecx, 0x1000
mov dword [esi], eax
cmp edx, ecx
jae 0x1002f999
cmp ebx, eax
jae 0x1002efd2
mov eax, ebx
mov cl, byte [eax]
inc eax
mov byte [edi], cl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002efc6
mov edx, dword [esi]
cmp byte [edx], 0
jne 0x1002ef86
mov eax, dword [esi]
cmp byte [eax], 0
je 0x1002f999
mov byte [edi], 0
mov ecx, dword [esi]
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
jmp 0x1002f028
push eax
mov ecx, esi
call fcn.1002e970
test eax, eax
jne 0x1002f025
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
cmp ebx, eax
mov dword [esi], eax
jae 0x1002f01d
mov eax, ebx
mov dl, byte [eax]
inc eax
mov byte [edi], dl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002f011
mov eax, dword [esi]
mov al, byte [eax]
test al, al
jne 0x1002eff4
mov byte [edi], 0
mov ecx, dword [ebp + 8]
xor edi, edi
cmp byte [ecx], 0x7d
je 0x1002f951
mov edx, dword [str.Delete]
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push edx
push eax
call ebx
mov ecx, dword [str.ForceRemove]
mov edx, dword [ebp + 8]
mov edi, eax
push ecx
neg edi
sbb edi, edi
push edx
inc edi
mov dword [ebp - 0x2c], edi
call ebx
test eax, eax
je 0x1002f06c
test edi, edi
je 0x1002f3cc
mov edi, dword [ebp + 8]
mov ecx, esi
call fcn.1002e9c0
mov ecx, dword [esi]
mov al, byte [ecx]
test al, al
je 0x1002f986
cmp al, 0x27
jne 0x1002f103
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov cl, byte [eax]
test cl, cl
je 0x1002f0e8
mov ecx, esi
call fcn.1002e910
test eax, eax
jne 0x1002f0e8
mov eax, dword [esi]
cmp byte [eax], 0x27
jne 0x1002f0b0
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov edx, dword [ebp + 8]
lea ecx, [edi + 2]
add edx, 0x1000
mov dword [esi], eax
cmp ecx, edx
jae 0x1002f986
cmp ebx, eax
jae 0x1002f0e1
mov eax, ebx
mov cl, byte [eax]
inc eax
mov byte [edi], cl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002f0d5
mov edx, dword [esi]
cmp byte [edx], 0
jne 0x1002f095
mov eax, dword [esi]
cmp byte [eax], 0
je 0x1002f986
mov byte [edi], 0
mov ecx, dword [esi]
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
jmp 0x1002f137
push eax
mov ecx, esi
call fcn.1002e970
test eax, eax
jne 0x1002f134
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
cmp ebx, eax
mov dword [esi], eax
jae 0x1002f12c
mov eax, ebx
mov dl, byte [eax]
inc eax
mov byte [edi], dl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002f120
mov eax, dword [esi]
mov al, byte [eax]
test al, al
jne 0x1002f103
mov byte [edi], 0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1002f3cc
mov dword [ebp - 0x14], 0
mov ebx, dword [ebp + 8]
mov byte [ebp - 4], 1
mov eax, ebx
mov cl, byte [ebx]
test cl, cl
je 0x1002f176
mov edi, dword [sym.imp.USER32.dll_CharNextA]
cmp cl, 0x5c
je 0x1002f16e
push eax
call edi
mov cl, byte [eax]
test cl, cl
jne 0x1002f15e
jmp 0x1002f176
test eax, eax
jne 0x1002f98d
mov edi, 0x1008593c
mov ecx, dword [edi]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1002f245
add edi, 4
cmp edi, str.TYPELIB
jl 0x1002f17b
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], eax
push 0x2001f
push ebx
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.1002fa20
test eax, eax
jne 0x1002f232
lea edx, [ebp - 0x38]
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
push edx
mov edx, dword [ebp - 0x18]
push eax
push eax
push eax
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x23c]
push eax
push ecx
push 0
push edx
mov dword [ebp - 0x20], 0x100
call edi
test eax, eax
jne 0x1002f21f
lea eax, [ebp - 0x23c]
lea ecx, [ebp - 0x18]
push eax
call fcn.1002fa70
test eax, eax
jne 0x1002f232
lea ecx, [ebp - 0x38]
lea edx, [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x18]
push eax
push eax
push eax
lea eax, [ebp - 0x23c]
push edx
push eax
push 0
push ecx
mov dword [ebp - 0x20], 0x100
call edi
test eax, eax
je 0x1002f1e7
lea ecx, [ebp - 0x18]
call fcn.1001f4d0
mov edx, dword [ebp - 0x14]
push ebx
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.1001f4d0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x1002f3c0
mov ecx, esi
mov edi, ebx
call fcn.1002e9c0
mov ecx, dword [esi]
mov al, byte [ecx]
test al, al
je 0x1002f97f
cmp al, 0x27
jne 0x1002f2e6
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov cl, byte [eax]
test cl, cl
je 0x1002f2cb
mov ecx, esi
call fcn.1002e910
test eax, eax
jne 0x1002f2cb
mov eax, dword [esi]
cmp byte [eax], 0x27
jne 0x1002f293
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov edx, dword [ebp + 8]
lea ecx, [edi + 2]
add edx, 0x1000
mov dword [esi], eax
cmp ecx, edx
jae 0x1002f97f
cmp ebx, eax
jae 0x1002f2c4
mov eax, ebx
mov cl, byte [eax]
inc eax
mov byte [edi], cl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002f2b8
mov edx, dword [esi]
cmp byte [edx], 0
jne 0x1002f278
mov eax, dword [esi]
cmp byte [eax], 0
je 0x1002f97f
mov byte [edi], 0
mov ecx, dword [esi]
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
jmp 0x1002f31a
push eax
mov ecx, esi
call fcn.1002e970
test eax, eax
jne 0x1002f317
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
cmp ebx, eax
mov dword [esi], eax
jae 0x1002f30f
mov eax, ebx
mov dl, byte [eax]
inc eax
mov byte [edi], dl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002f303
mov eax, dword [esi]
mov al, byte [eax]
test al, al
jne 0x1002f2e6
mov byte [edi], 0
mov ebx, dword [ebp + 8]
cmp byte [ebx], 0x3d
jne 0x1002f35f
push ebx
mov ecx, esi
call fcn.1002ea10
test eax, eax
jl 0x1002f943
mov ecx, esi
call fcn.1002e9c0
lea ecx, [ebp - 0x123c]
push ecx
mov ecx, esi
call fcn.1002ea10
test eax, eax
jl 0x1002f943
push ebx
mov ecx, esi
call fcn.1002ea10
test eax, eax
jl 0x1002f943
xor edi, edi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.1001f4d0
mov ebx, dword [ebp + 8]
cmp byte [ebx], 0x7b
jne 0x1002f3af
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 1
jne 0x1002f3af
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x10]
push 0
push edx
push eax
push ebx
mov ecx, esi
call fcn.1002ef20
mov edi, eax
test edi, edi
jl 0x1002f951
push ebx
mov ecx, esi
call fcn.1002ea10
mov edi, eax
test edi, edi
jl 0x1002f951
mov ecx, dword [ebp + 8]
cmp byte [ecx], 0x7d
je 0x1002f951
jmp 0x1002f036
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.1001f4d0
mov edx, dword [str.NoRemove]
mov eax, dword [ebp + 8]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1002f4b3
mov edi, dword [ebp + 8]
mov ecx, esi
mov dword [ebp - 0x28], eax
call fcn.1002e9c0
mov ecx, dword [esi]
mov al, byte [ecx]
test al, al
je 0x1002f986
cmp al, 0x27
jne 0x1002f47f
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov cl, byte [eax]
test cl, cl
je 0x1002f464
mov ecx, esi
call fcn.1002e910
test eax, eax
jne 0x1002f464
mov eax, dword [esi]
cmp byte [eax], 0x27
jne 0x1002f42c
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov edx, dword [ebp + 8]
lea ecx, [edi + 2]
add edx, 0x1000
mov dword [esi], eax
cmp ecx, edx
jae 0x1002f986
cmp ebx, eax
jae 0x1002f45d
mov eax, ebx
mov cl, byte [eax]
inc eax
mov byte [edi], cl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002f451
mov edx, dword [esi]
cmp byte [edx], 0
jne 0x1002f411
mov eax, dword [esi]
cmp byte [eax], 0
je 0x1002f986
mov byte [edi], 0
mov ecx, dword [esi]
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
jmp 0x1002f4b3
push eax
mov ecx, esi
call fcn.1002e970
test eax, eax
jne 0x1002f4b0
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
cmp ebx, eax
mov dword [esi], eax
jae 0x1002f4a8
mov eax, ebx
mov dl, byte [eax]
inc eax
mov byte [edi], dl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002f49c
mov eax, dword [esi]
mov al, byte [eax]
test al, al
jne 0x1002f47f
mov byte [edi], 0
mov ecx, dword [0x10075d2c]
mov ebx, dword [ebp + 8]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1002f715
mov ecx, esi
lea edi, [ebp - 0x13c]
call fcn.1002e9c0
mov ecx, dword [esi]
mov al, byte [ecx]
test al, al
je 0x1002f986
cmp al, 0x27
jne 0x1002f561
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov cl, byte [eax]
test cl, cl
je 0x1002f548
mov ecx, esi
call fcn.1002e910
test eax, eax
jne 0x1002f548
mov eax, dword [esi]
cmp byte [eax], 0x27
jne 0x1002f513
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
lea edx, [edi + 2]
lea ecx, [ebp + 0xec4]
cmp edx, ecx
mov dword [esi], eax
jae 0x1002f986
cmp ebx, eax
jae 0x1002f53f
mov ecx, ebx
mov dl, byte [ecx]
inc ecx
mov byte [edi], dl
inc edi
cmp ecx, eax
jb 0x1002f535
mov cl, byte [eax]
mov ebx, dword [ebp + 8]
test cl, cl
jne 0x1002f4f8
mov eax, dword [esi]
cmp byte [eax], 0
je 0x1002f986
push eax
mov byte [edi], 0
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
jmp 0x1002f594
push eax
mov ecx, esi
call fcn.1002e970
test eax, eax
jne 0x1002f591
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
cmp ebx, eax
mov dword [esi], eax
jae 0x1002f588
mov ecx, ebx
mov dl, byte [ecx]
inc ecx
mov byte [edi], dl
inc edi
cmp ecx, eax
jb 0x1002f57e
mov al, byte [eax]
mov ebx, dword [ebp + 8]
test al, al
jne 0x1002f561
mov byte [edi], 0
mov ecx, esi
mov edi, ebx
call fcn.1002e9c0
mov ecx, dword [esi]
mov al, byte [ecx]
test al, al
je 0x1002f986
cmp al, 0x27
jne 0x1002f62a
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov cl, byte [eax]
test cl, cl
je 0x1002f60f
mov ecx, esi
call fcn.1002e910
test eax, eax
jne 0x1002f60f
mov eax, dword [esi]
cmp byte [eax], 0x27
jne 0x1002f5d7
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov edx, dword [ebp + 8]
lea ecx, [edi + 2]
add edx, 0x1000
mov dword [esi], eax
cmp ecx, edx
jae 0x1002f986
cmp ebx, eax
jae 0x1002f608
mov eax, ebx
mov cl, byte [eax]
inc eax
mov byte [edi], cl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002f5fc
mov edx, dword [esi]
cmp byte [edx], 0
jne 0x1002f5bc
mov eax, dword [esi]
cmp byte [eax], 0
je 0x1002f986
mov byte [edi], 0
mov ecx, dword [esi]
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [esi], eax
jmp 0x1002f65e
push eax
mov ecx, esi
call fcn.1002e970
test eax, eax
jne 0x1002f65b
mov ebx, dword [esi]
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
cmp ebx, eax
mov dword [esi], eax
jae 0x1002f653
mov eax, ebx
mov dl, byte [eax]
inc eax
mov byte [edi], dl
mov ecx, dword [esi]
inc edi
cmp eax, ecx
jb 0x1002f647
mov eax, dword [esi]
mov al, byte [eax]
test al, al
jne 0x1002f62a
mov byte [edi], 0
mov edi, dword [ebp + 8]
cmp byte [edi], 0x3d
jne 0x1002f999
mov eax, dword [ebp + 0x10]
xor ebx, ebx
cmp eax, ebx
je 0x1002f6a8
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x13c]
push edi
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ecx
push edx
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.1002fbd0
mov edi, eax
mov dword [ebp - 0x14], ebx
cmp edi, ebx
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x14]
jl 0x1002f94c
jmp 0x1002f368
cmp dword [ebp + 0x14], ebx
jne 0x1002f6cc
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x13c]
push ecx
push eax
mov dword [ebp - 0x14], eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
call fcn.1001f4d0
cmp byte [edi], 0x3d
jne 0x1002f70e
push edi
mov ecx, esi
call fcn.1002ea10
cmp eax, ebx
jl 0x1002f97b
mov ecx, esi
call fcn.1002e9c0
lea edx, [ebp - 0x223c]
mov ecx, esi
push edx
call fcn.1002ea10
cmp eax, ebx
jl 0x1002f97b
push edi
mov ecx, esi
call fcn.1002ea10
cmp eax, ebx
jl 0x1002f97b
xor edi, edi
jmp 0x1002f3af
mov cl, byte [ebx]
mov eax, ebx
test cl, cl
je 0x1002f73b
mov edi, dword [sym.imp.USER32.dll_CharNextA]
cmp cl, 0x5c
je 0x1002f733
push eax
call edi
mov cl, byte [eax]
test cl, cl
jne 0x1002f723
jmp 0x1002f73b
test eax, eax
jne 0x1002f999
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1002f7c9
mov edi, dword [ebp + 0xc]
push 0xf003f
push ebx
push edi
lea ecx, [ebp - 0x10]
call fcn.1002fa20
test eax, eax
je 0x1002f78e
push 0x20019
push ebx
push edi
lea ecx, [ebp - 0x10]
call fcn.1002fa20
test eax, eax
je 0x1002f78e
push 0
push 0
push 0xf003f
push 0
push 0
push ebx
push edi
lea ecx, [ebp - 0x10]
call fcn.1002f9b0
test eax, eax
jne 0x1002f999
push ebx
mov ecx, esi
call fcn.1002ea10
mov edi, eax
test edi, edi
jl 0x1002f951
cmp byte [ebx], 0x3d
jne 0x1002f36d
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x10]
push eax
push 0
push ecx
mov ecx, esi
call fcn.1002fbd0
mov edi, eax
test edi, edi
jl 0x1002f951
jmp 0x1002f36d
mov edi, dword [ebp + 0x14]
test edi, edi
jne 0x1002f7ee
mov edx, dword [ebp + 0xc]
push 0x20019
push ebx
push edx
lea ecx, [ebp - 0x10]
call fcn.1002fa20
test eax, eax
je 0x1002f7ee
mov edi, 1
mov dword [ebp + 0x14], edi
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1002f804
mov eax, 0x104
call fcn.1006e670
mov eax, esp
mov dword [ebp - 0x1c], eax
push 0x104
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
test edi, edi
jne 0x1002f837
mov eax, dword [ebp - 0x10]
mov ecx, esi
push eax
call fcn.1002ffe0
test eax, eax
jne 0x1002f837
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, esi
call fcn.10030030
test eax, eax
je 0x1002f8eb
push ebx
mov ecx, esi
call fcn.1002ea10
mov edi, eax
test edi, edi
jl 0x1002f951
push ebx
mov ecx, esi
call fcn.100300e0
mov edi, eax
test edi, edi
jl 0x1002f951
cmp byte [ebx], 0x7b
jne 0x1002f88e
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x10]
push edx
push 0
push eax
push ebx
mov ecx, esi
call fcn.1002ef20
mov edi, eax
test edi, edi
jl 0x1002f951
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x1002f89c
mov ecx, dword [ebp - 0x30]
mov dword [ebp + 0x14], ecx
jmp 0x1002f922
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x1002f3af
mov ebx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov ecx, esi
push edx
call fcn.1002ffe0
test eax, eax
je 0x1002f8eb
mov edi, 0x1008593c
mov eax, dword [edi]
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1002f8d8
add edi, 4
cmp edi, str.TYPELIB
jl 0x1002f8b0
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push edx
call fcn.1002fa70
push ebx
mov ecx, esi
call fcn.1002ea10
mov edi, eax
test edi, edi
jl 0x1002f951
jmp 0x1002f3af
lea ecx, [ebp - 0x10]
call fcn.1001f4d0
test eax, eax
jne 0x1002f999
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x1002f922
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0xc]
push ecx
push eax
mov dword [ebp - 0x24], eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
call fcn.1001f4d0
push ebx
mov ecx, esi
call fcn.1002ea10
mov edi, eax
test edi, edi
jl 0x1002f951
push ebx
mov ecx, esi
call fcn.100300e0
mov edi, eax
test edi, edi
jl 0x1002f951
jmp 0x1002f3af
mov edi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.1001f4d0
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f4d0
mov eax, edi
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x2248]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, eax
jmp 0x1002f951
mov edi, 0x80020009
jmp 0x1002f945
mov edi, 0x80020009
jmp 0x1002f951
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.1001f4d0
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f4d0
mov eax, 0x80020009
jmp 0x1002f962