Function at 0x418880
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
push ebx
push esi
push edi
mov ebx, ecx
push 1
lea ecx, [ebp - 0xd8]
call fcn.00406160
mov dword [eax + 0x60], 0x64
add eax, 0x10
push str.UpdateRegistry__
push eax
call fcn.00404180
push eax
call fcn.004055a0
add esp, 0xc
lea ecx, [ebp - 0x70]
call fcn.0040c2c0
lea eax, [ebp - 0x70]
push eax
mov dword [ebp - 0x70], vtable.std::ios_base.0
call fcn.0041a580
add esp, 4
push 0x20019
xor edi, edi
push str.AppID
push SysReAllocString
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
call fcn.0040cf50
mov esi, eax
cmp esi, edi
je 0x418919
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x250], esi
cmp eax, edi
je 0x418910
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0xc]
push 0x20019
push str.11AC3232_E7D7_49CD_ABFE_501700100B3A
push esi
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], edi
call fcn.0040cf50
push 1
lea ecx, [ebp - 0xd8]
test eax, eax
jne 0x4189a6
call fcn.00406160
mov dword [eax + 0x60], 0x64
add eax, 0x10
push str.Registry_is_up_to_date
push eax
call fcn.00404180
push eax
call fcn.004055a0
add esp, 0xc
lea ecx, [ebp - 0x70]
call fcn.0040c2c0
lea ecx, [ebp - 0x70]
push ecx
mov dword [ebp - 0x70], vtable.std::ios_base.0
call fcn.0041a580
mov eax, dword [ebp - 0x18]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esp, 4
cmp eax, edi
je 0x418992
push eax
call ebx
cmp esi, edi
je 0x418be1
push esi
call ebx
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00406160
mov dword [eax + 0x60], 0xa
add eax, 0x10
push str.Registry_update_needed
push eax
call fcn.00404180
push eax
call fcn.004055a0
add esp, 0xc
lea ecx, [ebp - 0x70]
call fcn.0040c2c0
lea edx, [ebp - 0x70]
push edx
mov dword [ebp - 0x70], vtable.std::ios_base.0
call fcn.0041a580
mov ecx, dword [0x43f30c]
add esp, 4
lea eax, [ebp - 0x28]
push eax
push 1
push 0x65
push ecx
mov dword [ebp - 0x28], 0x433618
mov dword [ebp - 0x24], str.11AC3232_E7D7_49CD_ABFE_501700100B3A
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
call fcn.00410390
mov esi, eax
cmp esi, edi
jge 0x418a35
mov eax, dword [ebp - 0x18]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, edi
je 0x418a22
push eax
call ebx
mov eax, dword [ebp - 0xc]
cmp eax, edi
je 0x418a2c
push eax
call ebx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, edi
je 0x418a48
push eax
call esi
mov dword [ebp - 0xc], edi
push 0x20006
push str.AppID
push SysReAllocString
lea ecx, [ebp - 0xc]
mov dword [ebp - 8], edi
call fcn.0040cf50
cmp eax, edi
je 0x418a8e
push eax
call fcn.0040cc50
mov ebx, eax
mov eax, dword [ebp - 0x18]
add esp, 4
cmp eax, edi
je 0x418a7b
push eax
call esi
mov eax, dword [ebp - 0xc]
cmp eax, edi
je 0x418a85
push eax
call esi
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xc]
push edi
push edi
push 0x2001f
push edi
push edi
push str.11AC3232_E7D7_49CD_ABFE_501700100B3A
push edx
lea ecx, [ebp - 0x18]
call fcn.0040ceb0
mov esi, eax
cmp esi, edi
je 0x418ace
lea ecx, [ebp - 0x18]
call fcn.0040d9f0
lea ecx, [ebp - 0xc]
call fcn.0040d9f0
push esi
call fcn.0040cc50
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x18]
push str.LocalService
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push 1
lea ecx, [ebp - 0xd8]
call fcn.00406160
lea esi, [ebx + 0x40]
push esi
mov dword [eax + 0x60], 0xa
add eax, 0x10
push str.LocalService_:
push eax
call fcn.00404180
add esp, 8
push eax
call fcn.0040a630
push eax
call fcn.004055a0
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.00401a40
push 1
push esi
push str.LocalService
lea ecx, [ebp - 0x18]
call fcn.0040d020
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00417f60
add esp, 4
push 1
lea ecx, [ebp - 0xd8]
call fcn.00406160
mov dword [eax + 0x60], 0xa
add eax, 0x10
push str.Registering_Server
push eax
call fcn.00404180
push eax
call fcn.004055a0
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.00401a40
push edi
push 1
mov ecx, ebx
call fcn.004179a0
mov esi, eax
cmp esi, edi
jge 0x418b9b
lea ecx, [ebp - 0x18]
call fcn.0040d9f0
lea ecx, [ebp - 0xc]
call fcn.0040d9f0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 1
lea ecx, [ebp - 0xd8]
call fcn.00406160
mov dword [eax + 0x60], 0x64
add eax, 0x10
push str.UpdateRegistry___done
push eax
call fcn.00404180
push eax
call fcn.004055a0
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.00401a40
lea ecx, [ebp - 0x18]
call fcn.0040d9f0
lea ecx, [ebp - 0xc]
call fcn.0040d9f0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret