Function at 0x41a4c0
Capabilities:
Delete file
Move file

Disassembly:
push 0xffffffffffffffff
push 0x52390d
mov eax, dword fs:[0]
push eax
sub esp, 0xb8c
mov eax, dword [0x589560]
xor eax, esp
mov dword [esp + 0xb88], eax
push ebx
push esi
mov eax, dword [0x589560]
xor eax, esp
push eax
lea eax, [esp + 0xb98]
mov dword fs:[0], eax
xor ebx, ebx
mov byte [esp + 0x10], bl
mov dword [esp + 0xc], ebx
lea ecx, [esp + 0x8c]
mov dword [esp + 0xba0], ebx
call fcn.0046a650
cmp dword [esp + 0x1ac], ebx
je 0x41a526
mov dword [esp + 0x1ac], ebx
mov ecx, 1
lea esi, [esp + 0x94]
mov dword [esp + 0x90], ebx
call fcn.0046b260
cmp byte [esp + 0x1a8], bl
lea eax, [esp + 0x98]
jne 0x41a555
mov eax, dword [esp + 0x94]
mov word [eax + 4], bx
push 0x54
lea eax, [esp + 0x3c]
push ebx
push eax
mov byte [esp + 0xbac], 1
call fcn.005002f0
mov edx, dword [edi]
mov eax, dword [edx + 0x14]
add esp, 0xc
mov ecx, edi
mov dword [esp + 0x34], 0x58
call eax
mov ecx, 0x209
lea esi, [esp + 0x94]
mov dword [esp + 0x38], eax
mov dword [esp + 0x1ac], ecx
call fcn.0046b260
cmp byte [esp + 0x1a8], bl
lea eax, [esp + 0x98]
jne 0x41a5b5
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x34]
add eax, 4
push ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0x208
mov dword [esp + 0x44], 0x5515a8
mov dword [esp + 0x50], 1
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], 0x1800
call dword [sym.imp.comdlg32.dll_GetOpenFileNameW]
test eax, eax
jne 0x41a67d
cmp dword [esp + 0x1ac], ebx
je 0x41a60b
mov dword [esp + 0x1ac], ebx
mov ecx, 1
lea esi, [esp + 0x94]
mov dword [esp + 0x90], ebx
call fcn.0046b260
cmp byte [esp + 0x1a8], bl
lea eax, [esp + 0x98]
jne 0x41a63a
mov eax, dword [esp + 0x94]
mov word [eax + 4], bx
cmp byte [esp + 0x1a8], bl
mov dword [esp + 0x8c], vtable.t_str.0
jne 0x41a66d
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
cmp eax, edx
je 0x41a66d
push eax
call fcn.004fdda1
add esp, 4
lea ecx, [esp + 0xc]
call fcn.004707c0
mov al, 1
jmp 0x41ab59
lea ecx, [esp + 0x8c]
call fcn.0046e040
cmp byte [esp + 0x1a8], bl
lea eax, [esp + 0x98]
jne 0x41a6a0
mov eax, dword [esp + 0x94]
add eax, 4
push eax
push 0x551604
lea eax, [esp + 0x78c]
push 0x208
push eax
call fcn.004fe127
mov edx, dword [edi]
mov eax, dword [edx + 0x14]
add esp, 0x10
mov ecx, edi
call eax
mov ecx, 0x55160c
lea esi, [esp + 0x1b4]
call fcn.0040b440
mov byte [esp + 0xba0], 2
mov ecx, dword [edi + 0x6c]
mov eax, dword [ecx]
push ebx
lea edx, [esp + 0x788]
push edx
mov edx, dword [eax + 0x10]
call edx
push eax
mov edx, str.ScdMaker.exe
mov ecx, esi
call fcn.0040b500
test al, al
jne 0x41a735
lea ecx, [esp + 0xc]
call fcn.00470820
push 0x551638
push 0x551604
push eax
call fcn.0046adf0
mov byte [esp + 0xbac], 1
mov eax, dword [esp + 0x1f8]
add esp, 0xc
push eax
jmp 0x41ab02
mov eax, dword [esp + 0x1f4]
cmp eax, 0xffffff9c
je 0x41aad6
cmp eax, 0xffffffff
je 0x41aa7f
mov byte [esp + 0xba0], 1
mov edx, dword [esp + 0x1ec]
push edx
mov dword [esp + method.t_wndProcWatch.virtual_0], vtable.t_wndProcWatch.0
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1b4]
call fcn.00459340
lea ecx, [esp + 0x40c]
call fcn.0046a650
lea eax, [esp + 0x40c]
lea ecx, [esp + 0x8c]
mov byte [esp + 0xba0], 3
call fcn.0046f720
test al, al
jne 0x41a7e5
lea ecx, [esp + 0x8c]
call fcn.0046adb0
push eax
push 0x551698
lea ecx, [esp + 0x14]
call fcn.00401000
mov ecx, eax
call fcn.00471770
lea ecx, [esp + 0x40c]
call fcn.0046dfd0
lea ecx, [esp + 0x8c]
call fcn.0046dfd0
jmp 0x41ab4e
mov ecx, dword [edi + 0x6c]
push ebx
push str..scel
lea eax, [esp + 0x414]
call fcn.0046add0
push eax
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push 0x5516b8
push 0x550d3c
call edx
push eax
lea ecx, [esp + 0x54c]
call fcn.0046dd20
lea ecx, [esp + 0x534]
mov byte [esp + 0xba0], 4
call fcn.0046adb0
push eax
push str._add___s_
lea eax, [esp + 0x78c]
push 0x208
push eax
call fcn.004fe127
mov edx, dword [edi]
mov eax, dword [edx + 0x14]
add esp, 0x10
mov ecx, edi
call eax
mov ecx, 0x5516d4
lea esi, [esp + 0x1b4]
call fcn.0040b440
mov byte [esp + 0xba0], 5
mov ecx, dword [edi + 0x6c]
mov eax, dword [ecx]
push ebx
lea edx, [esp + 0x788]
push edx
mov edx, dword [eax + 0x10]
call edx
push eax
mov edx, str.ScdReg.exe
mov ecx, esi
call fcn.0040b500
test al, al
jne 0x41a8c1
push 0x551638
lea ecx, [esp + 0x10]
call fcn.00401000
lea esi, [esp + 0x1b4]
mov byte [esp + 0xba0], 4
call fcn.0040b4e0
lea ecx, [esp + 0x534]
call fcn.0046dfd0
jmp 0x41a7c8
mov ecx, dword [edi + 0x6c]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
push ebx
push ebx
push 0x5516b8
push 0x550d3c
call edx
push eax
lea ecx, [esp + 0x674]
call fcn.0046dd20
lea ecx, [esp + 0x65c]
mov byte [esp + 0xba0], 6
call fcn.0046ed30
test al, al
jne 0x41a919
push 0x5516e4
lea ecx, [esp + 0x10]
call fcn.00401000
lea ecx, [esp + 0x65c]
call fcn.0046dfd0
jmp 0x41a89c
lea ecx, [esp + 0x65c]
mov byte [esp + 0xba0], 5
call fcn.0046dfd0
mov eax, dword [esp + 0x1f4]
cmp eax, 0xffffff9c
je 0x41aa75
cmp eax, 0xffffffff
je 0x41aa6b
lea esi, [esp + 0x1b4]
mov byte [esp + 0xba0], 4
call fcn.0040b4e0
lea ecx, [esp + 0x534]
call fcn.0046dfd0
lea ecx, [esp + 0x40c]
mov byte [esp + 0xba0], 1
call fcn.0046dfd0
mov ecx, dword [edi + 0x6c]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
push ebx
push ebx
push str.temp
push 0x550d3c
call edx
push eax
lea ecx, [esp + 0x674]
call fcn.0046dd20
xor eax, eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x65c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov word [esp + 0x30], ax
mov dword [esp + 0x14], ebx
call fcn.0046adb0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], 3
mov word [esp + 0x28], 0x414
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov ecx, dword [edi + 0x34]
push ebx
push ebx
push 0xbd5
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x65c]
call fcn.0046dfd0
mov ecx, dword [edi + 0x6c]
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
push eax
mov eax, 0x5bb298
call fcn.0047c9a0
mov esi, eax
mov ecx, esi
shr ecx, 0x10
mov dword [0x5aa9e8], ecx
mov ecx, dword [edi + 0x1e0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
movzx esi, si
mov eax, edi
call fcn.0041b300
lea ecx, [esp + 0x8c]
call fcn.0046dfd0
lea ecx, [esp + 0xc]
call fcn.004707c0
mov al, 1
jmp 0x41ab59
push 0x551708
jmp 0x41a893
push 0x551728
jmp 0x41a893
lea ecx, [esp + 0xc]
call fcn.00470820
push 0x551658
push 0x551604
push eax
call fcn.0046adf0
mov byte [esp + 0xbac], 1
mov ecx, dword [esp + 0x1f8]
add esp, 0xc
push ecx
mov dword [esp + method.t_wndProcWatch.virtual_0], vtable.t_wndProcWatch.0
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1b4]
call fcn.00459340
lea ecx, [esp + 0x8c]
call fcn.0046dfd0
jmp 0x41ab4e
lea ecx, [esp + 0xc]
call fcn.00470820
push 0x551678
push 0x551604
push eax
call fcn.0046adf0
mov byte [esp + 0xbac], 1
mov edx, dword [esp + 0x1f8]
add esp, 0xc
push edx
mov dword [esp + method.t_wndProcWatch.virtual_0], vtable.t_wndProcWatch.0
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1b4]
call fcn.00459340
cmp byte [esp + 0x1a8], bl
mov dword [esp + 0x8c], vtable.t_str.0
jne 0x41ab4e
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
cmp eax, ecx
je 0x41ab4e
push eax
call fcn.004fdda1
add esp, 4
lea ecx, [esp + 0xc]
call fcn.004707c0
xor al, al
mov ecx, dword [esp + 0xb98]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [esp + 0xb88]
xor ecx, esp
call fcn.004fe05a
add esp, 0xb98
ret