Function at 0x453410
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4eec06
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x225c
call fcn.004b4b00
mov eax, dword [0x555ab0]
xor eax, esp
mov dword [esp + 0x2258], eax
push ebx
push esi
push edi
mov eax, dword [0x555ab0]
xor eax, esp
push eax
lea eax, [esp + 0x2270]
mov dword fs:[0], eax
mov eax, ecx
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x58], ecx
push edi
mov ecx, eax
mov dword [esp + 0x227c], 0
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a73
cmp word [edi], 0x7d
je 0x453a62
jmp 0x4534b0
push 0x52cc0c
push edi
mov dword [esp + 0x38], 1
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push 0x52cbe0
sbb ebx, ebx
push edi
inc ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x4534e1
test ebx, ebx
je 0x4535da
mov ecx, dword [esp + 0x10]
push edi
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a62
cmp dword [ebp + 0x10], 0
je 0x4535da
movzx eax, word [edi]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov ecx, edi
test ax, ax
je 0x453542
cmp ax, 0x5c
je 0x45353a
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, eax
movzx eax, word [ecx]
test ax, ax
jne 0x453521
jmp 0x453542
test ecx, ecx
jne 0x453a0b
mov esi, 0x53e9d8
push dword [esi]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x453599
add esi, 4
cmp esi, 0x53ea08
jl 0x453547
mov eax, dword [esp + 0x14]
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
call fcn.0041d720
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
test ebx, ebx
je 0x4535d2
mov ebx, dword [esp + 0x10]
push edi
mov ecx, ebx
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a1b
push edi
mov ecx, ebx
call fcn.00452f50
mov esi, eax
test esi, esi
js 0x453a1b
mov dword [esp + 0x28], 0
jmp 0x453806
mov dword [esp + 0x28], 0
push 0x52cbf8
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x453604
push edi
mov ecx, ebx
mov dword [esp + 0x34], eax
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a62
push 0x52cbd8
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x453752
lea eax, [esp + 0x264]
push eax
mov ecx, ebx
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a62
push edi
mov ecx, ebx
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a62
cmp word [edi], 0x3d
jne 0x453a14
cmp dword [ebp + 0x10], 0
je 0x4536bf
mov eax, dword [esp + 0x14]
mov byte [esp + 0x2278], 1
mov dword [esp + 0x4c], eax
push edi
lea eax, [esp + 0x268]
push eax
lea eax, [esp + 0x54]
push eax
mov ecx, ebx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
call fcn.00452b00
mov esi, eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
test esi, esi
js 0x453a26
mov byte [esp + 0x2278], 0
mov dword [esp + 0x50], 0
jmp 0x453806
cmp dword [ebp + 0x14], 0
jne 0x45373b
cmp dword [esp + 0x30], 0
je 0x45373b
push 0x20006
push 0
push dword [esp + 0x1c]
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
call fcn.0041d5a0
test eax, eax
jne 0x453a31
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x264]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x453720
cmp eax, 2
jne 0x453a31
test esi, esi
je 0x453733
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
push edi
mov ecx, ebx
call fcn.00452f50
mov esi, eax
test esi, esi
js 0x453a62
jmp 0x4539ff
movzx eax, word [edi]
mov ecx, edi
test ax, ax
je 0x453781
lea esp, [esp]
cmp ax, 0x5c
je 0x453779
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, eax
movzx eax, word [ecx]
test ax, ax
jne 0x453760
jmp 0x453781
test ecx, ecx
jne 0x453a14
cmp dword [ebp + 0x10], 0
je 0x45385f
mov esi, dword [esp + 0x14]
push 0x2001f
push edi
push esi
lea ecx, [esp + 0x24]
call fcn.0041d5a0
test eax, eax
je 0x4537d5
push 0x20019
push edi
push esi
lea ecx, [esp + 0x24]
call fcn.0041d5a0
test eax, eax
je 0x4537d5
sub esp, 8
push 0x2001f
push 0
push ecx
push edi
push esi
lea ecx, [esp + 0x34]
call fcn.0041d520
test eax, eax
jne 0x453a59
push edi
mov ecx, ebx
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a62
cmp word [edi], 0x3d
jne 0x453806
push edi
push 0
lea eax, [esp + 0x20]
push eax
mov ecx, ebx
call fcn.00452b00
mov esi, eax
test esi, esi
js 0x453a62
cmp word [edi], 0x7b
jne 0x4539ff
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x453815
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x4539ff
push 0
push dword [ebp + 0x10]
mov ecx, ebx
push dword [esp + 0x20]
push edi
call fcn.00453410
mov esi, eax
test esi, esi
js 0x453a62
push edi
mov ecx, ebx
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a62
jmp 0x4539ff
cmp dword [ebp + 0x14], 0
jne 0x453880
push 0x20019
push edi
push dword [esp + 0x1c]
lea ecx, [esp + 0x24]
call fcn.0041d5a0
mov ebx, eax
test ebx, ebx
jne 0x453885
jmp 0x45388c
mov ebx, 2
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x64]
push 0x104
push eax
call fcn.004b4186
push eax
call fcn.00401860
mov ecx, dword [esp + 0x24]
add esp, 0x14
push edi
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a62
mov ecx, dword [esp + 0x10]
push edi
call fcn.00452f50
mov esi, eax
test esi, esi
js 0x453a62
cmp word [edi], 0x7b
jne 0x45392b
mov ecx, edi
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4538e0
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x45392b
push dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
push 0
push dword [esp + 0x20]
push edi
call fcn.00453410
mov esi, eax
test esi, esi
jns 0x453917
cmp dword [ebp + 0x14], 0
je 0x453a62
mov ecx, dword [esp + 0x10]
push edi
call fcn.00452970
mov esi, eax
test esi, esi
js 0x453a62
mov eax, dword [esp + 0x58]
mov dword [ebp + 0x14], eax
cmp ebx, 2
je 0x4539ff
test ebx, ebx
je 0x45394e
test eax, eax
jne 0x4539ff
mov ecx, ebx
jmp 0x453a5b
test eax, eax
je 0x45398c
push dword [esp + 0x18]
call fcn.00452f00
test eax, eax
je 0x45398c
lea eax, [esp + 0x5c]
push eax
call fcn.00452ec0
test eax, eax
je 0x4539ff
cmp dword [esp + 0x30], 0
je 0x4539ff
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x1c]
call fcn.0041d720
jmp 0x4539ff
push dword [esp + 0x18]
call fcn.00452f00
mov ecx, dword [esp + 0x18]
mov ebx, eax
xor eax, eax
test ecx, ecx
je 0x4539ae
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
test eax, eax
jne 0x453a59
cmp dword [esp + 0x30], eax
je 0x4539ff
test ebx, ebx
jne 0x4539ff
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
call fcn.0041d4a0
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
test eax, eax
jne 0x453a45
lea ecx, [esp + 0x40]
call fcn.0041d480
cmp word [edi], 0x7d
jne 0x4534b0
jmp 0x453a62
lea ecx, [esp + 0x24]
call fcn.0041d480
mov esi, 0x80020009
jmp 0x453a62
lea ecx, [esp + 0x24]
call fcn.0041d480
jmp 0x453a62
lea ecx, [esp + 0x4c]
call fcn.0041d480
jmp 0x453a62
mov ecx, eax
call fcn.00451da0
lea ecx, [esp + 0x34]
mov esi, eax
call fcn.0041d480
jmp 0x453a62
mov ecx, eax
call fcn.00451da0
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.0041d480
jmp 0x453a62
mov ecx, eax
call fcn.00451da0
mov esi, eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x453a71
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
mov ecx, dword [esp + 0x2270]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2258]
xor ecx, esp
call fcn.004b00a0
mov esp, ebp
pop ebp
ret 0x10