Function at 0xd29e540
Capabilities:
Delete file
Get common file path
Get graphical window text
Move file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1908
call fcn.0d2a6d30
mov eax, dword [0xd2b0418]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x18e4], ecx
mov ecx, dword [ebp + 0x1c]
push esi
mov dword [ebp - 0x18fc], ecx
mov ecx, dword [ebp + 0x28]
push edi
mov edi, dword [ebp + 0x20]
mov dword [ebp - 0x18f8], edx
mov edx, dword [ebp + 0x24]
mov dword [ebp - 0x18e8], eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 4]
mov dword [ebp - 0xc], ecx
xor ecx, ecx
mov dword [ebp - 0x1904], edx
mov edx, dword [ebp + 0x2c]
push 0x7f02
push ecx
mov dword [ebp - 0x18f4], eax
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x18e0], ecx
mov dword [ebp - 0x18ec], ebx
mov dword [ebp - 0x18f0], ecx
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
test dword [ebx + 0x5c], 0x20000
jne 0xd29e634
push 0
push 0
push 0x4a
push 0xffffffffffffffff
lea esi, [ebx + 0x104]
push esi
call sub.msjet40.dll_Ordinal_176
push esi
call sub.msjet40.dll_Ordinal_154
mov dword [ebp - 0x18e0], eax
test eax, eax
jge 0xd29e609
mov ecx, dword [ebp - 0x18e8]
push eax
push ebx
push ecx
jmp 0xd29eccb
mov eax, dword [ebx + 0x24]
or dword [ebx + 0x5c], 0x20000
mov dword [ebp - 0x18f0], 2
test eax, eax
je 0xd29e634
push eax
push 0
push 0
push 0xffffffffffffffff
push esi
call sub.msjet40.dll_Ordinal_176
mov dword [ebp - 0x18e0], eax
cmp dword [ebx + 0x24], 0
jne 0xd29e648
mov edx, dword [0xd2afad8]
mov dword [ebp - 0x18fc], edx
jmp 0xd29e692
cmp dword [ebp - 0x18fc], 0
jne 0xd29e68e
test byte [ebp + 0x34], 1
jne 0xd29ecd0
push 0x12c
lea eax, [ebp - 0x264]
push eax
push 0xa02b
call fcn.0d29fa20
mov edx, dword [ebp - 0x18e8]
push 0x10
push 0
lea ecx, [ebp - 0x264]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0xd29ecd0
test edi, edi
jne 0xd29e697
mov edi, 0xd271a80
cmp dword [ebx + 0x54], 0xffffffff
lea eax, [ebx + 0x54]
jne 0xd29e6d4
mov ecx, dword [ebp - 0x18fc]
mov edx, dword [ebx + 0x104]
push edi
push ecx
push eax
push edx
call sub.msjet40.dll_Ordinal_103
mov dword [ebp - 0x18e0], eax
test eax, eax
jge 0xd29e6cd
push eax
mov eax, dword [ebp - 0x18e8]
push ebx
push eax
jmp 0xd29eccb
or dword [ebp - 0x18f0], 4
mov edi, dword [ebp - 0x18e4]
push 0x12c
lea ecx, [ebp - 0xfcc]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push edi
call sub.msvcrt.dll__wsplitpath_s
add esp, 0x24
cmp word [ebp - 0xfcc], 0
jne 0xd29e737
mov edx, dword [0xd2afacc]
push edx
push edi
push 0xd273864
push 0x12b
lea eax, [ebp - 0xfcc]
push 0x12c
push eax
call sub.msvcrt.dll__snwprintf_s
lea edi, [ebp - 0xfcc]
add esp, 0x18
mov dword [ebp - 0x18e4], edi
mov eax, dword [ebp + 0x10]
cmp eax, 3
jne 0xd29e743
mov esi, edi
jmp 0xd29e74e
cmp eax, 2
jne 0xd29e7b3
mov esi, dword [ebp - 0x1904]
push 0x12c
lea ecx, [ebp - 0x18dc]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push esi
call sub.msvcrt.dll__wsplitpath_s
add esp, 0x24
cmp word [ebp - 0x18dc], 0
jne 0xd29e7a1
mov edx, dword [0xd2afacc]
push edx
push esi
push 0xd273864
push 0x12b
lea eax, [ebp - 0xb74]
push 0x12c
push eax
call sub.msvcrt.dll__snwprintf_s
add esp, 0x18
jmp 0xd29e7b3
push 0x12c
push esi
lea ecx, [ebp - 0xb74]
push ecx
call fcn.0d29f090
mov eax, dword [ebp - 0x1908]
test eax, eax
je 0xd29e7cb
mov edx, dword [ebp + 0x30]
push edi
push edx
push eax
call sub.msvcrt.dll_wcscpy_s
add esp, 0xc
push 0xd271a78
push edi
call dword [sym.imp.msvcrt.dll_wcspbrk]
add esp, 8
test eax, eax
jne 0xd29e85c
cmp dword [ebp - 0x18f8], eax
je 0xd29e85c
mov eax, edi
lea edx, [eax + 2]
jmp 0xd29e7f0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0xd29e7f0
sub eax, edx
sar eax, 1
mov edx, eax
mov eax, dword [ebp - 0x18f8]
lea esi, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0xd29e810
sub eax, esi
sar eax, 1
lea eax, [eax + edx + 1]
cmp eax, 0x12c
jae 0xd29e85c
mov ecx, dword [ebp - 0x18f8]
push edi
push ecx
push 0xd271a6c
push 0x12c
lea edx, [ebp - 0x1684]
push 0x12c
push edx
call sub.msvcrt.dll__snwprintf_s
lea eax, [ebp - 0x1684]
add esp, 0x18
mov dword [ebp - 0x18e4], eax
mov eax, dword [ebp + 0x10]
cmp eax, 2
je 0xd29e86d
cmp eax, 3
jne 0xd29e90b
lea ecx, [ebp - 0xb74]
push 0xd271a78
push ecx
call dword [sym.imp.msvcrt.dll_wcspbrk]
add esp, 8
test eax, eax
jne 0xd29e8f3
mov esi, dword [ebp - 0xc]
test esi, esi
je 0xd29e8f3
lea eax, [ebp - 0xb74]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0xd29e896
sub eax, edx
sar eax, 1
mov edx, eax
mov eax, esi
lea edi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0xd29e8b0
sub eax, edi
sar eax, 1
lea edx, [eax + edx + 1]
cmp edx, 0x104
jae 0xd29e8f3
lea eax, [ebp - 0xb74]
push eax
push esi
push 0xd271a6c
push 0x104
lea ecx, [ebp - 0x6c4]
push 0x104
push ecx
call sub.msvcrt.dll__snwprintf_s
add esp, 0x18
jmp 0xd29e90b
push 0x104
lea edx, [ebp - 0xb74]
push edx
lea eax, [ebp - 0x6c4]
push eax
call fcn.0d29f090
mov esi, dword [ebp + 0x10]
cmp esi, 2
je 0xd29e918
cmp esi, 1
jne 0xd29e941
mov ecx, dword [ebp - 0x18f4]
mov eax, dword [ecx + 0x2c]
test eax, eax
je 0xd29e941
push eax
push 0xd27384c
lea edx, [ebp - 0x91c]
push 0x12c
push edx
call sub.msvcrt.dll_swprintf_s
add esp, 0x10
jmp 0xd29e95e
cmp esi, 3
jne 0xd29e955
or dword [ebp + 0x34], 4
xor eax, eax
mov word [ebp - 0x91c], ax
jmp 0xd29e976
xor ecx, ecx
mov word [ebp - 0x91c], cx
cmp esi, 1
je 0xd29eb0b
jle 0xd29ebbd
cmp esi, 3
jg 0xd29ebbd
mov eax, dword [ebx + 0xc]
xor esi, esi
test eax, eax
je 0xd29e99f
push eax
push 0xd27383c
lea edx, [ebp - 0x1224]
push 0x12c
push edx
call sub.msvcrt.dll_swprintf_s
add esp, 0x10
lea esi, [ebp - 0x1224]
lea eax, [ebp - 0x6c4]
push eax
call fcn.0d29de70
test eax, eax
je 0xd29eacb
lea ecx, [ebp - 0xd74]
push ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov eax, dword [0xd2afad4]
lea edx, [ebp - 0x214]
push edx
push 0
push eax
lea ecx, [ebp - 0xd74]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea edx, [ebp - 0x214]
push edx
call edi
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x18e4]
push 0
lea ecx, [ebp - 0x91c]
push ecx
mov ecx, dword [ebx + 0x54]
lea edx, [ebp - 0x214]
push edx
mov edx, dword [ebp - 0x18e8]
push esi
push eax
push ecx
mov ecx, dword [ebp - 0x18f4]
push edx
mov edx, dword [ebp + 0x34]
call fcn.0d29e0f0
mov dword [ebp - 0x18e0], eax
test eax, eax
jl 0xd29ea55
lea eax, [ebp - 0x6c4]
push eax
call edi
lea ecx, [ebp - 0x6c4]
push ecx
lea edx, [ebp - 0x214]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea eax, [ebp - 0x214]
push eax
jmp 0xd29ea5c
lea ecx, [ebp - 0x214]
push ecx
call edi
push 0
push 0
push 0x100
lea edx, [ebp - 0x464]
push edx
push 0x100
lea eax, [ebp - 0xd74]
push eax
push 3
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x214]
push edx
call sub.msvcrt.dll__wsplitpath_s
mov eax, dword [0xd2afad0]
push eax
lea ecx, [ebp - 0x464]
push ecx
lea edx, [ebp - 0xd74]
push edx
lea eax, [ebp - 0xc]
push eax
push 0xd273828
lea ecx, [ebp - 0x214]
push 0x104
push ecx
call sub.msvcrt.dll_swprintf_s
add esp, 0x40
lea edx, [ebp - 0x214]
push edx
call edi
jmp 0xd29ebc3
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x18e4]
push 0
lea ecx, [ebp - 0x91c]
push ecx
mov ecx, dword [ebx + 0x54]
lea edx, [ebp - 0x6c4]
push edx
mov edx, dword [ebp - 0x18e8]
push esi
push eax
push ecx
mov ecx, dword [ebp - 0x18f4]
push edx
mov edx, dword [ebp + 0x34]
call fcn.0d29e0f0
mov dword [ebp - 0x18e0], eax
jmp 0xd29ebc3
mov esi, dword [ebp - 0x18e4]
push esi
xor ebx, ebx
call fcn.0d29de70
test eax, eax
je 0xd29eb24
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x18f4]
movzx eax, word [eax + 0x16]
test al, 8
je 0xd29eb37
mov ebx, 0x80
test al, 0x10
je 0xd29eb41
or ebx, 0x200
test al, 4
je 0xd29eb48
or ebx, 0x20
test al, 0x20
je 0xd29eb4f
or ebx, 1
push ebx
test bl, bl
jns 0xd29eb72
push 0xd273820
push 0xd273814
push 0xd273804
lea ecx, [ebp - 0x91c]
push ecx
push esi
call sub.msjet40.dll_Ordinal_185
jmp 0xd29ebb7
lea edx, [ebp - 0x1900]
push edx
lea eax, [ebp - 0x91c]
push eax
mov eax, dword [ebp - 0x18ec]
mov ecx, dword [eax + 0x54]
add eax, 0x54
push esi
push ecx
call sub.msjet40.dll_Ordinal_112
mov dword [ebp - 0x18e0], eax
test eax, eax
jl 0xd29ebbd
mov eax, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x1900]
push 0
add eax, 0x54
mov eax, dword [eax]
push edx
push eax
call sub.msjet40.dll_Ordinal_107
mov dword [ebp - 0x18e0], eax
mov ebx, dword [ebp - 0x18ec]
test byte [ebp + 0x34], 1
jne 0xd29ecd0
mov eax, dword [ebp - 0x18e0]
test eax, eax
jl 0xd29ecc2
mov eax, dword [ebp + 0x10]
sub eax, 1
je 0xd29ec4a
sub eax, 1
je 0xd29ec04
sub eax, 1
jne 0xd29ec87
push 0x12c
lea ecx, [ebp - 0x4bc]
push ecx
push 0xade1
jmp 0xd29ec5b
push 0x12c
lea edx, [ebp - 0x4bc]
push edx
push 0xade2
call fcn.0d29fa20
mov ecx, dword [ebp - 0x18e4]
lea eax, [ebp - 0x6c4]
push eax
push ecx
lea edx, [ebp - 0x4bc]
push edx
push 0x22f
lea eax, [ebp - 0x142c]
push 0x230
push eax
call sub.msvcrt.dll__snwprintf_s
add esp, 0x18
jmp 0xd29ec87
push 0x12c
lea ecx, [ebp - 0x4bc]
push ecx
push 0xaddf
call fcn.0d29fa20
mov edx, dword [ebp - 0x18e4]
push edx
lea eax, [ebp - 0x4bc]
push eax
push 0x22f
lea ecx, [ebp - 0x142c]
push 0x230
push ecx
call sub.msvcrt.dll__snwprintf_s
add esp, 0x14
cmp dword [ebp - 0x18e8], 0
je 0xd29ecd0
mov esi, dword [ebp - 0x18e8]
push 0x103
lea edx, [ebp - 0x214]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
push 0x40
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x142c]
push ecx
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0xd29ecd0
mov edx, dword [ebp - 0x18e8]
push eax
push ebx
push edx
call fcn.0d2c3ff9
test byte [ebp - 0x18f0], 4
je 0xd29eceb
mov eax, dword [ebx + 0x54]
push 0
push eax
call sub.msjet40.dll_Ordinal_130
mov dword [ebx + 0x54], 0xffffffff
test byte [ebp - 0x18f0], 2
je 0xd29ed11
mov ecx, dword [ebx + 0x104]
push ecx
call sub.msjet40.dll_Ordinal_178
and dword [ebx + 0x5c], 0xfffdffff
mov dword [ebx + 0x104], 0
cmp dword [ebp - 0x18e0], 0
pop edi
pop esi
pop ebx
jl 0xd29ed2f
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x30
mov ecx, dword [ebp - 4]
xor ecx, ebp
or eax, 0xffffffff
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x30