Function at 0x46beb8
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
xor edx, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 8], 0xfffffff7
mov dword [ebp - 0x14], edx
jmp 0x46bedc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x46bed2
mov eax, dword [ebp - 8]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 8], edx
jmp 0x46bf06
mov dword [ebp - 0xc], edx
mov dword [ebp - 0xc], edx
jmp 0x46befd
cmp dword [ebp - 0xc], edx
jne 0x46bf03
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xc
je 0x46bef5
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x34
jg 0x46beed
push ebx
push esi
xor ebx, ebx
inc ebx
push ebx
push ecx
push 0x102e
push ebx
push ebx
call fcn.0045e47f
add esp, 0x14
mov dword [ebp - 0x10], 0xe2236432
lea ecx, [ebp - 0x34]
push ebx
call fcn.0043387f
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x14], 0x753f3ac9
push eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x14], 0xe34aafbe
xorps xmm0, xmm0
lea ecx, [ebp - 0x28]
push eax
movdqu xmmword [ebp - 0x5c], xmm0
call fcn.0043397f
push ecx
lea ecx, [ebp - 0x40]
push dword [eax + 4]
push dword [eax]
call fcn.0043392b
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], esi
jmp 0x46bf81
push dword [ebp - 0x14]
call fcn.0043396d
mov dword [eax], 0xbe187950
inc dword [ebp - 0x14]
lea ecx, [ebp - 0x34]
cmp dword [ebp - 0x14], ebx
jl 0x46bf70
push edi
mov edi, dword [ebp - 0x10]
push esi
call fcn.0043396d
mov ecx, dword [ebp - 0x10]
mov esi, edi
xor edx, edx
mov dword [ebp - 0xc], eax
mov dword [eax], edi
imul edi, edi
cmp edi, ecx
setge dl
xor eax, eax
imul edx, esi
cmp edx, esi
mov esi, dword [ebp - 0xc]
setg al
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [esi], eax
setne cl
xor eax, eax
cmp ecx, 0x51ae9a07
setg al
mov dword [esi], eax
cmp eax, dword [ebp - 0x10]
jg 0x46bfdd
cmp dword [ebp - 0x14], 0
je 0x46bfdd
mov eax, ebx
jmp 0x46bfdf
xor eax, eax
lea eax, [eax*4 + 1]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x40]
push 0
call fcn.0043396d
mov ecx, dword [ebp - 0x14]
mov edi, 0xffff
mov edx, dword [ebp - 0x10]
sub edx, ecx
mov dword [ebp - 0xc], eax
mov dword [eax], edx
mov ecx, dword [esi]
mov dword [esi], ecx
test ecx, ecx
je 0x46c039
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x46c0c4
push eax
push eax
push 0x146
push 0x13da
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp 0x46c0c4
xor ecx, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], ecx
jmp 0x46c051
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1c], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x46c043
mov byte [ebp - 1], cl
cmp byte [ebp - 1], cl
je 0x46c084
push 0xc2e
push ecx
push 0x13f2
push 0x372
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
xor ecx, ecx
mov edi, ebx
cmp dword [ebp - 0x10], ecx
jne 0x46c08d
mov edi, ecx
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
mov esi, dword [esi]
setg dl
sub edx, dword [eax]
neg edx
sbb edx, edx
xor eax, eax
inc edx
add edx, esi
cmp esi, edx
setne al
cmp eax, ebx
sbb eax, eax
xor ecx, ecx
neg eax
cmp edi, eax
mov edi, 0xffff
setge cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x40]
call fcn.00433951
lea ecx, [ebp - 0x34]
call fcn.00433951
push dword [ebp - 0x20]
call fcn.0042e4d8
mov dword [ebp - 8], 0x546158d3
mov esi, eax
mov dword [ebp - 0x14], 0xe314a5ea
mov dword [ebp - 0x20], 0xccd20446
pop ecx
mov dword [ebp - 0x10], 0
jmp 0x46c10b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x18], 0x3b15a8df
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x46c0fd
mov edx, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 8]
sub edx, edi
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 8]
je 0x46c12a
cmp dword [ebp - 0x14], 0
jne 0x46c12c
xor ebx, ebx
mov edx, dword [ebp - 8]
xor eax, eax
cmp ebx, 0x4a90c6d2
setg al
sub edx, eax
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 8]
setl cl
xor edx, edx
cmp ecx, 0xc18ab9c
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
xor eax, eax
cmp ecx, 0x8787
setg al
xor ecx, ecx
cmp eax, 0xea33a4d1
setne cl
cmp edi, ecx
pop edi
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xa796
mov eax, dword [ebp - 8]
setl cl
xor edx, edx
cmp eax, ecx
setl dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x46c230
mov dword [ebp - 0xc], ebx
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x46c1bc
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], 0x5df5b04c
cmp dword [ebp - 0x10], ebx
jne 0x46c230
mov dword [ebp - 0xc], ebx
jmp 0x46c222
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], ebx
jl 0x46c21c
mov dword [ebp - 0x10], ebx
jmp 0x46c212
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x46c20f
push ebx
push 0xff3
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x46c1ec
dec dword [ebp - 8]
jns 0x46c1e7
mov eax, dword [ebp - 0xc]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jle 0x46c1df
dec dword [ebp - 0x14]
jns 0x46c1a9
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret