Function at 0x474480
Capabilities:
Delete registry key

Disassembly:
push 0xffffffffffffffff
push 0x5259d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebx
push ebp
mov ebp, dword [esp + 0x60]
push esi
push edi
mov esi, ecx
push str.CUTERG01
mov ecx, ebp
call fcn.00505156
mov edi, eax
mov eax, dword [0x569c90]
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x60], 0
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00509161
cmp edi, 0xffffffff
mov dword [esp + 0x68], eax
je 0x474520
lea edx, [esp + 0x34]
push edi
push edx
mov ecx, ebp
call fcn.00504f5c
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x64], 1
call fcn.00507e73
lea ecx, [esp + 0x34]
mov byte [esp + 0x60], 0
call fcn.00507d3a
lea eax, [esp + 0x34]
push str.UTRG0123456789ABCDEF
push eax
lea ecx, [esp + 0x20]
call fcn.00505109
lea ecx, [esp + 0x34]
call fcn.00507d3a
mov eax, dword [0x569c90]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x34]
push 8
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x68], 3
mov dword [esp + 0x34], 8
call fcn.00505091
mov ebx, 4
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], bl
call fcn.00507e73
lea ecx, [esp + 0x34]
mov byte [esp + 0x60], 3
call fcn.00507d3a
mov edx, dword [esp + 0x1c]
xor ebp, ebp
push str.CUTERG01
push edx
mov dword [esp + 0x3c], ebp
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x474a3b
push 0xa
lea ecx, [esp + 0x40]
call fcn.005076bb
lea eax, [esp + 0x28]
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x1c]
push ecx
push edx
mov byte [esp + 0x6c], 5
call fcn.0046e050
add esp, 0xc
test eax, eax
je 0x474606
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x1c]
push ecx
push edx
call fcn.0046e050
add esp, 0xc
test eax, eax
je 0x474606
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x44]
call fcn.00507899
mov ecx, eax
call fcn.00507ec3
lea edx, [esp + 0x28]
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x1c]
push eax
push ecx
call fcn.0046e050
add esp, 0xc
test eax, eax
jne 0x4745b6
mov edx, dword [0x569c90]
mov dword [esp + 0x14], edx
lea eax, [esp + 0x14]
lea ecx, [esp + 0x3c]
push eax
push str.command
mov byte [esp + 0x68], 6
call fcn.00507873
test eax, eax
je 0x474a1b
mov ecx, dword [esp + 0x14]
push 0x5636f8
push ecx
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x47482d
mov edx, dword [0x569c90]
mov dword [esp + 0x30], edx
lea eax, [esp + 0x30]
lea ecx, [esp + 0x3c]
push eax
push str.key3
mov byte [esp + 0x68], 7
call fcn.00507873
test eax, eax
je 0x47481a
lea edi, [esi + 0xb4]
mov ebp, 1
mov ecx, edi
call fcn.005056c4
mov ecx, edi
call fcn.005055cd
mov eax, dword [0x569c90]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x24]
mov bl, 9
push ecx
push str.daysusage
lea ecx, [esp + 0x44]
mov byte [esp + 0x68], bl
call fcn.00507873
test eax, eax
je 0x474735
lea edx, [esp + 0x20]
lea ecx, [esp + 0x3c]
push edx
push str.daysperiod
call fcn.00507873
test eax, eax
je 0x474735
mov eax, dword [esp + 0x24]
push 0x55ecf8
push eax
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x4746fa
mov ecx, dword [esp + 0x20]
push 0x55ecf8
push ecx
call fcn.004f27d5
add esp, 8
test eax, eax
je 0x474735
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.00507aaf
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
mov byte [esp + 0x6c], 0xa
call fcn.00507aaf
mov ecx, esi
mov byte [esp + 0x68], bl
call fcn.00475c30
mov ecx, eax
call fcn.0046f9b0
jmp 0x47476b
push 0
lea ecx, [esp + 0x34]
call fcn.0050816a
push eax
mov ecx, esi
call fcn.00475c30
mov ecx, eax
call fcn.0046fca0
test eax, eax
je 0x47476f
mov eax, dword [esi + 0xa4]
mov edi, dword [edi]
push eax
push edi
mov ecx, esi
call fcn.00475c30
mov ecx, eax
call fcn.0046fd40
test eax, eax
jne 0x474776
push 0xf05a
jmp 0x4747ef
mov ecx, esi
call fcn.00475c30
mov edx, dword [eax]
push 0
mov ecx, eax
call dword [edx + 8]
test eax, eax
je 0x4747ea
mov eax, dword [0x569c90]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], 0xc
push ecx
push str.type
lea ecx, [esp + 0x44]
call fcn.00507873
mov edx, dword [esp + 0x10]
push str.NEWREGISTR
push edx
call fcn.004f27d5
add esp, 8
test eax, eax
je 0x4747d3
mov eax, dword [esp + 0x10]
push str.REREGISTR
push eax
call fcn.004f27d5
add esp, 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], 1
mov byte [esp + 0x60], bl
call fcn.00507d3a
jmp 0x4747fe
push 0xf04e
mov ecx, dword [esp + 0x6c]
add ecx, 0x310
call fcn.0050cd58
lea ecx, [esp + 0x20]
mov byte [esp + 0x60], 8
call fcn.00507d3a
lea ecx, [esp + 0x24]
mov byte [esp + 0x60], 7
call fcn.00507d3a
lea ecx, [esp + 0x30]
mov byte [esp + 0x60], 6
call fcn.00507d3a
jmp 0x474a1b
mov edx, dword [esp + 0x14]
push str.fail
push edx
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x47499e
mov eax, dword [0x569c90]
mov ebp, 1
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], 0xd
push ecx
push str.type
lea ecx, [esp + 0x44]
call fcn.00507873
mov edx, dword [esp + 0x10]
push str.SN_NOT_EXIST
push edx
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x47488d
mov eax, 0xf04f
jmp 0x47495a
mov eax, dword [esp + 0x10]
push str.NEWREG_LIMIT
push eax
call fcn.004f27d5
add esp, 8
test eax, eax
je 0x47494b
mov ecx, dword [esp + 0x10]
push str.NEW_REGISTRATION_LIMIT
push ecx
call fcn.004f27d5
add esp, 8
test eax, eax
je 0x47494b
mov edx, dword [esp + 0x10]
push str.REREG_LIMIT
push edx
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x4748e8
mov eax, dword [esp + 0x68]
mov dword [eax + 0x31c], ebp
mov eax, 0xf051
jmp 0x47495a
mov ecx, dword [esp + 0x10]
push str.INVALIDKEY
push ecx
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x474905
mov eax, 0xf057
jmp 0x47495a
mov edx, dword [esp + 0x10]
push str.INVALID_PRODUCT_ID
push edx
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x474944
cmp dword [esi + 0xcc], ebx
jge 0x474933
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xe8]
mov eax, dword [esp + 0x68]
jmp 0x47495a
mov ecx, dword [esp + 0x68]
mov eax, 0xf064
mov dword [ecx + 0x31c], ebp
jmp 0x47495a
mov eax, 0xf056
jmp 0x47495a
mov edx, dword [esp + 0x68]
mov eax, 0xf050
mov dword [edx + 0x31c], ebp
push eax
mov eax, dword [esp + 0x6c]
lea ecx, [eax + 0x310]
call fcn.0050cd58
mov ecx, esi
call fcn.00475c30
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x47498e
mov ecx, esi
call fcn.00475c30
mov ecx, dword [eax + 0x28]
push ecx
push reloc.WSOCK32.dll_closesocket
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], 6
call fcn.00507d3a
jmp 0x474a1b
mov edx, dword [esp + 0x14]
push str.moreinfo
push edx
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x4749c5
mov eax, dword [esp + 0x68]
push 0xf061
lea ecx, [eax + 0x310]
jmp 0x474a11
mov ecx, dword [esp + 0x14]
push str.invaliddata
push ecx
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x4749ec
mov edx, dword [esp + 0x68]
push 0xf052
lea ecx, [edx + 0x310]
jmp 0x474a11
mov eax, dword [esp + 0x14]
push str.dberror
push eax
call fcn.004f27d5
add esp, 8
test eax, eax
jne 0x474a1b
mov ecx, dword [esp + 0x68]
push 0xf060
add ecx, 0x310
mov ebp, 1
call fcn.0050cd58
lea ecx, [esp + 0x14]
mov byte [esp + 0x60], 5
call fcn.00507d3a
lea ecx, [esp + 0x3c]
mov byte [esp + 0x60], 3
call fcn.00507758
test ebp, ebp
jne 0x474a4f
mov edx, dword [esp + 0x68]
push 0xf053
lea ecx, [edx + 0x310]
call fcn.0050cd58
lea ecx, [esp + 0x28]
mov byte [esp + 0x60], 2
call fcn.00507d3a
lea ecx, [esp + 0x1c]
mov byte [esp + 0x60], 0
call fcn.00507d3a
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 0xffffffff
call fcn.00507d3a
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x54
ret 4