Function at 0x45d718
Capabilities:
Delete directory
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 7
add esp, 0xfffff004
push eax
dec eax
jne 0x45d721
mov eax, dword [ebp - 4]
add esp, 0xfffff504
push ebx
push esi
push edi
mov byte [ebp - 0x2642], cl
mov byte [ebp - 0x2641], dl
mov ebx, eax
mov eax, 0x4a7528
call fcn.00495388
push 0
cmp byte [0x4b918a], 0
je 0x45d761
mov eax, 2
jmp 0x45d766
mov eax, 1
mov edx, 0x4baeb4
mov cl, byte [ebp - 0x2641]
call fcn.0047cd94
mov byte [ebp - 0x2643], al
call fcn.0044e674
mov dword [ebp - 0x2648], eax
lea eax, [ebp - 0x2a4c]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
cmp byte [ebp - 0x2642], 0
jne 0x45d7fd
mov edx, 0x4a7134
mov eax, 0x4a7129
xor ecx, ecx
call fcn.0046c37c
test eax, eax
je 0x45d7fd
push 0x4a7140
push 0x1000
lea ecx, [ebp - 0x4a4c]
mov edx, 0x4a7137
mov eax, 0x4a7129
call fcn.0046c228
cmp word [ebp - 0x4a4c], 0
je 0x45d7fd
cmp dword [0x4bbab8], 0
je 0x45d7fd
push 0
lea eax, [ebp - 0x4a4c]
mov cl, 1
mov edx, dword [0x4bbab8]
call fcn.00450dd8
mov al, byte [0x4b9651]
mov byte [ebp - 0x2649], al
mov byte [0x4b9651], 0
cmp byte [ebp - 0x2649], 0
je 0x45d885
cmp byte [0x4b918a], 0
jne 0x45d885
mov eax, 0x4baeb4
call fcn.0040ba60
push eax
lea edx, [ebp - 0x4e4c]
push edx
call fcn.00494f58
add esp, 8
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040bd90
mov edx, 0x4a7142
lea eax, [ebp - 0x4e4c]
call fcn.0040bea8
test al, al
je 0x45d869
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040bd90
lea eax, [ebp - 0x4e4c]
xor ecx, ecx
xor edx, edx
call fcn.0040a0bc
lea eax, [ebp - 0x4e4c]
push eax
call fcn.004968ec
pop ecx
mov word [ebp - 0x2630], 8
mov edx, dword [0x4b9a6c]
mov eax, dword [ebx + edx*4 + 0x104]
mov edx, dword [eax]
call dword [edx]
mov word [ebp - 0x2630], 0
jmp 0x45d8c2
mov edx, 0x4a7146
mov eax, 0x4a7129
xor ecx, ecx
call fcn.0046c37c
test eax, eax
je 0x45dbc1
cmp byte [ebp - 0x2649], 0
jne 0x45dbc1
cmp dword [0x4c4de4], 1
jne 0x45d8fe
cmp byte [0x4ba273], 0
je 0x45dbc1
mov word [ebp - 0x2630], 0x14
lea eax, [ebp - 0xf8]
call fcn.0040f5f8
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x20
mov edx, 0x4a7153
lea eax, [ebp - 0xf8]
call fcn.0040f77c
lea eax, [ebp - 0x52ec]
call fcn.004137a4
lea eax, [ebp - 0x52c0]
call fcn.004137a4
lea eax, [ebp - 0x5294]
call fcn.004137a4
mov word [ebp - 0x2630], 0x2c
push 0
push 3
lea edx, [ebp - 0xf8]
lea eax, [ebp - 0x2524]
xor ecx, ecx
call fcn.00412cdc
inc dword [ebp - 0x2624]
mov word [ebp - 0x2630], 0x20
xor edi, edi
xor esi, esi
mov byte [ebp - 0x264a], 0
lea eax, [ebp - 0x2a4c]
call fcn.0040ba60
mov ebx, eax
jmp 0x45d9f1
push 0x4a7155
lea eax, [ebp - 0x5f00]
push eax
call fcn.00494f0c
add esp, 8
test eax, eax
je 0x45d9f1
push 0x4a7157
lea edx, [ebp - 0x5f00]
push edx
call fcn.00494f0c
add esp, 8
test eax, eax
je 0x45d9f1
cmp byte [ebp - 0x52f0], 0
je 0x45d9f0
lea eax, [ebp - 0x5f00]
mov edx, ebx
call fcn.0040ee00
test eax, eax
jne 0x45d9ed
mov byte [ebp - 0x264a], 1
inc edi
jmp 0x45d9f1
inc esi
lea edx, [ebp - 0x5f00]
lea eax, [ebp - 0x2524]
call fcn.00412e10
test eax, eax
je 0x45d99c
cmp byte [ebp - 0x264a], 0
je 0x45db8b
dec edi
jne 0x45db8b
test esi, esi
jne 0x45db8b
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.00494f88
pop ecx
cmp eax, 0x3ec
jae 0x45db8b
push ebx
call fcn.00494f88
pop ecx
cmp eax, 0x1fb
jae 0x45db8b
push 0x4a7157
call fcn.004968ec
pop ecx
test eax, eax
jne 0x45db8b
lea eax, [ebp - 0x2a4c]
push eax
lea edx, [ebp - 0x6300]
push edx
call fcn.00494f58
add esp, 8
push str..rartmp
lea ecx, [ebp - 0x6300]
push ecx
call fcn.00494e7c
add esp, 8
push ebx
lea eax, [ebp - 0x6700]
push eax
call fcn.00494f58
add esp, 8
lea eax, [ebp - 0x6700]
call fcn.0040bf64
push ebx
lea edx, [ebp - 0x6700]
push edx
call fcn.00494e7c
add esp, 8
lea eax, [ebp - 0x6300]
xor edx, edx
call fcn.0040a504
test al, al
jne 0x45db7e
lea eax, [ebp - 0x6700]
xor edx, edx
call fcn.0040a504
test al, al
je 0x45db7e
push 0
lea ecx, [ebp - 0x6300]
push ecx
lea eax, [ebp - 0x2a4c]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x45db7e
lea eax, [ebp - 0x6300]
call fcn.0040ba60
push eax
lea edx, [ebp - 0x6700]
push edx
call fcn.00494f58
add esp, 8
lea eax, [ebp - 0x6700]
call fcn.0040bf64
push ebx
lea edx, [ebp - 0x6700]
push edx
call fcn.00494e7c
add esp, 8
lea eax, [ebp - 0x6700]
xor edx, edx
call fcn.0040a504
test al, al
je 0x45db69
push 0
lea ecx, [ebp - 0x2a4c]
push ecx
lea eax, [ebp - 0x6700]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x45db69
lea edx, [ebp - 0x6300]
push edx
call sub.KERNEL32.DLL_RemoveDirectoryA
jmp 0x45db7e
push 0
lea ecx, [ebp - 0x2a4c]
push ecx
lea eax, [ebp - 0x6300]
push eax
call sub.KERNEL32.DLL_MoveFileExA
lea edx, [ebp - 0x2a4c]
push edx
call fcn.004968ec
pop ecx
dec dword [ebp - 0x2624]
lea eax, [ebp - 0x2524]
mov edx, 2
call fcn.00412db4
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0040f6d0
mov word [ebp - 0x2630], 0
cmp byte [0x4b918a], 0
jne 0x45ddd7
cmp dword [0x4ba27c], 0
je 0x45ddd7
call fcn.0044e674
cmp eax, dword [ebp - 0x2648]
jne 0x45ddd7
cmp dword [0x4c4df4], 0
jne 0x45ddd7
cmp dword [0x4c4df0], 0
jne 0x45ddd7
cmp dword [0x4af120], 0
jne 0x45ddd7
xor ebx, ebx
mov eax, dword [0x4bbab4]
call fcn.0040f944
jmp 0x45dc3d
push 0x4a7153
lea edx, [ebp - 0x6b00]
push edx
call fcn.00494f0c
add esp, 8
test eax, eax
jne 0x45dc3d
mov bl, 1
jmp 0x45dc56
lea edx, [ebp - 0x6b00]
mov ecx, 0x400
mov eax, dword [0x4bbab4]
call fcn.0040f800
test al, al
jne 0x45dc21
test bl, bl
je 0x45dc9f
cmp dword [0x4ba27c], 1
jne 0x45dc9f
push 0x24
mov eax, 0x24e
call fcn.0041202c
push eax
mov eax, 0x578
call fcn.0041202c
push eax
cmp dword [0x4c244c], 0
je 0x45dc8c
mov edx, dword [0x4c244c]
jmp 0x45dc92
mov edx, dword [0x4c2440]
push edx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
je 0x45dc9f
xor ebx, ebx
mov word [ebp - 0x2630], 0x38
test bl, bl
je 0x45ddb4
mov word [ebp - 0x2630], 0x44
lea eax, [ebp - 0x261c]
call fcn.0040f5f8
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x50
mov ecx, 0x4bb2b4
mov edx, 0x4baeb4
lea eax, [ebp - 0x261c]
call fcn.0040f784
push 1
push 2
mov ecx, 0x4bb2b4
mov edx, 0x4baeb4
mov eax, 0x4c319c
call fcn.00461128
dec eax
jne 0x45dd74
push 0x4baeb4
lea edx, [ebp - 0x6f00]
push edx
call fcn.00494f58
add esp, 8
jmp 0x45dd2b
lea edx, [ebp - 0x6f00]
lea eax, [ebp - 0x261c]
call fcn.0040f77c
lea edx, [ebp - 0x6f00]
mov eax, 0x4c319c
call fcn.00462d70
test al, al
je 0x45dd74
lea eax, [ebp - 0x6f00]
xor edx, edx
call fcn.0040a504
test al, al
jne 0x45dd1a
jmp 0x45dd74
lea edx, [ebp - 0x7b00]
lea eax, [ebp - 0x7300]
call fcn.0040a930
lea edx, [ebp - 0x7b00]
lea eax, [ebp - 0x7300]
call fcn.0040ad38
push 0x400
lea ecx, [ebp - 0x7b00]
lea edx, [ebp - 0x7300]
lea eax, [ebp - 0x261c]
call fcn.0040f80c
test al, al
jne 0x45dd52
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0x261c]
mov edx, 2
call fcn.0040f6d0
mov word [ebp - 0x2630], 0x38
mov word [ebp - 0x2630], 0
jmp 0x45ddd7
mov dl, byte [ebp - 0x2649]
mov byte [0x4b9651], dl
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.004968ec
pop ecx
cmp dword [0x4c4de4], 0
jne 0x45de0d
cmp byte [ebp - 0x2643], 0
je 0x45de0d
push dword [0x4c244c]
call sub.USER32.DLL_DestroyWindow
mov eax, dword [ebp - 0x2640]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret