Function at 0x418228
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.00405b5b
lea esi, [eax + 0x7ff8fffd]
neg esi
sbb esi, esi
and esi, eax
jge 0x41829e
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.004012a1
add esp, 0x1c
jmp 0x4184f2
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.0040ba5b
mov esi, eax
test esi, esi
jns 0x4182da
push str.Failed_to_read_variables.
push esi
push 0x100
push 5
push 0x3ba
jmp 0x4184e5
push str.variables
push dword [edi + 0x4c]
lea eax, [ebp - 0x10]
push str._s_s
push eax
call fcn.00403578
mov esi, eax
add esp, 0x10
test esi, esi
jns 0x418310
push str.Failed_to_build_variable_registry_key_path.
push esi
push 0x100
push 5
push 0x3be
jmp 0x4184e5
lea eax, [ebp - 4]
push eax
push 0x20007
push dword [ebp - 0x10]
push dword [edi + 0x48]
call fcn.0046748b
mov esi, eax
test esi, esi
jns 0x418341
push str.Failed_to_create_registration_variable_key.
push esi
push 0x100
push 5
push 0x3c2
jmp 0x4184e5
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 0x418375
push str.Failed_to_query_registration_variable_count.
push esi
push 0x100
push 5
push 0x3c5
jmp 0x4184e5
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.00468509
mov esi, eax
cmp esi, 0x80070103
je 0x418403
test esi, esi
js 0x4183eb
push dword [ebp - 0xc]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov esi, eax
cmp esi, 2
je 0x4183ae
test esi, esi
jne 0x4183b1
dec edi
jmp 0x418378
jle 0x4183bc
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x4183c5
mov esi, 0x80004005
push esi
mov ebx, 0x3d6
mov edi, str.d:_awixwix_src_burnengine_registration.cpp
push ebx
push edi
call fcn.0040129e
push str.Failed_to_delete_registration_variable_value.
push esi
push 0x100
push 5
push ebx
push edi
jmp 0x4184ea
push edi
push str.Failed_to_enumerate_value__u
push esi
push 0x100
push 5
push 0x3d1
jmp 0x41828c
mov esi, ebx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x28], ebx
jbe 0x4184f2
mov edi, ebx
mov ebx, dword [ebp - 0x24]
mov eax, dword [edi + ebx + 0x10]
sub eax, 0
je 0x418470
sub eax, 1
je 0x418433
sub eax, 1
je 0x418433
sub eax, 1
je 0x418433
sub eax, 1
jne 0x418492
lea eax, [ebp - 8]
push eax
lea eax, [ebx + 8]
add eax, edi
push eax
call fcn.00438ce6
mov esi, eax
test esi, esi
js 0x4184bf
push dword [ebp - 8]
push dword [edi + ebx]
push dword [ebp - 4]
call fcn.004687ae
mov esi, eax
test esi, esi
js 0x4184ab
cmp dword [ebp - 8], 0
je 0x418481
push dword [ebp - 8]
call fcn.0040432f
and dword [ebp - 8], 0
jmp 0x418481
push dword [edi + ebx]
push dword [ebp - 4]
call fcn.004686c9
mov esi, eax
test esi, esi
js 0x4184d3
mov ecx, dword [ebp - 0x18]
add edi, 0x30
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp - 0x28]
jb 0x418413
jmp 0x4184f2
push str.Unsupported_variable_type.
mov esi, 0x80070057
push esi
push 0x100
push 5
push 0x3f5
jmp 0x4184e5
push str.Failed_to_set_variable_value.
push esi
push 0x100
push 5
push 0x3ee
jmp 0x4184e5
push str.Failed_to_get_variable_value.
push esi
push 0x100
push 5
push 0x3eb
jmp 0x4184e5
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.004012a1
add esp, 0x18
lea eax, [ebp - 0x44]
push eax
call fcn.0040d799
cmp dword [ebp - 0xc], 0
je 0x418509
push dword [ebp - 0xc]
call fcn.00404128
cmp dword [ebp - 8], 0
je 0x418517
push dword [ebp - 8]
call fcn.00404128
cmp dword [ebp - 0x10], 0
je 0x418525
push dword [ebp - 0x10]
call fcn.00404128
cmp dword [ebp - 4], 0
je 0x418534
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc