Function at 0x45249c
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 0x4524a5
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, 0x4a8568
call fcn.004980b0
push 0
mov eax, 2
cmp byte [0x4bbb86], 0
jne 0x4524e0
dec eax
mov edx, 0x4bd8b8
mov ecx, ebx
call fcn.00472a98
mov byte [ebp - 0x2642], al
call fcn.00486b94
mov dword [ebp - 0x2648], eax
lea eax, [ebp - 0x2a4c]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
cmp byte [ebp - 0x2641], 0
jne 0x452573
mov edx, 0x4a8150
mov eax, 0x4a8145
xor ecx, ecx
call fcn.0046139c
test eax, eax
je 0x452573
push 0x4a815c
push 0x1000
lea ecx, [ebp - 0x4a4c]
mov edx, 0x4a8153
mov eax, 0x4a8145
call fcn.00461248
cmp word [ebp - 0x4a4c], 0
je 0x452573
cmp dword [0x4be4bc], 0
je 0x452573
push 0
lea eax, [ebp - 0x4a4c]
mov cl, 1
mov edx, dword [0x4be4bc]
call fcn.0044348c
mov al, byte [0x4bc04d]
mov byte [ebp - 0x2649], al
mov byte [0x4bc04d], 0
cmp byte [ebp - 0x2649], 0
je 0x45269b
cmp byte [0x4bbb86], 0
jne 0x45269b
mov eax, 0x4bd8b8
call fcn.0040bd28
push eax
lea edx, [ebp - 0x4e4c]
push edx
call fcn.00497c80
add esp, 8
mov eax, 0x4bdcb8
call fcn.0040bdb4
mov edx, eax
lea eax, [ebp - 0x564c]
call fcn.0041077c
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c05c
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c0a4
mov edx, 0x4a815e
lea eax, [ebp - 0x4e4c]
call fcn.0040c174
test al, al
je 0x45261a
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c05c
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c0a4
jmp 0x45266a
lea eax, [ebp - 0x4e4c]
call fcn.0040c118
mov ebx, eax
test ebx, ebx
je 0x45266a
mov edx, 0x4a8162
mov ecx, 5
mov eax, ebx
call fcn.0040f248
test eax, eax
jne 0x45266a
xor eax, eax
mov al, byte [ebx + 5]
push eax
call fcn.0049b9ec
pop ecx
test eax, eax
je 0x45266a
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c05c
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c0a4
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c6b8
lea edx, [ebp - 0x564c]
lea eax, [ebp - 0x4e4c]
xor ecx, ecx
call fcn.0040a2c4
lea edx, [ebp - 0x564c]
lea eax, [ebp - 0x4e4c]
call fcn.00463ea4
mov word [ebp - 0x2630], 8
mov ecx, dword [0x4bc468]
mov eax, dword [esi + ecx*4 + 0x104]
mov edx, dword [eax]
call dword [edx]
mov word [ebp - 0x2630], 0
jmp 0x4526d8
mov edx, 0x4a8168
mov eax, 0x4a8145
xor ecx, ecx
call fcn.0046139c
test eax, eax
je 0x4529d7
cmp byte [ebp - 0x2649], 0
jne 0x4529d7
cmp dword [0x4c7808], 1
jne 0x452714
cmp byte [0x4bcc70], 0
je 0x4529d7
mov word [ebp - 0x2630], 0x14
lea eax, [ebp - 0xf8]
call fcn.0040fa70
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x20
mov edx, 0x4a8175
lea eax, [ebp - 0xf8]
call fcn.0040fbf4
lea eax, [ebp - 0x5aec]
call fcn.00413d60
lea eax, [ebp - 0x5ac0]
call fcn.00413d60
lea eax, [ebp - 0x5a94]
call fcn.00413d60
mov word [ebp - 0x2630], 0x2c
push 0
push 3
lea edx, [ebp - 0xf8]
lea eax, [ebp - 0x2524]
xor ecx, ecx
call fcn.00413298
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.0040bd28
mov ebx, eax
jmp 0x452807
push 0x4a8177
lea eax, [ebp - 0x6700]
push eax
call fcn.00497c34
add esp, 8
test eax, eax
je 0x452807
push 0x4a8179
lea edx, [ebp - 0x6700]
push edx
call fcn.00497c34
add esp, 8
test eax, eax
je 0x452807
cmp byte [ebp - 0x5af0], 0
je 0x452806
lea eax, [ebp - 0x6700]
mov edx, ebx
call fcn.0040f224
test eax, eax
jne 0x452803
mov byte [ebp - 0x264a], 1
inc edi
jmp 0x452807
inc esi
lea edx, [ebp - 0x6700]
lea eax, [ebp - 0x2524]
call fcn.004133cc
test eax, eax
je 0x4527b2
cmp byte [ebp - 0x264a], 0
je 0x4529a1
dec edi
jne 0x4529a1
test esi, esi
jne 0x4529a1
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.00497cb0
pop ecx
cmp eax, 0x3ec
jae 0x4529a1
push ebx
call fcn.00497cb0
pop ecx
cmp eax, 0x1fb
jae 0x4529a1
push 0x4a8179
call fcn.00499610
pop ecx
test eax, eax
jne 0x4529a1
lea eax, [ebp - 0x2a4c]
push eax
lea edx, [ebp - 0x6b00]
push edx
call fcn.00497c80
add esp, 8
push 0x4a817c
lea ecx, [ebp - 0x6b00]
push ecx
call fcn.00497ba4
add esp, 8
push ebx
lea eax, [ebp - 0x6f00]
push eax
call fcn.00497c80
add esp, 8
lea eax, [ebp - 0x6f00]
call fcn.0040c22c
push ebx
lea edx, [ebp - 0x6f00]
push edx
call fcn.00497ba4
add esp, 8
lea eax, [ebp - 0x6b00]
xor edx, edx
call fcn.0040a72c
test al, al
jne 0x452994
lea eax, [ebp - 0x6f00]
xor edx, edx
call fcn.0040a72c
test al, al
je 0x452994
push 0
lea ecx, [ebp - 0x6b00]
push ecx
lea eax, [ebp - 0x2a4c]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x452994
lea eax, [ebp - 0x6b00]
call fcn.0040bd28
push eax
lea edx, [ebp - 0x6f00]
push edx
call fcn.00497c80
add esp, 8
lea eax, [ebp - 0x6f00]
call fcn.0040c22c
push ebx
lea edx, [ebp - 0x6f00]
push edx
call fcn.00497ba4
add esp, 8
lea eax, [ebp - 0x6f00]
xor edx, edx
call fcn.0040a72c
test al, al
je 0x45297f
push 0
lea ecx, [ebp - 0x2a4c]
push ecx
lea eax, [ebp - 0x6f00]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x45297f
lea edx, [ebp - 0x6b00]
push edx
call sub.KERNEL32.DLL_RemoveDirectoryA
jmp 0x452994
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.00499610
pop ecx
dec dword [ebp - 0x2624]
lea eax, [ebp - 0x2524]
mov edx, 2
call fcn.00413370
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0040fb48
mov word [ebp - 0x2630], 0
cmp byte [0x4bbb86], 0
jne 0x452bed
cmp dword [0x4bcc7c], 0
je 0x452bed
call fcn.00486b94
cmp eax, dword [ebp - 0x2648]
jne 0x452bed
cmp dword [0x4c7818], 0
jne 0x452bed
cmp dword [0x4c7814], 0
jne 0x452bed
cmp dword [0x4b1b14], 0
jne 0x452bed
xor ebx, ebx
mov eax, dword [0x4be4b8]
call fcn.0040fdbc
jmp 0x452a53
push 0x4a8175
lea edx, [ebp - 0x7300]
push edx
call fcn.00497c34
add esp, 8
test eax, eax
jne 0x452a53
mov bl, 1
jmp 0x452a6c
lea edx, [ebp - 0x7300]
mov ecx, 0x400
mov eax, dword [0x4be4b8]
call fcn.0040fc78
test al, al
jne 0x452a37
test bl, bl
je 0x452ab5
cmp dword [0x4bcc7c], 1
jne 0x452ab5
push 0x24
mov eax, 0x24e
call fcn.004125d0
push eax
mov eax, 0x578
call fcn.004125d0
push eax
cmp dword [0x4c4e70], 0
je 0x452aa2
mov edx, dword [0x4c4e70]
jmp 0x452aa8
mov edx, dword [0x4c4e64]
push edx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
je 0x452ab5
xor ebx, ebx
mov word [ebp - 0x2630], 0x38
test bl, bl
je 0x452bca
mov word [ebp - 0x2630], 0x44
lea eax, [ebp - 0x261c]
call fcn.0040fa70
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x50
mov ecx, 0x4bdcb8
mov edx, 0x4bd8b8
lea eax, [ebp - 0x261c]
call fcn.0040fbfc
push 1
push 2
mov ecx, 0x4bdcb8
mov edx, 0x4bd8b8
mov eax, 0x4c5bc4
call fcn.00455fa0
dec eax
jne 0x452b8a
push 0x4bd8b8
lea edx, [ebp - 0x7700]
push edx
call fcn.00497c80
add esp, 8
jmp 0x452b41
lea edx, [ebp - 0x7700]
lea eax, [ebp - 0x261c]
call fcn.0040fbf4
lea edx, [ebp - 0x7700]
mov eax, 0x4c5bc4
call fcn.00457c5c
test al, al
je 0x452b8a
lea eax, [ebp - 0x7700]
xor edx, edx
call fcn.0040a72c
test al, al
jne 0x452b30
jmp 0x452b8a
lea edx, [ebp - 0x8300]
lea eax, [ebp - 0x7b00]
call fcn.0040ab58
lea edx, [ebp - 0x8300]
lea eax, [ebp - 0x7b00]
call fcn.0040af60
push 0x400
lea ecx, [ebp - 0x8300]
lea edx, [ebp - 0x7b00]
lea eax, [ebp - 0x261c]
call fcn.0040fc84
test al, al
jne 0x452b68
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0x261c]
mov edx, 2
call fcn.0040fb48
mov word [ebp - 0x2630], 0x38
mov word [ebp - 0x2630], 0
jmp 0x452bed
mov dl, byte [ebp - 0x2649]
mov byte [0x4bc04d], dl
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.00499610
pop ecx
cmp dword [0x4c7808], 0
jne 0x452c23
cmp byte [ebp - 0x2642], 0
je 0x452c23
push dword [0x4c4e70]
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