Function at 0x420452
Capabilities:
Delete file
Get common file path
Move file

Disassembly:
push 0x1fc
mov eax, 0x43b02a
call fcn.00438b26
mov dword [ebp - 0x1f0], ecx
xor eax, eax
lea ecx, [ebp - 0x128]
mov ebx, eax
mov dword [ebp - 0x1d8], ebx
call fcn.004021e6
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x1f4], eax
jmp 0x42154c
lea ecx, [ebp - 0x70]
call fcn.004021e6
xor eax, eax
mov byte [ebp - 4], 1
push eax
push 0x3d
lea ecx, [ebp - 0x128]
mov byte [ebp - 0x1d1], al
call fcn.00411e32
mov esi, eax
cmp esi, 0xffffffff
je 0x4204fc
push 0xffffffffffffffff
lea ecx, [esi + 1]
mov byte [ebp - 0x1d1], 1
push ecx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x128]
call fcn.004085ae
push eax
lea ecx, [ebp - 0x70]
call fcn.00403060
lea ecx, [ebp - 0xa0]
call fcn.00401e5c
lea ecx, [ebp - 0x70]
call fcn.004165da
push esi
lea ecx, [ebp - 0x128]
call fcn.0040b49e
lea ecx, [ebp - 0x1ec]
call fcn.00403ae6
xor esi, esi
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x1dc], esi
call fcn.004021e6
mov byte [ebp - 4], 3
jmp 0x420532
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00421e28
lea eax, [ebp - 0x170]
push eax
lea edx, [ebp - 0x1dc]
lea ecx, [ebp - 0x70]
call fcn.00416379
test al, al
jne 0x420520
mov edi, esi
push dword [edi*4 + 0x443a60]
lea ecx, [ebp - 0x40]
call fcn.00401d16
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x128]
call fcn.0040b8a0
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.00401e5c
test esi, esi
je 0x420583
inc edi
cmp edi, 0xe
jb 0x42054d
jmp case.default.0x42058c
cmp edi, 0xd
ja case.default.0x42058c
jmp dword [edi*4 + 0x42157a]
cmp dword [ebp + 8], 2
jne case.default.0x42058c
lea ecx, [ebp - 0x58]
call fcn.004021e6
lea ecx, [ebp - 0x88]
call fcn.004021e6
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.00411dad
lea eax, [ebp - 0x88]
push eax
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x58]
call fcn.00410fbb
lea ecx, [ebp - 0xc0]
call fcn.0040f8b6
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xc0]
call fcn.0040f8e4
lea ecx, [ebp - 0x1d0]
call fcn.0040a772
mov byte [ebp - 4], 7
jmp 0x4207e5
xor edx, edx
lea ecx, [ebp - 0x1d0]
call fcn.0040f391
cmp byte [ebp - 0x1ac], 0
je 0x4206d2
lea ecx, [ebp - 0x28]
call fcn.004021e6
lea edx, [ebp - 0x28]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x58]
call fcn.0041167d
lea ecx, [ebp - 0x28]
call fcn.00410f98
lea ecx, [ebp - 0x58]
call fcn.00401891
mov edx, eax
cmp edx, 4
jb 0x420657
lea ecx, [ebp - 0x28]
call fcn.00401891
cmp edx, eax
ja 0x420667
lea ecx, [ebp - 0x70]
call fcn.00410f0b
test al, al
jne 0x420802
push 0
lea ecx, [ebp - 0x1d0]
call fcn.004085d4
xor eax, eax
mov dword [ebp - 0x10c], 3
push 0x14
mov dword [ebp - 0x110], eax
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xfe], eax
mov dword [ebp - 0xfa], eax
mov dword [ebp - 0xf6], eax
pop eax
mov word [ebp - 0x100], ax
call fcn.0040126f
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.00401e5c
lea ecx, [ebp - 0x1d0]
call fcn.0040f335
cmp eax, 0xffffffff
je 0x4207e5
lea ecx, [ebp - 0x1d0]
call fcn.0040f5d1
test al, al
jne 0x4207e5
lea ecx, [ebp - 0x28]
call fcn.004021e6
mov byte [ebp - 4], 9
xor edi, edi
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.004062f3
mov esi, eax
push 0x442944
lea edx, [ebp - 0x1d0]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xf0]
call fcn.00412076
push esi
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x158]
call fcn.0040db1b
push str..tmp
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xa0]
call fcn.0040138d
push eax
lea ecx, [ebp - 0x28]
call fcn.00403060
lea ecx, [ebp - 0xa0]
call fcn.00401e5c
lea ecx, [ebp - 0x158]
call fcn.00401e5c
lea ecx, [ebp - 0xf0]
call fcn.00401e5c
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 9
call fcn.00401e5c
lea ecx, [ebp - 0x28]
call fcn.0040f335
cmp eax, 0xffffffff
je 0x4207a5
inc edi
cmp edi, 0x3e8
jb 0x420707
lea ecx, [ebp - 0x28]
call fcn.0040126f
lea ecx, [ebp - 0x1d0]
mov edx, eax
call fcn.0040126f
push edx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x4207d9
push 4
push 0
lea ecx, [ebp - 0x28]
call fcn.0040126f
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.00401e5c
push ecx
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0xc0]
call fcn.0040f8f8
test al, al
jne 0x420603
jmp 0x42080a
lea ecx, [ebp - 0x28]
call fcn.00401e5c
lea ecx, [ebp - 0x1d0]
call fcn.0040a796
lea ecx, [ebp - 0xc0]
call fcn.0040f8ca
lea ecx, [ebp - 0x88]
call fcn.00401e5c
lea ecx, [ebp - 0x58]
call fcn.00401e5c
jmp case.default.0x42058c
cmp dword [ebp + 8], 0
jne case.default.0x42058c
mov edi, 0x44aeb0
mov ecx, edi
call fcn.00405d1e
test al, al
jne 0x42085c
push str._br_
call fcn.004085e6
cmp byte [ebp - 0x1d1], 0
je 0x42087d
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x158]
call fcn.00408d05
mov byte [ebp - 4], 0xd
or ebx, 1
jmp 0x420899
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00421a70
mov dword [ebp - 4], 0xe
or ebx, 2
push eax
mov ecx, edi
mov dword [ebp - 0x1d8], ebx
call fcn.00401274
test bl, 2
je 0x4208c0
and ebx, 0xfffffffd
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x1d8], ebx
call fcn.00401e5c
mov dword [ebp - 4], 3
test bl, 1
je case.default.0x42058c
and ebx, 0xfffffffe
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x1d8], ebx
jmp 0x42082e
cmp dword [ebp + 8], 0
jne case.default.0x42058c
mov ecx, dword [ebp - 0x1f0]
lea edx, [ebp - 0x70]
call fcn.004022aa
jmp case.default.0x42058c
cmp dword [ebp + 8], 0
jne case.default.0x42058c
mov ecx, 0x44a9c0
call fcn.00405d1e
test al, al
je case.default.0x42058c
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x28]
call fcn.00408d05
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xf
call fcn.00401891
mov esi, eax
xor edi, edi
cmp esi, 2
jbe 0x420985
push edi
call fcn.00402374
push 0x22
pop ecx
cmp word [eax], cx
jne 0x420985
lea ecx, [ebp - 0x28]
call fcn.00411e4e
push 0x22
pop ecx
cmp word [eax], cx
jne 0x420985
lea eax, [esi - 2]
push eax
push 1
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x28]
call fcn.004085ae
push eax
lea ecx, [ebp - 0x28]
call fcn.00403060
lea ecx, [ebp - 0xa0]
call fcn.00401e5c
push edi
lea ecx, [ebp - 0x28]
call fcn.00402374
movzx eax, word [eax]
cmp eax, 0x2e
jne 0x4209d3
push 1
lea ecx, [ebp - 0x28]
call fcn.00402374
push 0x5c
pop ecx
cmp word [eax], cx
jne 0x4209df
push 2
lea ecx, [ebp - 0x28]
call fcn.00402374
xor ecx, ecx
cmp word [eax], cx
jne 0x4209c1
lea ecx, [ebp - 0x28]
jmp 0x42082e
push 2
push ecx
lea ecx, [ebp - 0x28]
call fcn.0040b47f
xor edi, edi
jmp 0x420aaf
push 0x5c
pop ecx
cmp ax, cx
je 0x420aaf
lea ecx, [ebp - 0x28]
call fcn.00410f4f
test al, al
jne 0x420aaf
lea ecx, [ebp - 0x58]
call fcn.004021e6
push 0x4422dc
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x10
call fcn.00401d16
push str.ProgramFilesDir
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x11
call fcn.00401d16
push str.SoftwareMicrosoftWindowsCurrentVersion
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x12
call fcn.00401d16
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x58]
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
push eax
lea eax, [ebp - 0xb8]
push eax
lea edx, [ebp - 0x40]
call fcn.0041e028
lea ecx, [ebp - 0x40]
call fcn.00401e5c
lea ecx, [ebp - 0xb8]
call fcn.00401e5c
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x10
call fcn.00401e5c
lea ecx, [ebp - 0x58]
call fcn.00410f98
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0xa0]
call fcn.004120d5
push eax
lea ecx, [ebp - 0x28]
call fcn.00403060
lea ecx, [ebp - 0xa0]
call fcn.00401e5c
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xf
call fcn.00401e5c
lea eax, [ebp - 0x28]
mov ecx, 0x44a9c0
push eax
call fcn.0040335d
lea ecx, [ebp - 0x28]
call fcn.00421cfe
push 0x66
push dword [ebp - 0x1f0]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea edx, [ebp - 0x28]
mov ecx, esi
call fcn.004022aa
mov ecx, 0x44a9c0
call fcn.0040126f
push eax
push edi
push 0x143
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
lea edx, [ebp - 0x28]
mov ecx, 0x44a9c0
call fcn.0040da8f
test al, al
jne 0x4209b9
lea ecx, [ebp - 0x28]
call fcn.0040126f
push eax
push edi
push 0x143
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4209b9
cmp dword [0x44a9b8], 1
je case.default.0x42058c
xor eax, eax
lea ecx, [ebp - 0x70]
push eax
call fcn.00402374
movzx edx, word [eax]
mov ecx, edx
call fcn.00416103
test al, al
je 0x420b5a
lea eax, [edx - 0x30]
mov dword [0x44a9b8], eax
jmp case.default.0x42058c
mov dword [0x44a9b8], 2
jmp case.default.0x42058c
xor edx, edx
lea ecx, [ebp - 0x70]
push edx
call fcn.00402374
movzx eax, word [eax]
sub eax, edx
je 0x420ba8
sub eax, 0x30
je 0x420b97
sub eax, 1
je 0x420ba8
sub eax, 1
jne case.default.0x42058c
mov byte [0x44a7ec], 1
jmp 0x420b9d
mov byte [0x44a7ec], dl
mov byte [0x44a7ed], dl
jmp case.default.0x42058c
mov byte [0x44a7ec], dl
mov byte [0x44a7ed], 1
jmp case.default.0x42058c
xor eax, eax
lea ecx, [ebp - 0x70]
push eax
call fcn.00402374
movzx eax, word [eax]
push eax
call fcn.0042d093
pop ecx
cmp eax, 0x46
je 0x420bf6
cmp eax, 0x55
je 0x420bea
xor eax, eax
mov byte [0x44a7eb], al
mov byte [0x44a7ea], al
jmp case.default.0x42058c
mov byte [0x44a7ea], 1
jmp case.default.0x42058c
mov byte [0x44a7eb], 1
jmp case.default.0x42058c
lea eax, [ebp - 0x70]
mov byte [0x44a971], 1
push eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x1dc], 1
call fcn.00408d05
push 0x14
pop eax
xor edx, edx
mov byte [ebp - 4], al
push edx
lea ecx, [ebp - 0x70]
mov esi, edi
call fcn.00402374
cmp word [eax], 0x3c
jne 0x420d81
push 1
push 0x3e
lea ecx, [ebp - 0x70]
call fcn.00411e32
mov dword [ebp - 0x1f8], eax
cmp eax, 0xffffffff
je 0x420d7f
lea ecx, [eax + 1]
push ecx
lea ecx, [ebp - 0x70]
call fcn.00402374
push eax
lea ecx, [ebp - 0x58]
call fcn.00401279
mov eax, dword [ebp - 0x1f8]
push ecx
dec eax
lea ecx, [ebp - 0x88]
push eax
push 1
lea eax, [ebp - 0x70]
push eax
call fcn.0040862c
xor eax, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x1f8], eax
call fcn.004021e6
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x16
push eax
lea edx, [ebp - 0x1f8]
lea ecx, [ebp - 0x88]
call fcn.00416379
test al, al
je 0x420d66
mov dword [ebp - 0x1fc], edi
mov edi, dword [ebp - 0x1dc]
push str.HIDE
lea ecx, [ebp - 0x40]
call fcn.00401d16
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x28]
call fcn.0040b8a0
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.00401e5c
neg esi
lea ecx, [ebp - 0x40]
push 0x4439d0
sbb esi, esi
and edi, esi
call fcn.00401d16
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x28]
call fcn.0040b8a0
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.00401e5c
test esi, esi
jne 0x420d14
push 3
pop edi
push 0x4439d8
lea ecx, [ebp - 0x40]
call fcn.00401d16
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x28]
call fcn.0040b8a0
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.00401e5c
test esi, esi
jne 0x420d3d
push 6
pop edi
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x1f8]
lea ecx, [ebp - 0x88]
call fcn.00416379
test al, al
jne 0x420cc3
mov esi, dword [ebp - 0x1fc]
mov dword [ebp - 0x1dc], edi
lea ecx, [ebp - 0x28]
call fcn.00401e5c
push 0x14
pop eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], al
call fcn.00401e5c
xor edx, edx
cmp dword [ebp + 8], 5
jne 0x420d94
cmp esi, 9
jne 0x42082b
push 1
jmp 0x420da8
cmp dword [ebp + 8], 4
jne 0x42082b
cmp esi, 6
jne 0x42082b
push edx
sub esp, 0x18
lea eax, [ebp - 0x58]
mov ecx, esp
push eax
call fcn.00408d05
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1f0]
call fcn.00421666
jmp 0x42082b
lea ecx, [ebp - 0x70]
mov byte [0x44a972], 1
call fcn.00405d1e
test al, al
jne case.default.0x42058c
call fcn.00418a5f
mov dword [0x449bf4], eax
jmp case.default.0x42058c
cmp dword [ebp + 8], 1
jne 0x42110e
push ecx
push 0x105
lea ecx, [ebp - 0x208]
call fcn.00401a88
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x17
call fcn.0040188a
lea ecx, [ebp - 0x208]
mov edx, eax
call fcn.00401895
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [ebp - 0x208]
call fcn.0040188a
push eax
lea ecx, [ebp - 0x88]
call fcn.00401d16
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x18
call fcn.00410f98
xor eax, eax
lea ecx, [ebp - 0xb8]
xor edx, edx
mov edi, eax
call fcn.004062f3
mov esi, eax
push 0x4436cc
lea edx, [ebp - 0x88]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xd8]
call fcn.00412076
jmp 0x420eb0
inc edi
lea ecx, [ebp - 0xb8]
mov edx, edi
call fcn.004062f3
mov esi, eax
push 0x4436cc
lea edx, [ebp - 0x88]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xd8]
call fcn.00412076
push esi
mov edx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x140]
call fcn.0040db1b
mov esi, 0x44a99c
push eax
mov ecx, esi
call fcn.00403060
lea ecx, [ebp - 0x140]
call fcn.00401e5c
lea ecx, [ebp - 0xd8]
call fcn.00401e5c
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x18
call fcn.00401e5c
mov ecx, esi
call fcn.0040f304
test al, al
jne 0x420e86
push esi
mov esi, dword [ebp - 0x1f0]
mov ecx, esi
push 0x66
pop edx
call fcn.00402336
lea ecx, [ebp - 0x28]
call fcn.004021e6
lea ecx, [ebp - 0x58]
call fcn.004021e6
xor eax, eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 0x1dd], al
mov edi, eax
call fcn.00421e1c
test eax, eax
je 0x420fe8
mov bl, byte [ebp - 0x1dd]
mov bh, bl
push str._set:user
lea ecx, [ebp - 0x40]
call fcn.00401d16
push 9
push edi
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
lea edx, [ebp - 0x40]
mov ecx, eax
call fcn.00422376
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.00401e5c
test esi, esi
jne 0x420f85
mov byte [0x44a9b4], 1
jmp 0x420fc8
test bl, bl
jne 0x420fa2
push edi
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
push eax
lea ecx, [ebp - 0x28]
call fcn.0040335d
inc bl
jmp 0x420fc8
test bh, bh
jne 0x420fc8
push edi
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
push eax
lea ecx, [ebp - 0x58]
call fcn.0040335d
mov byte [ebp - 0x1d1], 1
mov bh, byte [ebp - 0x1d1]
lea ecx, [ebp - 0x1ec]
inc edi
call fcn.00421e1c
cmp edi, eax
jb 0x420f49
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1f0]
lea ecx, [ebp - 0x28]
call fcn.0041dcca
lea ecx, [ebp - 0x28]
call fcn.00401891
mov ecx, 0x800
cmp eax, ecx
jb 0x42100a
push ecx
lea ecx, [ebp - 0x28]
call fcn.0040b49e
cmp byte [0x44a803], 0
jne 0x421087
lea ecx, [ebp - 0x28]
call fcn.00405d1e
test al, al
je 0x42102b
lea ecx, [ebp - 0x58]
call fcn.00405d1e
test al, al
jne 0x421087
lea ecx, [ebp - 0x58]
call fcn.0040126f
push eax
lea ecx, [ebp - 0xb8]
call fcn.00401d16
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x28]
or ebx, 4
mov dword [ebp - 0x1d8], ebx
call fcn.0040126f
push eax
lea ecx, [ebp - 0x40]
call fcn.00401d16
push 0x24
lea eax, [ebp - 0xb8]
or ebx, 8
push eax
lea edx, [ebp - 0x40]
mov dword [ebp - 0x1d8], ebx
mov ecx, esi
call fcn.0041d3ce
cmp eax, 6
je 0x421087
mov byte [ebp - 0x1d1], 1
jmp 0x42108f
xor eax, eax
mov byte [ebp - 0x1d1], al
test bl, 8
je 0x4210a5
and ebx, 0xfffffff7
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x1d8], ebx
call fcn.00401e5c
mov dword [ebp - 4], 0x1c
test bl, 4
je 0x4210c5
and ebx, 0xfffffffb
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x1d8], ebx
call fcn.00401e5c
cmp byte [ebp - 0x1d1], 0
je 0x4210e8
mov ecx, 0x44a99c
call fcn.0040669a
push 1
push esi
mov byte [0x44a7ef], 1
call dword [sym.imp.USER32.dll_EndDialog]
lea ecx, [ebp - 0x58]
call fcn.00401e5c
lea ecx, [ebp - 0x28]
call fcn.00401e5c
lea ecx, [ebp - 0x88]
call fcn.00401e5c
lea ecx, [ebp - 0x208]
call fcn.0040189d
cmp dword [ebp + 8], 7
jne case.default.0x42058c
cmp dword [0x44a9b8], 0
jne 0x42112b
mov dword [0x44a9b8], 2
mov byte [0x44a998], 1
jmp case.default.0x42058c
cmp dword [ebp + 8], 3
jne case.default.0x42058c
lea eax, [ebp - 0x70]
mov ecx, 0x44aef0
push eax
call fcn.0040335d
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00421a70
push eax
mov ecx, 0x44aed0
call fcn.00403060
lea ecx, [ebp - 0xa0]
jmp 0x42082e
cmp dword [ebp + 8], 6
jne case.default.0x42058c
lea ecx, [ebp - 0x1ec]
call fcn.00421e1c
cmp eax, 2
jb case.default.0x42058c
lea ecx, [ebp - 0x28]
call fcn.004021e6
xor edx, edx
mov byte [ebp - 4], 0x1e
push edx
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
push edx
mov ecx, eax
call fcn.00402374
movzx eax, word [eax]
push eax
call fcn.0042d093
pop ecx
cmp eax, 0x50
je 0x4211dd
cmp eax, 0x54
je 0x4211d4
push 0x10
mov eax, 0x44aa58
jmp 0x4211e4
push 7
mov eax, 0x44aa28
jmp 0x4211e4
push 2
mov eax, 0x44aa40
pop esi
push eax
lea ecx, [ebp - 0x28]
call fcn.0040335d
lea ecx, [ebp - 0x88]
call fcn.004021e6
lea ecx, [ebp - 0x40]
call fcn.004021e6
lea ecx, [ebp - 0x58]
call fcn.004021e6
push 1
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0x21
call fcn.00421e12
push eax
lea ecx, [ebp - 0x140]
call fcn.00408d05
push 0x22
pop eax
lea edx, [ebp - 0x58]
mov byte [ebp - 4], al
lea ecx, [ebp - 0x140]
call fcn.0041d680
lea ecx, [ebp - 0x1ec]
call fcn.00421e1c
cmp eax, 6
jb 0x421279
push 5
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
mov ecx, eax
call fcn.00405d1e
test al, al
jne 0x421279
push 5
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
lea edx, [ebp - 0x40]
mov ecx, eax
call fcn.00411490
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x140]
call fcn.00411490
lea ecx, [ebp - 0x28]
call fcn.00405d1e
test al, al
je 0x42129d
mov edx, esi
call fcn.0041e12d
lea ecx, [ebp - 0x28]
call fcn.00410f98
lea ecx, [ebp - 0x1ec]
call fcn.00421e1c
cmp eax, 3
jb 0x4212eb
push 2
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
mov ecx, eax
call fcn.00405d1e
test al, al
jne 0x4212eb
push 2
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
push eax
lea ecx, [ebp - 0x28]
call fcn.00401274
lea ecx, [ebp - 0x28]
call fcn.00410f98
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00408d05
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0x23
call fcn.00421e1c
cmp eax, 5
jb 0x42132b
push 4
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
mov ecx, eax
call fcn.00405d1e
test al, al
jne 0x42132b
push 4
pop eax
jmp 0x42132e
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
push eax
lea ecx, [ebp - 0xa0]
call fcn.00408d05
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xf0]
call fcn.00410bce
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x25
call fcn.00401274
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x24
call fcn.00401e5c
push 0x4439f4
lea ecx, [ebp - 0xf0]
call fcn.00401d16
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0x28]
call fcn.00410ecb
lea ecx, [ebp - 0xf0]
mov bl, al
call fcn.00401e5c
test bl, bl
jne 0x4213b3
push str..lnk
lea ecx, [ebp - 0x28]
call fcn.004085e6
push ecx
mov dl, 1
lea ecx, [ebp - 0x28]
call fcn.0040f0bc
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00408d05
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x26
call fcn.0041101e
lea ecx, [ebp - 0x1ec]
call fcn.00421e1c
cmp eax, 4
jb 0x421413
push 3
lea ecx, [ebp - 0x1ec]
call fcn.00421e12
push eax
lea ecx, [ebp - 0x10c]
call fcn.00408d05
mov ebx, dword [ebp - 0x1d8]
or ebx, 0x10
jmp 0x42142c
push 0x4422dc
lea ecx, [ebp - 0xf0]
call fcn.00401d16
mov ebx, dword [ebp - 0x1d8]
or ebx, 0x20
push eax
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x1d8], ebx
call fcn.00401743
mov dword [ebp - 4], 0x28
test bl, 0x20
je 0x42145e
and ebx, 0xffffffdf
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x1d8], ebx
call fcn.00401e5c
mov byte [ebp - 4], 0x29
test bl, 0x10
je 0x42147b
and ebx, 0xffffffef
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x1d8], ebx
call fcn.00401e5c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x88]
call fcn.0041cd8c
lea ecx, [ebp - 0xd8]
call fcn.00405d1e
test al, al
jne 0x4214c5
xor eax, eax
push eax
call fcn.0040126f
push eax
push 5
push 0x1000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
lea ecx, [ebp - 0x158]
call fcn.00401e5c
lea ecx, [ebp - 0xb8]
call fcn.00401e5c
lea ecx, [ebp - 0xa0]
call fcn.00401e5c
lea ecx, [ebp - 0xd8]
call fcn.00401e5c
lea ecx, [ebp - 0x140]
call fcn.00401e5c
lea ecx, [ebp - 0x58]
call fcn.00401e5c
lea ecx, [ebp - 0x40]
call fcn.00401e5c
lea ecx, [ebp - 0x88]
call fcn.00401e5c
jmp 0x4209b9
cmp dword [ebp + 8], 7
jne case.default.0x42058c
mov byte [0x44a9bc], 1
lea ecx, [ebp - 0x170]
call fcn.00401e5c
lea ecx, [ebp - 0x1ec]
call fcn.00421e43
xor eax, eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], al
call fcn.00401e5c
lea eax, [ebp - 0x128]
push eax
lea edx, [ebp - 0x1f4]
call fcn.004215b2
test al, al
jne 0x42048c
lea ecx, [ebp - 0x128]
call fcn.00401e5c
call fcn.00438ad5
ret 4