Function at 0x4082fa
Capabilities:
Create process on windows
Delete directory
Delete registry key
Delete registry value
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
sub esp, 0xccc
cmp dword [0x41780c], 0x3e9
push ebx
push ebp
push esi
push edi
push 1
mov dword [esp + 0x24], 0x1d
mov dword [esp + 0x28], 0x1e
mov dword [esp + 0x2c], 0x1f
mov dword [esp + 0x30], 0x20
mov dword [esp + 0x34], 0x21
mov dword [esp + 0x38], 0x22
mov dword [esp + 0x3c], 0x23
mov dword [esp + 0x40], 0x24
mov dword [esp + 0x44], 0x25
mov dword [esp + 0x48], 0x28
mov dword [esp + 0x4c], 0x2c
mov dword [esp + 0x50], 0x38
mov dword [esp + 0x54], 0x39
mov dword [esp + 0x58], 0x3a
pop ebx
jne 0x408393
cmp dword [0x4178c0], 0
je 0x4083a9
and dword [0x4178c0], 0
cmp dword [0x4178c0], 0
je 0x4083a9
mov ax, word [0x417cd4]
mov word [esp + 0x10], ax
jmp 0x4083ad
mov dword [esp + 0x10], ebx
push 0xe
lea esi, [esp + 0x24]
lea edi, [esp + 0x160]
pop ebp
push 0x40
push edi
push dword [esi]
push dword [0x417bd4]
call fcn.0040b454
add esp, 0x10
add edi, 0x40
add esi, 4
dec ebp
jne 0x4083bb
mov eax, dword [0x417810]
mov ecx, dword [0x417bc0]
add ecx, eax
and dword [0x417844], 0
add ecx, dword [0x417c3c]
add ecx, dword [0x417c48]
add ecx, dword [0x417cdc]
add ecx, dword [0x41786c]
add ecx, dword [0x4178c4]
add ecx, dword [0x417cc8]
add ecx, dword [0x4178b8]
add ecx, dword [0x417bfc]
mov dword [0x417c38], ecx
jne 0x408429
mov dword [0x417c38], ebx
cmp dword [0x417bd0], 0
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ebp, dword [sym.imp.USER32.dll_GetDlgItem]
jne 0x4086c6
xor edi, edi
push edi
push 0x3ea
call fcn.004035be
push edi
push 0x3ec
call fcn.004035be
mov esi, 0x3ed
push 1
push esi
call fcn.004035be
push 1
push 0x3ef
call fcn.004035be
lea eax, [esp + 0x4fc]
push 0x100
push eax
push 0x2d
push dword [0x417bd4]
call fcn.0040b454
push dword [0x417bf0]
lea eax, [esp + 0x510]
push eax
lea eax, [esp + 0x914]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x3c
lea eax, [esp + 0x8dc]
push eax
push esi
push dword [0x4177c8]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push edi
push 1
push dword [0x4177c8]
call ebp
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call esi
push edi
push 5
push dword [0x4177c8]
call ebp
push eax
call esi
mov esi, 0x417c60
lea eax, [edi + 0x6b]
movzx eax, ax
push eax
push dword [0x417bd4]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esi], eax
add esi, 4
inc edi
cmp esi, 0x417cb4
jl 0x4084e8
xor esi, esi
cmp dword [0x4178d0], esi
je 0x408529
push 5
push 0xef6
push dword [0x4177c8]
call ebp
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call fcn.0040984e
mov bp, word [esp + 0x14]
pop ecx
xor ecx, ecx
cmp dword [0x417be4], esi
mov dword [0x417bd0], 1
mov dword [esp + 0x14], ecx
jle 0x4086cb
cmp dword [0x417874], 0
jne 0x4086cb
mov edi, 0x3e8
cmp dword [0x41780c], edi
je 0x408580
mov eax, dword [0x417898]
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0x204], 0
je 0x4086b3
mov eax, dword [0x417898]
mov esi, ecx
shl esi, 2
add eax, esi
mov edx, dword [eax]
cmp word [edx + 0x208], bp
jb 0x4086b3
push 0x5c
push edx
call fcn.0040c57a
pop ecx
test eax, eax
pop ecx
je 0x4085ba
mov eax, dword [0x417898]
push 0
push dword [esi + eax]
call fcn.0040b02b
pop ecx
pop ecx
lea eax, [esp + 0x4dc]
push 0x414674
push eax
call ebx
push 0
call fcn.0040bbc3
mov byte [esp + 0x4e0], al
pop ecx
lea eax, [esp + 0x45c]
push eax
push dword [0x4178a4]
call ebx
mov eax, dword [0x417898]
mov eax, dword [esi + eax]
cmp byte [eax + 0x104], 0
lea ecx, [eax + 0x104]
je 0x408602
push ecx
jmp 0x408603
push eax
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x4178a4]
call fcn.0040984e
cmp dword [0x41780c], edi
pop ecx
mov eax, str.Automatic
je 0x40862d
mov eax, str.Custom
push eax
lea eax, [esp + 0x5c]
push eax
call ebx
mov eax, dword [0x417898]
mov ebp, dword [esi + eax]
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
add edi, ebp
cmp edi, ebp
jbe 0x408690
mov bl, byte [edi]
cmp bl, 0x20
je 0x408657
test bl, bl
jne 0x408671
and byte [edi], 0
mov eax, dword [0x417898]
push 0
push dword [esi + eax]
call fcn.0040b1ca
pop ecx
test eax, eax
pop ecx
je 0x40867e
mov byte [edi], bl
mov eax, dword [0x417898]
dec edi
cmp edi, dword [esi + eax]
ja 0x40864c
jmp 0x408690
cmp bl, 0x20
jne 0x408690
inc edi
lea eax, [esp + 0x58]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x58]
push eax
mov eax, dword [0x417898]
push dword [esi + eax]
call fcn.0040c4c9
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov bp, word [esp + 0x18]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, dword [0x417be4]
mov dword [esp + 0x14], ecx
jl 0x408551
jmp 0x4086cb
mov bp, word [esp + 0x10]
xor esi, esi
cmp dword [0x4178c0], esi
je 0x40872d
cmp dword [0x4177fc], esi
jle 0x40872d
cmp dword [0x417874], 0
jne 0x40872d
mov eax, dword [0x4177e4]
mov eax, dword [eax + esi*4]
cmp word [eax + 0x208], bp
jb 0x408724
add eax, 0x104
push 0
push eax
call fcn.0040b1ca
pop ecx
test eax, eax
pop ecx
jne 0x408724
mov eax, dword [0x4177e4]
push 1
mov eax, dword [eax + esi*4]
lea ecx, [eax + 0x104]
push ecx
push eax
call fcn.0040a50d
add esp, 0xc
inc esi
cmp esi, dword [0x4177fc]
jl 0x4086dd
xor esi, esi
cmp dword [0x417bc0], esi
jle 0x4087d2
cmp dword [0x417874], 0
jne 0x4087d2
cmp dword [0x41780c], 0x3e8
je 0x408765
mov eax, dword [0x417cd8]
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x104], 0
je 0x4087bf
mov eax, dword [0x417cd8]
mov eax, dword [eax + esi*4]
cmp word [eax + 0x108], bp
jb 0x4087bf
lea eax, [esp + 0x49c]
push eax
push dword [0x4178a4]
call ebx
mov eax, dword [0x417cd8]
push dword [eax + esi*4]
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x4178a4]
call fcn.0040984e
mov eax, dword [0x417cd8]
push dword [eax + esi*4]
call fcn.0040b520
push 0xdac
call fcn.00409954
add esp, 0xc
inc dword [0x417844]
inc esi
cmp esi, dword [0x417bc0]
jl 0x40873b
cmp dword [0x4178ec], 0
je 0x40882b
cmp dword [0x41780c], 0x3e8
je 0x4087f0
cmp dword [0x417818], 0
je 0x40882b
lea eax, [esp + 0x3dc]
push eax
push dword [0x4178a4]
call ebx
push dword [0x4178ec]
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x4178a4]
call fcn.0040984e
pop ecx
call fcn.0040a8f2
test eax, eax
jne 0x409843
xor edi, edi
cmp dword [0x4178c4], edi
jle 0x4088da
cmp dword [0x417874], 0
jne 0x4088da
cmp dword [0x41780c], 0x3e8
je 0x408863
mov eax, dword [0x4177e8]
mov eax, dword [eax + edi*4]
cmp dword [eax + 0x104], 0
je 0x4088c7
mov eax, dword [0x4177e8]
mov esi, edi
shl esi, 2
mov eax, dword [esi + eax]
cmp word [eax + 0x108], bp
jb 0x4088c7
lea eax, [esp + 0x25c]
push eax
push dword [0x4178a4]
call ebx
mov eax, dword [0x4177e8]
push dword [esi + eax]
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x4178a4]
call fcn.0040984e
mov eax, dword [0x4177e8]
push 0
push dword [esi + eax]
call fcn.0040af72
mov eax, dword [0x4177e8]
push dword [esi + eax]
call fcn.0040acb8
add esp, 0x10
inc dword [0x417844]
inc edi
cmp edi, dword [0x4178c4]
jl 0x408839
xor edi, edi
cmp dword [0x41786c], edi
jle 0x4089ca
cmp dword [0x417874], 0
jne 0x4089ca
cmp dword [0x41780c], 0x3e8
je 0x408916
mov eax, dword [0x4178f8]
mov eax, dword [eax + edi*4]
cmp dword [eax + 0x70c], 0
je 0x4089b7
mov eax, dword [0x4178f8]
mov esi, edi
shl esi, 2
mov eax, dword [esi + eax]
cmp word [eax + 0x710], bp
jb 0x4089b7
add eax, 8
push 0
push eax
call fcn.0040b1ca
pop ecx
test eax, eax
pop ecx
jne 0x4089b7
lea eax, [esp + 0x29c]
push eax
push dword [0x4178a4]
call ebx
mov eax, dword [0x4178f8]
mov eax, dword [esi + eax]
add eax, 8
push eax
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x4178a4]
call fcn.0040984e
mov eax, dword [0x4178f8]
cmp dword [0x4178c0], 0
pop ecx
mov eax, dword [esi + eax]
lea ecx, [eax + 0x50c]
jne 0x408992
lea ecx, [eax + 0x30c]
lea edx, [eax + 8]
push edx
mov dl, byte [ecx]
neg dl
sbb edx, edx
and edx, ecx
lea ecx, [eax + 0x20c]
push edx
add eax, 0x10c
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov bp, word [esp + 0x10]
inc dword [0x417844]
inc edi
cmp edi, dword [0x41786c]
jl 0x4088e8
xor esi, esi
cmp dword [0x417bf8], esi
jle 0x408a24
cmp dword [0x4178c0], 0
je 0x408a1b
mov eax, dword [0x4177dc]
mov eax, dword [eax + esi*4]
cmp word [eax + 0x208], bp
jb 0x408a1b
add eax, 0x104
push 0
push eax
call fcn.0040b1ca
pop ecx
test eax, eax
pop ecx
jne 0x408a1b
mov eax, dword [0x4177dc]
push 1
mov eax, dword [eax + esi*4]
lea ecx, [eax + 0x104]
push ecx
push eax
call fcn.0040a50d
add esp, 0xc
inc esi
cmp esi, dword [0x417bf8]
jl 0x4089d4
mov eax, dword [0x417bfc]
lea esi, [eax - 1]
test esi, esi
jl 0x408b48
cmp dword [0x41780c], 0x3e8
jne 0x408a64
mov eax, dword [0x417830]
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x268], 0
jne 0x408a79
cmp dword [0x4178c0], 0
je 0x408a64
lea ecx, [eax + 0x10c]
test ecx, ecx
jne 0x408a79
mov eax, dword [0x417830]
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x264], 0
je 0x408b41
cmp word [eax + 0x270], bp
jb 0x408b41
cmp word [eax + 0x276], bp
jb 0x408aa5
push dword [eax + 0x278]
add eax, 8
push 1
push eax
call fcn.0040a308
add esp, 0xc
jmp 0x408aa7
xor eax, eax
cmp eax, 1
jne 0x408add
cmp dword [0x4178c0], 0
je 0x408acf
mov eax, dword [0x417830]
mov eax, dword [eax + esi*4]
cmp word [eax + 0x272], bp
jne 0x408acf
cmp byte [eax + 0x10c], 0
jne 0x408b41
mov eax, dword [0x417830]
mov eax, dword [eax + esi*4]
and byte [eax + 8], 0
jmp 0x408b41
mov eax, dword [0x417830]
mov eax, dword [eax + esi*4]
mov cx, word [eax + 0x272]
cmp cx, word [eax + 0x270]
jne 0x408afe
cmp byte [eax + 0x10c], 0
je 0x408b07
cmp dword [0x4178c0], 0
jne 0x408b41
cmp word [eax + 0x26c], bp
jb 0x408b26
add eax, 8
push 0
push eax
lea eax, [esp + 0x3a4]
push eax
call fcn.0040a70e
add esp, 0xc
mov eax, dword [0x417830]
mov eax, dword [eax + esi*4]
cmp word [eax + 0x26e], bp
jb 0x408b41
add eax, 8
push eax
call fcn.0040b575
pop ecx
dec esi
jns 0x408a34
mov eax, dword [0x4178b8]
lea edi, [eax - 1]
test edi, edi
jl 0x408c5e
mov eax, dword [0x417c58]
mov esi, edi
shl esi, 2
mov eax, dword [esi + eax]
cmp word [eax + 0x268], bp
jb 0x408c57
mov ecx, dword [eax + 0x25c]
test ecx, ecx
jne 0x408b84
cmp dword [0x417838], ecx
je 0x408beb
cmp word [eax + 0x26e], bp
jb 0x408b9f
push dword [eax + 0x270]
push ecx
push eax
call fcn.0040a308
add esp, 0xc
jmp 0x408ba1
xor eax, eax
push 1
pop ecx
cmp eax, ecx
jne 0x408bd8
cmp dword [0x4178c0], 0
je 0x408bcb
mov eax, dword [0x417c58]
mov eax, dword [esi + eax]
cmp word [eax + 0x26a], bp
jne 0x408bcb
cmp byte [eax + 0x104], 0
jne 0x408beb
mov eax, dword [0x417c58]
mov eax, dword [esi + eax]
and byte [eax], 0
jmp 0x408beb
cmp eax, 2
jne 0x408beb
mov eax, dword [0x417c58]
mov eax, dword [esi + eax]
mov dword [eax + 0x25c], ecx
mov eax, dword [0x417c58]
mov eax, dword [esi + eax]
cmp dword [eax + 0x25c], 0
je 0x408c57
cmp byte [eax], 0
je 0x408c57
mov cx, word [eax + 0x26a]
cmp cx, word [eax + 0x268]
jne 0x408c1a
cmp byte [eax + 0x104], 0
je 0x408c23
cmp dword [0x4178c0], 0
jne 0x408c57
cmp word [eax + 0x264], bp
jb 0x408c3f
push 0
push eax
lea eax, [esp + 0x3a4]
push eax
call fcn.0040a70e
add esp, 0xc
mov eax, dword [0x417c58]
mov esi, dword [esi + eax]
cmp word [esi + 0x266], bp
jb 0x408c57
push esi
call fcn.0040b575
pop ecx
dec edi
jns 0x408b58
xor edi, edi
cmp dword [0x417bfc], edi
jle 0x408dff
cmp dword [0x417874], 0
jne 0x408dff
mov eax, dword [0x417830]
mov esi, edi
shl esi, 2
mov eax, dword [esi + eax]
cmp byte [eax + 8], 0
lea ecx, [eax + 8]
je 0x408dec
cmp dword [0x41780c], 0x3e8
jne 0x408cc3
cmp dword [eax + 0x268], 0
jne 0x408cd0
cmp dword [0x4178c0], 0
je 0x408cc3
cmp byte [eax + 0x10c], 0
je 0x408cc3
cmp word [eax + 0x272], bp
je 0x408cd0
cmp dword [eax + 0x264], 0
je 0x408dec
cmp word [eax + 0x270], bp
jb 0x408dec
cmp word [eax + 0x272], bp
jne 0x408cf4
cmp dword [0x4178c0], 0
je 0x408cf4
push 1
pop edx
jmp 0x408cf6
xor edx, edx
add eax, 0x10c
push edx
push eax
push ecx
call fcn.0040a50d
add esp, 0xc
test eax, eax
je 0x408dec
lea eax, [esp + 0x15c]
push eax
push dword [0x4178a4]
call ebx
mov eax, dword [0x417830]
mov eax, dword [esi + eax]
add eax, 8
push eax
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x4178a4]
push 0x3ef
push dword [0x4177c8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.0040a11c
push dword [0x4178a4]
call fcn.0040984e
add esp, 0xc
push dword [0x417bec]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x417830]
push dword [0x417bec]
mov eax, dword [esi + eax]
add eax, 8
push eax
call fcn.00411110
add esp, 0xc
test eax, eax
je 0x408db7
push dword [0x417c4c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x417830]
push dword [0x417c4c]
mov eax, dword [esi + eax]
add eax, 8
push eax
call fcn.00411110
add esp, 0xc
test eax, eax
jne 0x408dec
mov eax, dword [0x417830]
mov eax, dword [esi + eax]
add eax, 8
push eax
lea eax, [esp + 0x5c]
push eax
call ebx
lea eax, [esp + 0x58]
push eax
call fcn.0040bdf6
pop ecx
lea ecx, [esp + 0x58]
cmp eax, ecx
jbe 0x408de1
and byte [eax - 1], 0
lea eax, [esp + 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
inc dword [0x417844]
inc edi
cmp edi, dword [0x417bfc]
jl 0x408c6c
xor esi, esi
cmp dword [0x4178b8], esi
jle 0x408ef4
cmp dword [0x417874], 0
jne 0x408ef4
mov eax, dword [0x417c58]
mov eax, dword [eax + esi*4]
cmp byte [eax], 0
je 0x408ee1
cmp dword [eax + 0x25c], 0
jne 0x408e5b
cmp dword [0x4178c0], 0
je 0x408ee1
cmp byte [eax + 0x104], 0
je 0x408ee1
cmp word [eax + 0x26a], bp
jne 0x408ee1
cmp word [eax + 0x268], bp
jb 0x408ee1
cmp word [eax + 0x26a], bp
jne 0x408e7b
cmp dword [0x4178c0], 0
je 0x408e7b
push 1
pop ecx
jmp 0x408e7d
xor ecx, ecx
push ecx
lea ecx, [eax + 0x104]
push ecx
push eax
call fcn.0040a50d
add esp, 0xc
test eax, eax
je 0x408ee1
lea eax, [esp + 0x19c]
push eax
push dword [0x4178a4]
call ebx
mov eax, dword [0x417c58]
push dword [eax + esi*4]
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x4178a4]
push 0x3ef
push dword [0x4177c8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.0040a11c
push dword [0x4178a4]
call fcn.0040984e
add esp, 0xc
inc dword [0x417844]
inc esi
cmp esi, dword [0x4178b8]
jl 0x408e0d
xor edx, edx
cmp dword [0x4178c0], edx
je 0x409022
xor esi, esi
cmp dword [0x417bfc], edx
jle 0x408fa4
jmp 0x408f14
xor edx, edx
cmp dword [0x417874], edx
jne 0x408fa4
mov eax, dword [0x417830]
mov eax, dword [eax + esi*4]
cmp byte [eax + 8], 0
lea ecx, [eax + 8]
je 0x408f95
cmp dword [0x41780c], 0x3e8
jne 0x408f56
cmp dword [eax + 0x268], edx
jne 0x408f5e
cmp dword [0x4178c0], edx
je 0x408f56
cmp byte [eax + 0x10c], 0
jne 0x408f5e
cmp dword [eax + 0x264], edx
je 0x408f95
cmp word [eax + 0x270], bp
jb 0x408f95
cmp byte [eax + 0x10c], 0
je 0x408f95
cmp word [eax + 0x272], bp
jne 0x408f95
cmp word [eax + 0x26c], bp
jb 0x408f95
push 1
lea eax, [esp + 0x3a0]
push ecx
push eax
call fcn.0040a70e
add esp, 0xc
inc esi
cmp esi, dword [0x417bfc]
jl 0x408f12
xor edx, edx
xor esi, esi
cmp dword [0x4178b8], edx
jle 0x409022
jmp 0x408fb2
xor edx, edx
cmp dword [0x417874], edx
jne 0x409022
mov eax, dword [0x417c58]
mov eax, dword [eax + esi*4]
cmp byte [eax], 0
je 0x409017
cmp dword [eax + 0x25c], edx
jne 0x408fe0
cmp dword [0x4178c0], edx
je 0x409017
cmp byte [eax + 0x104], 0
je 0x409017
cmp word [eax + 0x268], bp
jb 0x409017
cmp byte [eax + 0x104], 0
je 0x409017
cmp word [eax + 0x26a], bp
jne 0x409017
cmp word [eax + 0x264], bp
jb 0x409017
push 1
push eax
lea eax, [esp + 0x3a4]
push eax
call fcn.0040a70e
add esp, 0xc
inc esi
cmp esi, dword [0x4178b8]
jl 0x408fb0
xor edx, edx
cmp dword [0x41780c], 0x3e8
jne 0x40904b
cmp dword [0x417874], edx
jne 0x40904b
cmp dword [0x4178c0], edx
jne 0x40904b
push dword [esp + 0xce0]
call fcn.0040acb8
pop ecx
xor ebp, ebp
cmp dword [0x417cc8], ebp
jle 0x409181
cmp dword [0x417874], 0
jne 0x409181
mov edx, dword [0x41780c]
cmp edx, 0x3e8
je 0x409089
mov eax, dword [0x417848]
mov eax, dword [eax + ebp*4]
cmp dword [eax + 0x104], 0
je 0x40916e
mov eax, dword [0x417848]
mov cx, word [esp + 0x10]
mov esi, ebp
shl esi, 2
mov eax, dword [esi + eax]
cmp word [eax + 0x10a], cx
jb 0x40916e
cmp edx, 0x3e9
je 0x4090c0
cmp word [eax + 0x108], cx
lea eax, [esp + 0x21c]
jb 0x4090c7
lea eax, [esp + 0x1dc]
push eax
push dword [0x4178a4]
call ebx
mov eax, dword [0x417848]
mov edi, dword [esi + eax]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [eax + edi - 1], 0x5c
jne 0x4090fb
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [0x417848]
mov ecx, dword [esi + ecx]
and byte [eax + ecx - 1], 0
mov eax, dword [0x417848]
push dword [esi + eax]
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x4178a4]
push 0x3ef
push dword [0x4177c8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.0040a11c
push dword [0x4178a4]
call fcn.0040984e
mov eax, dword [0x417848]
add esp, 0xc
cmp dword [0x41780c], 0x3e9
je 0x409160
mov ecx, dword [esi + eax]
mov dx, word [esp + 0x10]
cmp word [ecx + 0x108], dx
jae 0x409160
xor ecx, ecx
jmp 0x409163
push 1
pop ecx
push ecx
push dword [esi + eax]
call fcn.004099d7
pop ecx
pop ecx
inc dword [0x417844]
inc ebp
cmp ebp, dword [0x417cc8]
jl 0x409059
xor ebp, ebp
cmp dword [0x4178c0], ebp
je 0x4091ce
cmp dword [0x4178e4], ebp
jne 0x4091a2
push dword [esp + 0xce0]
call fcn.0040acb8
pop ecx
jmp 0x4091ce
push 1
push dword [esp + 0xce4]
call fcn.0040d428
mov esi, eax
pop ecx
cmp esi, 0xffffffff
pop ecx
je 0x4091ce
push dword [0x4178e4]
push esi
call fcn.0040d2e2
push esi
call fcn.0040d22f
add esp, 0xc
cmp dword [0x417c3c], ebp
jle 0x4092d5
cmp dword [0x417874], 0
jne 0x4092d5
cmp dword [0x41780c], 0x3e8
je 0x409208
mov eax, dword [0x417bc8]
mov eax, dword [eax + ebp*4]
cmp dword [eax + 0x121c], 0
je 0x4092c2
mov eax, dword [0x417bc8]
mov cx, word [esp + 0x10]
mov edi, ebp
shl edi, 2
mov eax, dword [edi + eax]
cmp word [eax + 0x1220], cx
jb 0x4092c2
lea eax, [esp + 0x31c]
push eax
push dword [0x4178a4]
call ebx
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [0x417bc8]
mov esi, eax
mov eax, dword [0x4178a4]
mov ecx, dword [edi + ecx]
add esi, eax
add ecx, 8
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 0x30
jle 0x409277
add esi, 0x2d
push 0x41465c
push esi
call ebx
push dword [0x4178a4]
call fcn.0040984e
mov eax, dword [0x417bc8]
cmp dword [0x4178c0], 0
pop ecx
mov eax, dword [edi + eax]
lea ecx, [eax + 0xa14]
jne 0x4092a0
lea ecx, [eax + 0x214]
push 0
push ecx
lea ecx, [eax + 0x108]
push ecx
lea ecx, [eax + 8]
push ecx
push dword [eax + 0x1218]
push dword [eax + 0x1214]
call fcn.0040815b
add esp, 0x18
inc dword [0x417844]
inc ebp
cmp ebp, dword [0x417c3c]
jl 0x4091da
mov eax, dword [0x417cdc]
dec eax
test eax, eax
mov dword [esp + 0x14], eax
jl 0x409510
jmp 0x4092ed
mov eax, dword [esp + 0x14]
cmp dword [0x417874], 0
jne 0x409510
cmp dword [0x41780c], 0x3e8
je 0x409320
mov ecx, dword [0x417814]
mov eax, dword [ecx + eax*4]
cmp dword [eax + 0x21c], 0
je 0x4094fa
mov eax, dword [esp + 0x14]
mov esi, eax
mov eax, dword [0x417814]
shl esi, 2
mov eax, dword [esi + eax]
mov ax, word [eax + 0x220]
cmp ax, word [esp + 0x10]
jb 0x4094fa
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x2dc]
push eax
push dword [0x4178a4]
call ebp
push dword [0x4178a4]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
mov ecx, dword [0x417814]
mov edi, eax
mov eax, dword [0x4178a4]
mov ecx, dword [esi + ecx]
add edi, eax
add ecx, 8
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push edi
call ebx
cmp eax, 0x30
jle 0x409393
add edi, 0x2d
push 0x41465c
push edi
call ebp
push dword [0x4178a4]
call fcn.0040984e
cmp dword [0x4177f0], 0
pop ecx
je 0x4094d1
push 1
pop ebx
mov eax, dword [0x417814]
lea ecx, [esp + 0x18]
push ecx
xor edi, edi
mov eax, dword [esi + eax]
push 0x1f
push edi
lea ecx, [eax + 8]
mov eax, dword [eax + 0x218]
push ecx
push dword [eax*4 + 0x414030]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4094b7
cmp ebx, edi
je 0x4093fc
mov eax, dword [0x417814]
mov eax, dword [esi + eax]
add eax, 0x10c
push eax
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push edi
push edi
push edi
lea eax, [esp + 0x28]
push edi
push eax
lea eax, [esp + 0x6c]
xor ebx, ebx
push eax
push edi
push dword [esp + 0x34]
mov dword [esp + 0x3c], 0x100
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov ebp, eax
cmp ebp, edi
je 0x40947d
push edi
push edi
push edi
lea eax, [esp + 0x28]
push edi
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x30], 0x100
push eax
push edi
push dword [esp + 0x34]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
push dword [esp + 0x18]
mov ebp, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp ebp, edi
je 0x4094fa
mov eax, dword [0x417814]
mov eax, dword [esi + eax]
lea ecx, [eax + 8]
mov eax, dword [eax + 0x218]
push ecx
push dword [eax*4 + 0x414030]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
xor edi, edi
jmp 0x409487
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp ebp, edi
je 0x4094fa
mov eax, dword [0x417814]
mov edi, dword [esi + eax]
mov eax, edi
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [eax + edi + 7]
lea ecx, [edi + 8]
cmp eax, ecx
jbe 0x4094b2
cmp byte [eax], 0x5c
je 0x4094b2
dec eax
jmp 0x4094a6
and byte [eax], 0
jmp 0x4094b9
xor ebp, ebp
test ebp, ebp
je 0x4094fa
mov eax, dword [0x417814]
mov eax, dword [esi + eax]
cmp byte [eax + 8], 0
jne 0x4093af
jmp 0x4094fa
mov eax, dword [0x417814]
mov esi, dword [esi + eax]
cmp byte [esi + 0x10c], 0
jne 0x4094fa
cmp dword [esi + 0x218], 0
jne 0x4094fa
add esi, 8
push esi
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
inc dword [0x417844]
dec dword [esp + 0x14]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jns 0x4092e9
mov eax, dword [0x417c48]
xor ecx, ecx
lea edi, [eax - 1]
cmp edi, ecx
jl 0x4095db
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp dword [0x417874], ecx
jne 0x4097b7
cmp dword [0x41780c], 0x3e8
je 0x409550
mov eax, dword [0x417910]
mov eax, dword [eax + edi*4]
cmp dword [eax + 0x104], ecx
je 0x4095ce
mov eax, dword [0x417910]
mov dx, word [esp + 0x10]
mov eax, dword [eax + edi*4]
cmp word [eax + 0x108], dx
jb 0x4095ce
lea eax, [esp + 0x41c]
push eax
push dword [0x4178a4]
call ebx
push dword [0x4178a4]
call ebp
mov ecx, dword [0x417910]
mov esi, eax
mov eax, dword [0x4178a4]
push dword [ecx + edi*4]
add esi, eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push esi
call ebp
cmp eax, 0x30
jle 0x4095aa
add esi, 0x2d
push 0x41465c
push esi
call ebx
push dword [0x4178a4]
call fcn.0040984e
mov eax, dword [0x417910]
mov eax, dword [eax + edi*4]
push dword [eax + 0x100]
push eax
call fcn.0040aaf9
add esp, 0xc
xor ecx, ecx
inc dword [0x417844]
dec edi
jns 0x409528
cmp dword [0x417874], ecx
jne 0x4097b7
push 1
xor esi, esi
cmp dword [0x417810], ecx
pop edi
jle 0x4096c3
cmp dword [0x417874], ecx
jne 0x40969b
cmp dword [0x41780c], 0x3e8
je 0x409620
mov eax, dword [0x417884]
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x300], ecx
je 0x409688
mov eax, dword [0x417884]
mov dx, word [esp + 0x10]
mov eax, dword [eax + esi*4]
cmp word [eax + 0x304], dx
je 0x40963e
cmp dword [0x4178c0], ecx
jne 0x409688
cmp edi, ecx
je 0x409649
call fcn.00409c78
xor edi, edi
lea eax, [esp + 0x35c]
push eax
push dword [0x4178a4]
call ebx
mov eax, dword [0x417884]
mov eax, dword [eax + esi*4]
add eax, 0x100
push eax
push dword [0x4178a4]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x4178a4]
call fcn.0040984e
push esi
call fcn.00409e45
pop ecx
pop ecx
xor ecx, ecx
inc dword [0x417844]
inc esi
cmp esi, dword [0x417810]
jl 0x4095f8
cmp edi, ecx
jne 0x4096c3
mov eax, dword [0x417878]
cmp eax, ecx
je 0x4096ae
push eax
call sub.USER32.dll_DdeDisconnect
push 0
call fcn.0040984e
pop ecx
push dword [0x417800]
call sub.USER32.dll_DdeUninitialize
xor ecx, ecx
cmp dword [0x4178d4], ecx
je 0x4097b7
cmp dword [0x41780c], 0x3e8
jne 0x4096e3
cmp dword [0x4178c0], ecx
je 0x4096fb
cmp dword [0x4178c0], ecx
je 0x4097b7
cmp dword [0x4178e4], ecx
jne 0x4097b7
cmp dword [0x4177f0], ecx
je 0x4097b7
lea eax, [esp + 0x1c]
xor esi, esi
push eax
push 0x1f
push esi
push str.SoftwareWise_SolutionsWamUser
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4097b5
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x100
push eax
lea eax, [esp + 0x4e0]
push eax
lea eax, [esp + 0x1c]
push eax
push esi
push str.Path
push dword [esp + 0x30]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4097ab
lea eax, [esp + 0x4dc]
push esi
push eax
call fcn.0040b02b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
pop ecx
pop ecx
lea eax, [esp + 0x4dc]
push str.__U__
push eax
call esi
push dword [0x4178d4]
lea eax, [esp + 0x4e0]
push eax
call esi
lea eax, [esp + 0x4dc]
push 0x414628
push eax
call esi
lea eax, [esp + 0x4dc]
push 5
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ecx, ecx
cmp dword [0x41780c], 0x3e8
jne 0x4097cb
cmp dword [0x4178c0], ecx
je 0x4097db
cmp dword [0x4178c0], ecx
je 0x409843
cmp dword [0x4178e4], ecx
jne 0x409843
push dword [esp + 0xce0]
lea eax, [esp + 0x4e0]
push eax
call ebx
lea eax, [esp + 0x4dc]
push 1
push eax
call fcn.0040b02b
lea eax, [esp + 0x4e4]
push eax
lea eax, [esp + 0x64]
push str.SoftwareWise_SolutionsWise_Installation_SystemRepair_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp byte [esp + 0x90], 0
lea eax, [esp + 0x90]
je 0x409835
cmp byte [eax], 0x5c
jne 0x40982f
mov byte [eax], 0x2f
inc eax
cmp byte [eax], 0
jne 0x409827
lea eax, [esp + 0x58]
push 2
push eax
call fcn.0040aaf9
pop ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xccc
ret