Function at 0x418560
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.004103e0
mov dword [eax + 0x60], 0x64
add eax, 0x10
push str.UpdateRegistry__
push eax
call fcn.004032b0
push eax
call fcn.0040b100
add esp, 0xc
lea ecx, [ebp - 0x70]
call fcn.0040bf50
lea eax, [ebp - 0x70]
push eax
mov dword [ebp - 0x70], vtable.std::ios_base.0
call fcn.0041a6e6
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.0040cc40
mov esi, eax
cmp esi, edi
je 0x4185f9
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x250], esi
cmp eax, edi
je 0x4185f0
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.0040cc40
push 1
lea ecx, [ebp - 0xd8]
test eax, eax
jne 0x418686
call fcn.004103e0
mov dword [eax + 0x60], 0x64
add eax, 0x10
push str.Registry_is_up_to_date
push eax
call fcn.004032b0
push eax
call fcn.0040b100
add esp, 0xc
lea ecx, [ebp - 0x70]
call fcn.0040bf50
lea ecx, [ebp - 0x70]
push ecx
mov dword [ebp - 0x70], vtable.std::ios_base.0
call fcn.0041a6e6
mov eax, dword [ebp - 0x18]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esp, 4
cmp eax, edi
je 0x418672
push eax
call ebx
cmp esi, edi
je 0x4188c1
push esi
call ebx
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004103e0
mov dword [eax + 0x60], 0xa
add eax, 0x10
push str.Registry_update_needed
push eax
call fcn.004032b0
push eax
call fcn.0040b100
add esp, 0xc
lea ecx, [ebp - 0x70]
call fcn.0040bf50
lea edx, [ebp - 0x70]
push edx
mov dword [ebp - 0x70], vtable.std::ios_base.0
call fcn.0041a6e6
mov ecx, dword [0x43f2ec]
add esp, 4
lea eax, [ebp - 0x28]
push eax
push 1
push 0x65
push ecx
mov dword [ebp - 0x28], 0x4334d0
mov dword [ebp - 0x24], str.11AC3232_E7D7_49CD_ABFE_501700100B3A
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
call fcn.00410080
mov esi, eax
cmp esi, edi
jge 0x418715
mov eax, dword [ebp - 0x18]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, edi
je 0x418702
push eax
call ebx
mov eax, dword [ebp - 0xc]
cmp eax, edi
je 0x41870c
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 0x418728
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.0040cc40
cmp eax, edi
je 0x41876e
push eax
call fcn.0040c940
mov ebx, eax
mov eax, dword [ebp - 0x18]
add esp, 4
cmp eax, edi
je 0x41875b
push eax
call esi
mov eax, dword [ebp - 0xc]
cmp eax, edi
je 0x418765
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.0040cba0
mov esi, eax
cmp esi, edi
je 0x4187ae
lea ecx, [ebp - 0x18]
call fcn.0040d6c0
lea ecx, [ebp - 0xc]
call fcn.0040d6c0
push esi
call fcn.0040c940
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.004103e0
lea esi, [ebx + 0x40]
push esi
mov dword [eax + 0x60], 0xa
add eax, 0x10
push str.LocalService_:
push eax
call fcn.004032b0
add esp, 8
push eax
call fcn.00409ee0
push eax
call fcn.0040b100
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.0040c490
push 1
push esi
push str.LocalService
lea ecx, [ebp - 0x18]
call fcn.0040cd10
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00417c40
add esp, 4
push 1
lea ecx, [ebp - 0xd8]
call fcn.004103e0
mov dword [eax + 0x60], 0xa
add eax, 0x10
push str.Registering_Server
push eax
call fcn.004032b0
push eax
call fcn.0040b100
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.0040c490
push edi
push 1
mov ecx, ebx
call fcn.00417840
mov esi, eax
cmp esi, edi
jge 0x41887b
lea ecx, [ebp - 0x18]
call fcn.0040d6c0
lea ecx, [ebp - 0xc]
call fcn.0040d6c0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 1
lea ecx, [ebp - 0xd8]
call fcn.004103e0
mov dword [eax + 0x60], 0x64
add eax, 0x10
push str.UpdateRegistry___done
push eax
call fcn.004032b0
push eax
call fcn.0040b100
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.0040c490
lea ecx, [ebp - 0x18]
call fcn.0040d6c0
lea ecx, [ebp - 0xc]
call fcn.0040d6c0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret