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

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 8
add esp, 0xfffff004
push eax
dec eax
jne 0x452be5
mov eax, dword [ebp - 4]
add esp, 0xfffffd04
push ebx
push esi
push edi
mov byte [ebp - 0x2641], cl
mov ebx, edx
mov esi, eax
mov eax, 0x4aa5dc
call fcn.004992ac
push 0
mov eax, 2
cmp byte [0x4bdc0e], 0
jne 0x452c20
dec eax
mov edx, 0x4bf940
mov ecx, ebx
call fcn.004735f4
mov byte [ebp - 0x2642], al
call fcn.00487a64
mov dword [ebp - 0x2648], eax
lea eax, [ebp - 0x2a4c]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
cmp byte [ebp - 0x2641], 0
jne 0x452cb3
mov edx, 0x4aa1c4
mov eax, 0x4aa1b9
xor ecx, ecx
call fcn.00461bc4
test eax, eax
je 0x452cb3
push 0x4aa1d0
push 0x1000
lea ecx, [ebp - 0x4a4c]
mov edx, 0x4aa1c7
mov eax, 0x4aa1b9
call fcn.00461a70
cmp word [ebp - 0x4a4c], 0
je 0x452cb3
cmp dword [0x4c0544], 0
je 0x452cb3
push 0
lea eax, [ebp - 0x4a4c]
mov cl, 1
mov edx, dword [0x4c0544]
call fcn.00443ac8
mov al, byte [0x4be0d5]
mov byte [ebp - 0x2649], al
mov byte [0x4be0d5], 0
cmp byte [ebp - 0x2649], 0
je 0x452ddb
cmp byte [0x4bdc0e], 0
jne 0x452ddb
mov eax, 0x4bf940
call fcn.0040be48
push eax
lea edx, [ebp - 0x4e4c]
push edx
call fcn.00498e7c
add esp, 8
mov eax, 0x4bfd40
call fcn.0040bee0
mov edx, eax
lea eax, [ebp - 0x564c]
call fcn.00410b08
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c18c
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c1d4
mov edx, 0x4aa1d2
lea eax, [ebp - 0x4e4c]
call fcn.0040c2a4
test al, al
je 0x452d5a
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c18c
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c1d4
jmp 0x452daa
lea eax, [ebp - 0x4e4c]
call fcn.0040c248
mov ebx, eax
test ebx, ebx
je 0x452daa
mov edx, str..part
mov ecx, 5
mov eax, ebx
call fcn.0040f580
test eax, eax
jne 0x452daa
xor eax, eax
mov al, byte [ebx + 5]
push eax
call fcn.0049cbe8
pop ecx
test eax, eax
je 0x452daa
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c18c
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c1d4
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c818
lea edx, [ebp - 0x564c]
lea eax, [ebp - 0x4e4c]
xor ecx, ecx
call fcn.0040a3dc
lea edx, [ebp - 0x564c]
lea eax, [ebp - 0x4e4c]
call fcn.004647f0
mov word [ebp - 0x2630], 8
mov ecx, dword [0x4be4f0]
mov eax, dword [esi + ecx*4 + 0x104]
mov edx, dword [eax]
call dword [edx]
mov word [ebp - 0x2630], 0
jmp 0x452e18
mov edx, 0x4aa1dc
mov eax, 0x4aa1b9
xor ecx, ecx
call fcn.00461bc4
test eax, eax
je 0x453117
cmp byte [ebp - 0x2649], 0
jne 0x453117
cmp dword [0x4c9890], 1
jne 0x452e54
cmp byte [0x4becf8], 0
je 0x453117
mov word [ebp - 0x2630], 0x14
lea eax, [ebp - 0xf8]
call fcn.0040fdcc
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x20
mov edx, 0x4aa1e9
lea eax, [ebp - 0xf8]
call fcn.0040ff50
lea eax, [ebp - 0x5aec]
call fcn.004141d8
lea eax, [ebp - 0x5ac0]
call fcn.004141d8
lea eax, [ebp - 0x5a94]
call fcn.004141d8
mov word [ebp - 0x2630], 0x2c
push 0
push 3
lea edx, [ebp - 0xf8]
lea eax, [ebp - 0x2524]
xor ecx, ecx
call fcn.004136c4
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.0040be48
mov ebx, eax
jmp 0x452f47
push 0x4aa1eb
lea eax, [ebp - 0x6700]
push eax
call fcn.00498e30
add esp, 8
test eax, eax
je 0x452f47
push 0x4aa1ed
lea edx, [ebp - 0x6700]
push edx
call fcn.00498e30
add esp, 8
test eax, eax
je 0x452f47
cmp byte [ebp - 0x5af0], 0
je 0x452f46
lea eax, [ebp - 0x6700]
mov edx, ebx
call fcn.0040f55c
test eax, eax
jne 0x452f43
mov byte [ebp - 0x264a], 1
inc edi
jmp 0x452f47
inc esi
lea edx, [ebp - 0x6700]
lea eax, [ebp - 0x2524]
call fcn.004137fc
test eax, eax
je 0x452ef2
cmp byte [ebp - 0x264a], 0
je 0x4530e1
dec edi
jne 0x4530e1
test esi, esi
jne 0x4530e1
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.00498eac
pop ecx
cmp eax, 0x3ec
jae 0x4530e1
push ebx
call fcn.00498eac
pop ecx
cmp eax, 0x1fb
jae 0x4530e1
push 0x4aa1ed
call fcn.0049a80c
pop ecx
test eax, eax
jne 0x4530e1
lea eax, [ebp - 0x2a4c]
push eax
lea edx, [ebp - 0x6b00]
push edx
call fcn.00498e7c
add esp, 8
push str..rartmp
lea ecx, [ebp - 0x6b00]
push ecx
call fcn.00498da0
add esp, 8
push ebx
lea eax, [ebp - 0x6f00]
push eax
call fcn.00498e7c
add esp, 8
lea eax, [ebp - 0x6f00]
call fcn.0040c35c
push ebx
lea edx, [ebp - 0x6f00]
push edx
call fcn.00498da0
add esp, 8
lea eax, [ebp - 0x6b00]
xor edx, edx
call fcn.0040a838
test al, al
jne 0x4530d4
lea eax, [ebp - 0x6f00]
xor edx, edx
call fcn.0040a838
test al, al
je 0x4530d4
push 0
lea ecx, [ebp - 0x6b00]
push ecx
lea eax, [ebp - 0x2a4c]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x4530d4
lea eax, [ebp - 0x6b00]
call fcn.0040be48
push eax
lea edx, [ebp - 0x6f00]
push edx
call fcn.00498e7c
add esp, 8
lea eax, [ebp - 0x6f00]
call fcn.0040c35c
push ebx
lea edx, [ebp - 0x6f00]
push edx
call fcn.00498da0
add esp, 8
lea eax, [ebp - 0x6f00]
xor edx, edx
call fcn.0040a838
test al, al
je 0x4530bf
push 0
lea ecx, [ebp - 0x2a4c]
push ecx
lea eax, [ebp - 0x6f00]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x4530bf
lea edx, [ebp - 0x6b00]
push edx
call sub.KERNEL32.DLL_RemoveDirectoryA
jmp 0x4530d4
push 0
lea ecx, [ebp - 0x2a4c]
push ecx
lea eax, [ebp - 0x6b00]
push eax
call sub.KERNEL32.DLL_MoveFileExA
lea edx, [ebp - 0x2a4c]
push edx
call fcn.0049a80c
pop ecx
dec dword [ebp - 0x2624]
lea eax, [ebp - 0x2524]
mov edx, 2
call fcn.0041379c
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0040fea4
mov word [ebp - 0x2630], 0
cmp byte [0x4bdc0e], 0
jne 0x45332d
cmp dword [0x4bed04], 0
je 0x45332d
call fcn.00487a64
cmp eax, dword [ebp - 0x2648]
jne 0x45332d
cmp dword [0x4c98a0], 0
jne 0x45332d
cmp dword [0x4c989c], 0
jne 0x45332d
cmp dword [0x4b3b9c], 0
jne 0x45332d
xor ebx, ebx
mov eax, dword [0x4c0540]
call fcn.00410134
jmp 0x453193
push 0x4aa1e9
lea edx, [ebp - 0x7300]
push edx
call fcn.00498e30
add esp, 8
test eax, eax
jne 0x453193
mov bl, 1
jmp 0x4531ac
lea edx, [ebp - 0x7300]
mov ecx, 0x400
mov eax, dword [0x4c0540]
call fcn.0040ffe8
test al, al
jne 0x453177
test bl, bl
je 0x4531f5
cmp dword [0x4bed04], 1
jne 0x4531f5
push 0x24
mov eax, 0x24e
call fcn.004129c8
push eax
mov eax, 0x578
call fcn.004129c8
push eax
cmp dword [0x4c6ef8], 0
je 0x4531e2
mov edx, dword [0x4c6ef8]
jmp 0x4531e8
mov edx, dword [0x4c6eec]
push edx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
je 0x4531f5
xor ebx, ebx
mov word [ebp - 0x2630], 0x38
test bl, bl
je 0x45330a
mov word [ebp - 0x2630], 0x44
lea eax, [ebp - 0x261c]
call fcn.0040fdcc
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x50
mov ecx, 0x4bfd40
mov edx, 0x4bf940
lea eax, [ebp - 0x261c]
call fcn.0040ff58
push 1
push 2
mov ecx, 0x4bfd40
mov edx, 0x4bf940
mov eax, 0x4c7c4c
call fcn.004567bc
dec eax
jne 0x4532ca
push 0x4bf940
lea edx, [ebp - 0x7700]
push edx
call fcn.00498e7c
add esp, 8
jmp 0x453281
lea edx, [ebp - 0x7700]
lea eax, [ebp - 0x261c]
call fcn.0040ff50
lea edx, [ebp - 0x7700]
mov eax, 0x4c7c4c
call fcn.00458448
test al, al
je 0x4532ca
lea eax, [ebp - 0x7700]
xor edx, edx
call fcn.0040a838
test al, al
jne 0x453270
jmp 0x4532ca
lea edx, [ebp - 0x8300]
lea eax, [ebp - 0x7b00]
call fcn.0040ac64
lea edx, [ebp - 0x8300]
lea eax, [ebp - 0x7b00]
call fcn.0040b07c
push 0x400
lea ecx, [ebp - 0x8300]
lea edx, [ebp - 0x7b00]
lea eax, [ebp - 0x261c]
call fcn.0040fff4
test al, al
jne 0x4532a8
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0x261c]
mov edx, 2
call fcn.0040fea4
mov word [ebp - 0x2630], 0x38
mov word [ebp - 0x2630], 0
jmp 0x45332d
mov dl, byte [ebp - 0x2649]
mov byte [0x4be0d5], dl
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.0049a80c
pop ecx
cmp dword [0x4c9890], 0
jne 0x453363
cmp byte [ebp - 0x2642], 0
je 0x453363
push dword [0x4c6ef8]
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