Function at 0x418d56
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
push edi
push 9
xor ebx, ebx
lea edi, [ebp - 0x44]
pop ecx
push ebx
push dword [ebp + 0x10]
xor eax, eax
mov dword [ebp - 0x1c], ebx
push dword [ebp + 0xc]
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
push 0x80
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], ebx
push dword [edi + 0x58]
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ebx
call fcn.00463ecc
lea esi, [eax + 0x7ff8fffd]
neg esi
sbb esi, esi
and esi, eax
jge 0x418dcc
push dword [edi + 0x58]
push str.Failed_to_write_state_to_file:__ls
push esi
push 0x100
push 5
push 0x3b5
push str.d:_awixwix_src_burnengine_registration.cpp
call fcn.00401228
add esp, 0x1c
jmp 0x419020
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 0x10]
lea eax, [ebp - 0x44]
push dword [ebp + 0xc]
push 1
push eax
call fcn.0040a2eb
mov esi, eax
test esi, esi
jns 0x418e08
push str.Failed_to_read_variables.
push esi
push 0x100
push 5
push 0x3ba
jmp 0x419013
push str.variables
push dword [edi + 0x4c]
lea eax, [ebp - 0x10]
push str._s_s
push eax
call fcn.00402acf
mov esi, eax
add esp, 0x10
test esi, esi
jns 0x418e3e
push str.Failed_to_build_variable_registry_key_path.
push esi
push 0x100
push 5
push 0x3be
jmp 0x419013
lea eax, [ebp - 4]
push eax
push 0x20007
push dword [ebp - 0x10]
push dword [edi + 0x48]
call fcn.0045c4fb
mov esi, eax
test esi, esi
jns 0x418e6f
push str.Failed_to_create_registration_variable_key.
push esi
push 0x100
push 5
push 0x3c2
jmp 0x419013
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x14]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov esi, eax
test esi, esi
jns 0x418ea3
push str.Failed_to_query_registration_variable_count.
push esi
push 0x100
push 5
push 0x3c5
jmp 0x419013
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
push eax
push edi
push dword [ebp - 4]
call fcn.0045d579
mov esi, eax
cmp esi, 0x80070103
je 0x418f31
test esi, esi
js 0x418f19
push dword [ebp - 0xc]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov esi, eax
cmp esi, 2
je 0x418edc
test esi, esi
jne 0x418edf
dec edi
jmp 0x418ea6
jle 0x418eea
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x418ef3
mov esi, 0x80004005
push esi
mov ebx, 0x3d6
mov edi, str.d:_awixwix_src_burnengine_registration.cpp
push ebx
push edi
call fcn.00401225
push str.Failed_to_delete_registration_variable_value.
push esi
push 0x100
push 5
push ebx
push edi
jmp 0x419018
push edi
push str.Failed_to_enumerate_value__u
push esi
push 0x100
push 5
push 0x3d1
jmp 0x418dba
mov esi, ebx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x28], ebx
jbe 0x419020
mov edi, ebx
mov ebx, dword [ebp - 0x24]
mov eax, dword [edi + ebx + 0x10]
sub eax, 0
je 0x418f9e
sub eax, 1
je 0x418f61
sub eax, 1
je 0x418f61
sub eax, 1
je 0x418f61
sub eax, 1
jne 0x418fc0
lea eax, [ebp - 8]
push eax
lea eax, [ebx + 8]
add eax, edi
push eax
call fcn.0042da4e
mov esi, eax
test esi, esi
js 0x418fed
push dword [ebp - 8]
push dword [edi + ebx]
push dword [ebp - 4]
call fcn.0045d81e
mov esi, eax
test esi, esi
js 0x418fd9
cmp dword [ebp - 8], 0
je 0x418faf
push dword [ebp - 8]
call fcn.00403886
and dword [ebp - 8], 0
jmp 0x418faf
push dword [edi + ebx]
push dword [ebp - 4]
call fcn.0045d739
mov esi, eax
test esi, esi
js 0x419001
mov ecx, dword [ebp - 0x18]
add edi, 0x30
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp - 0x28]
jb 0x418f41
jmp 0x419020
push str.Unsupported_variable_type.
mov esi, 0x80070057
push esi
push 0x100
push 5
push 0x3f5
jmp 0x419013
push str.Failed_to_set_variable_value.
push esi
push 0x100
push 5
push 0x3ee
jmp 0x419013
push str.Failed_to_get_variable_value.
push esi
push 0x100
push 5
push 0x3eb
jmp 0x419013
push str.Failed_to_set_variable_value.
push esi
push 0x100
push 5
push 0x3e4
push str.d:_awixwix_src_burnengine_registration.cpp
call fcn.00401228
add esp, 0x18
lea eax, [ebp - 0x44]
push eax
call fcn.0040c06f
cmp dword [ebp - 0xc], 0
je 0x419037
push dword [ebp - 0xc]
call fcn.0040367f
cmp dword [ebp - 8], 0
je 0x419045
push dword [ebp - 8]
call fcn.0040367f
cmp dword [ebp - 0x10], 0
je 0x419053
push dword [ebp - 0x10]
call fcn.0040367f
cmp dword [ebp - 4], 0
je 0x419062
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc