Function at 0x407681
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2244
call fcn.0042ead0
mov eax, dword [ebp + 0x14]
and dword [ebp - 0xc], 0
and dword [ebp - 8], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
mov dword [ebp - 0x24], eax
push edi
mov eax, ebx
mov dword [ebp - 4], ecx
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a45
cmp word [ebx], 0x7d
je 0x407a43
mov edi, dword [sym.imp.l_mt5clwtst__lstrcmpiW]
push str.Delete
push ebx
mov dword [ebp - 0x18], 1
call edi
mov esi, eax
neg esi
push str.ForceRemove
sbb esi, esi
push ebx
inc esi
call edi
test eax, eax
je 0x4076f0
test esi, esi
je 0x40777f
mov ecx, dword [ebp - 4]
mov eax, ebx
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a34
xor edi, edi
cmp dword [ebp + 0x10], edi
je 0x407781
push 0x5c
mov eax, ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
call fcn.00406eae
pop ecx
test eax, eax
jne 0x407b44
push ebx
call fcn.00407365
test eax, eax
je 0x407745
mov eax, dword [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edi
call fcn.004073cf
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
cmp esi, edi
je 0x40777a
mov ecx, dword [ebp - 4]
mov eax, ebx
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a34
mov ecx, dword [ebp - 4]
mov edi, ebx
call fcn.0040731c
mov edi, eax
test edi, edi
jl 0x407a34
and dword [ebp - 0x1c], 0
jmp 0x407aee
mov dword [ebp - 0x1c], edi
jmp 0x407781
xor edi, edi
push str.NoRemove
push ebx
call dword [sym.imp.l_mt5clwtst__lstrcmpiW]
test eax, eax
jne 0x4077aa
and dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
mov eax, ebx
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a34
xor edi, edi
push 0x4323c0
push ebx
call dword [sym.imp.l_mt5clwtst__lstrcmpiW]
test eax, eax
jne 0x40789d
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x2240]
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a34
mov ecx, dword [ebp - 4]
mov eax, ebx
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a34
cmp word [ebx], 0x3d
jne 0x407b5c
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x407830
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
push ebx
lea eax, [ebp - 0x2240]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x28], esi
call fcn.00406fae
mov edi, eax
cmp edi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
jl 0x407ba3
mov dword [ebp - 0x28], esi
jmp 0x407aee
cmp dword [ebp + 0x14], esi
jne 0x40788a
cmp dword [ebp - 0x18], esi
je 0x40788a
push esi
push dword [ebp + 0xc]
mov eax, 0x20006
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call fcn.00407391
cmp eax, esi
jne 0x407b62
lea eax, [ebp - 0x2240]
push eax
push dword [ebp - 0x14]
call dword [0x430020]
cmp eax, esi
je 0x407876
cmp eax, 2
jne 0x407b62
cmp dword [ebp - 0x14], esi
je 0x407887
push dword [ebp - 0x14]
call dword [0x430038]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
mov ecx, dword [ebp - 4]
mov edi, ebx
call fcn.0040731c
mov edi, eax
cmp edi, esi
jmp 0x407b2f
push 0x5c
mov eax, ebx
call fcn.00406eae
pop ecx
test eax, eax
jne 0x407b44
cmp dword [ebp + 0x10], edi
je 0x407961
push ebx
push dword [ebp + 0xc]
mov esi, 0x2001f
mov eax, esi
lea ecx, [ebp - 0xc]
call fcn.00407391
test eax, eax
je 0x407925
push ebx
push dword [ebp + 0xc]
lea eax, [esi - 6]
lea ecx, [ebp - 0xc]
call fcn.00407391
test eax, eax
je 0x407925
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 8]
push eax
push edi
push esi
push edi
push edi
push edi
push ebx
push dword [ebp + 0xc]
mov dword [ebp + 8], edi
call dword [0x430024]
cmp eax, edi
jne 0x407b80
xor eax, eax
cmp dword [ebp - 0xc], edi
je 0x407914
push dword [ebp - 0xc]
call dword [0x430038]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edi
cmp eax, edi
jne 0x407b80
mov ecx, dword [ebp - 4]
mov eax, ebx
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a34
cmp word [ebx], 0x3d
jne 0x407aee
push ebx
push 0
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 4]
call fcn.00406fae
mov edi, eax
test edi, edi
jl 0x407a34
jmp 0x407aee
cmp dword [ebp + 0x14], edi
jne 0x40797c
push ebx
push dword [ebp + 0xc]
mov eax, 0x20019
lea ecx, [ebp - 0xc]
call fcn.00407391
mov dword [ebp + 8], eax
jmp 0x407983
mov dword [ebp + 8], 2
cmp dword [ebp + 8], edi
je 0x40798f
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x240]
push 0x104
push eax
call fcn.0042239f
push eax
call fcn.004072e7
mov ecx, dword [ebp - 4]
add esp, 0x14
mov eax, ebx
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a34
mov ecx, dword [ebp - 4]
mov edi, ebx
call fcn.0040731c
mov edi, eax
test edi, edi
jl 0x407a34
cmp word [ebx], 0x7b
jne 0x407a0b
push ebx
call dword [sym.imp.l_mt5clwtst__lstrlenW]
cmp eax, 1
jne 0x407a0b
push dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
push 0
push dword [ebp - 0xc]
push ebx
call fcn.00407681
mov edi, eax
test edi, edi
jge 0x4079fb
cmp dword [ebp + 0x14], 0
je 0x407a34
mov ecx, dword [ebp - 4]
mov eax, ebx
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a34
cmp dword [ebp + 8], 2
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0x14], eax
je 0x407b35
xor esi, esi
cmp dword [ebp + 8], esi
je 0x407a4c
cmp eax, esi
jne 0x407b35
mov eax, dword [ebp + 8]
call fcn.0040753c
mov edi, eax
cmp dword [ebp - 0xc], 0
je 0x407a43
push dword [ebp - 0xc]
call dword [0x430038]
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 0x10
cmp eax, esi
je 0x407a8e
push dword [ebp - 0xc]
call fcn.00407499
test eax, eax
je 0x407a8e
lea eax, [ebp - 0x240]
push eax
call fcn.00407365
test eax, eax
je 0x407b35
cmp dword [ebp - 0x18], 0
je 0x407b35
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0xc]
call fcn.004073cf
jmp 0x407b35
push dword [ebp - 0xc]
call fcn.00407499
mov dword [ebp + 8], eax
xor eax, eax
cmp dword [ebp - 0xc], esi
je 0x407aac
push dword [ebp - 0xc]
call dword [0x430038]
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], esi
cmp eax, esi
jne 0x407b9c
cmp dword [ebp - 0x18], esi
je 0x407b35
cmp dword [ebp + 8], 0
jne 0x407b35
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x30], 0
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x240]
push eax
lea esi, [ebp - 0x34]
call fcn.004074e5
and dword [ebp - 0x34], 0
and dword [ebp - 0x30], 0
test eax, eax
jne 0x407a2d
and dword [ebp - 0x30], eax
cmp dword [ebp + 0x10], 0
je 0x407b35
cmp word [ebx], 0x7b
jne 0x407b35
push ebx
call dword [sym.imp.l_mt5clwtst__lstrlenW]
cmp eax, 1
jne 0x407b35
mov ecx, dword [ebp - 4]
push 0
push dword [ebp + 0x10]
push dword [ebp - 0xc]
push ebx
call fcn.00407681
mov edi, eax
test edi, edi
jl 0x407a34
mov ecx, dword [ebp - 4]
mov eax, ebx
call fcn.0040756b
mov edi, eax
test edi, edi
jl 0x407a34
cmp word [ebx], 0x7d
jne 0x4076c0
jmp 0x407a34
cmp dword [ebp - 0xc], edi
je 0x407b52
push dword [ebp - 0xc]
call dword [0x430038]
mov eax, 0x80020009
jmp 0x407a45
cmp dword [ebp - 0xc], 0
jmp 0x407b47
call fcn.0040753c
mov edi, eax
cmp dword [ebp - 0x14], esi
je 0x407a34
push dword [ebp - 0x14]
call dword [0x430038]
jmp 0x407a34
call fcn.0040753c
mov esi, eax
cmp dword [ebp - 0xc], edi
je 0x407b95
push dword [ebp - 0xc]
call dword [0x430038]
mov eax, esi
jmp 0x407a45
call fcn.0040753c
mov edi, eax
cmp dword [ebp - 0xc], esi
jmp 0x407a38