Function at 0x45246c
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 0x452475
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, 0x4a8528
call fcn.00498090
push 0
mov eax, 2
cmp byte [0x4bbb46], 0
jne 0x4524b0
dec eax
mov edx, 0x4bd878
mov ecx, ebx
call fcn.00472a48
mov byte [ebp - 0x2642], al
call fcn.00486b48
mov dword [ebp - 0x2648], eax
lea eax, [ebp - 0x2a4c]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
cmp byte [ebp - 0x2641], 0
jne 0x452543
mov edx, 0x4a8110
mov eax, 0x4a8105
xor ecx, ecx
call fcn.0046136c
test eax, eax
je 0x452543
push 0x4a811c
push 0x1000
lea ecx, [ebp - 0x4a4c]
mov edx, 0x4a8113
mov eax, 0x4a8105
call fcn.00461218
cmp word [ebp - 0x4a4c], 0
je 0x452543
cmp dword [0x4be47c], 0
je 0x452543
push 0
lea eax, [ebp - 0x4a4c]
mov cl, 1
mov edx, dword [0x4be47c]
call fcn.0044345c
mov al, byte [0x4bc00d]
mov byte [ebp - 0x2649], al
mov byte [0x4bc00d], 0
cmp byte [ebp - 0x2649], 0
je 0x45266b
cmp byte [0x4bbb46], 0
jne 0x45266b
mov eax, 0x4bd878
call fcn.0040bd0c
push eax
lea edx, [ebp - 0x4e4c]
push edx
call fcn.00497c60
add esp, 8
mov eax, 0x4bdc78
call fcn.0040bd98
mov edx, eax
lea eax, [ebp - 0x564c]
call fcn.00410760
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c040
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c088
mov edx, 0x4a811e
lea eax, [ebp - 0x4e4c]
call fcn.0040c158
test al, al
je 0x4525ea
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c040
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c088
jmp 0x45263a
lea eax, [ebp - 0x4e4c]
call fcn.0040c0fc
mov ebx, eax
test ebx, ebx
je 0x45263a
mov edx, str..part
mov ecx, 5
mov eax, ebx
call fcn.0040f22c
test eax, eax
jne 0x45263a
xor eax, eax
mov al, byte [ebx + 5]
push eax
call fcn.0049b9f8
pop ecx
test eax, eax
je 0x45263a
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c040
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c088
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040c69c
lea edx, [ebp - 0x564c]
lea eax, [ebp - 0x4e4c]
xor ecx, ecx
call fcn.0040a2a8
lea edx, [ebp - 0x564c]
lea eax, [ebp - 0x4e4c]
call fcn.00463e74
mov word [ebp - 0x2630], 8
mov ecx, dword [0x4bc428]
mov eax, dword [esi + ecx*4 + 0x104]
mov edx, dword [eax]
call dword [edx]
mov word [ebp - 0x2630], 0
jmp 0x4526a8
mov edx, 0x4a8128
mov eax, 0x4a8105
xor ecx, ecx
call fcn.0046136c
test eax, eax
je 0x4529a7
cmp byte [ebp - 0x2649], 0
jne 0x4529a7
cmp dword [0x4c77c8], 1
jne 0x4526e4
cmp byte [0x4bcc30], 0
je 0x4529a7
mov word [ebp - 0x2630], 0x14
lea eax, [ebp - 0xf8]
call fcn.0040fa54
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x20
mov edx, 0x4a8135
lea eax, [ebp - 0xf8]
call fcn.0040fbd8
lea eax, [ebp - 0x5aec]
call fcn.00413d44
lea eax, [ebp - 0x5ac0]
call fcn.00413d44
lea eax, [ebp - 0x5a94]
call fcn.00413d44
mov word [ebp - 0x2630], 0x2c
push 0
push 3
lea edx, [ebp - 0xf8]
lea eax, [ebp - 0x2524]
xor ecx, ecx
call fcn.0041327c
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.0040bd0c
mov ebx, eax
jmp 0x4527d7
push 0x4a8137
lea eax, [ebp - 0x6700]
push eax
call fcn.00497c14
add esp, 8
test eax, eax
je 0x4527d7
push 0x4a8139
lea edx, [ebp - 0x6700]
push edx
call fcn.00497c14
add esp, 8
test eax, eax
je 0x4527d7
cmp byte [ebp - 0x5af0], 0
je 0x4527d6
lea eax, [ebp - 0x6700]
mov edx, ebx
call fcn.0040f208
test eax, eax
jne 0x4527d3
mov byte [ebp - 0x264a], 1
inc edi
jmp 0x4527d7
inc esi
lea edx, [ebp - 0x6700]
lea eax, [ebp - 0x2524]
call fcn.004133b0
test eax, eax
je 0x452782
cmp byte [ebp - 0x264a], 0
je 0x452971
dec edi
jne 0x452971
test esi, esi
jne 0x452971
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.00497c90
pop ecx
cmp eax, 0x3ec
jae 0x452971
push ebx
call fcn.00497c90
pop ecx
cmp eax, 0x1fb
jae 0x452971
push 0x4a8139
call fcn.004995f4
pop ecx
test eax, eax
jne 0x452971
lea eax, [ebp - 0x2a4c]
push eax
lea edx, [ebp - 0x6b00]
push edx
call fcn.00497c60
add esp, 8
push str..rartmp
lea ecx, [ebp - 0x6b00]
push ecx
call fcn.00497b84
add esp, 8
push ebx
lea eax, [ebp - 0x6f00]
push eax
call fcn.00497c60
add esp, 8
lea eax, [ebp - 0x6f00]
call fcn.0040c210
push ebx
lea edx, [ebp - 0x6f00]
push edx
call fcn.00497b84
add esp, 8
lea eax, [ebp - 0x6b00]
xor edx, edx
call fcn.0040a710
test al, al
jne 0x452964
lea eax, [ebp - 0x6f00]
xor edx, edx
call fcn.0040a710
test al, al
je 0x452964
push 0
lea ecx, [ebp - 0x6b00]
push ecx
lea eax, [ebp - 0x2a4c]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x452964
lea eax, [ebp - 0x6b00]
call fcn.0040bd0c
push eax
lea edx, [ebp - 0x6f00]
push edx
call fcn.00497c60
add esp, 8
lea eax, [ebp - 0x6f00]
call fcn.0040c210
push ebx
lea edx, [ebp - 0x6f00]
push edx
call fcn.00497b84
add esp, 8
lea eax, [ebp - 0x6f00]
xor edx, edx
call fcn.0040a710
test al, al
je 0x45294f
push 0
lea ecx, [ebp - 0x2a4c]
push ecx
lea eax, [ebp - 0x6f00]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x45294f
lea edx, [ebp - 0x6b00]
push edx
call sub.KERNEL32.DLL_RemoveDirectoryA
jmp 0x452964
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.004995f4
pop ecx
dec dword [ebp - 0x2624]
lea eax, [ebp - 0x2524]
mov edx, 2
call fcn.00413354
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0040fb2c
mov word [ebp - 0x2630], 0
cmp byte [0x4bbb46], 0
jne 0x452bbd
cmp dword [0x4bcc3c], 0
je 0x452bbd
call fcn.00486b48
cmp eax, dword [ebp - 0x2648]
jne 0x452bbd
cmp dword [0x4c77d8], 0
jne 0x452bbd
cmp dword [0x4c77d4], 0
jne 0x452bbd
cmp dword [0x4b1ad4], 0
jne 0x452bbd
xor ebx, ebx
mov eax, dword [0x4be478]
call fcn.0040fda0
jmp 0x452a23
push 0x4a8135
lea edx, [ebp - 0x7300]
push edx
call fcn.00497c14
add esp, 8
test eax, eax
jne 0x452a23
mov bl, 1
jmp 0x452a3c
lea edx, [ebp - 0x7300]
mov ecx, 0x400
mov eax, dword [0x4be478]
call fcn.0040fc5c
test al, al
jne 0x452a07
test bl, bl
je 0x452a85
cmp dword [0x4bcc3c], 1
jne 0x452a85
push 0x24
mov eax, 0x24e
call fcn.004125b4
push eax
mov eax, 0x578
call fcn.004125b4
push eax
cmp dword [0x4c4e30], 0
je 0x452a72
mov edx, dword [0x4c4e30]
jmp 0x452a78
mov edx, dword [0x4c4e24]
push edx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
je 0x452a85
xor ebx, ebx
mov word [ebp - 0x2630], 0x38
test bl, bl
je 0x452b9a
mov word [ebp - 0x2630], 0x44
lea eax, [ebp - 0x261c]
call fcn.0040fa54
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x50
mov ecx, 0x4bdc78
mov edx, 0x4bd878
lea eax, [ebp - 0x261c]
call fcn.0040fbe0
push 1
push 2
mov ecx, 0x4bdc78
mov edx, 0x4bd878
mov eax, 0x4c5b84
call fcn.00455f70
dec eax
jne 0x452b5a
push 0x4bd878
lea edx, [ebp - 0x7700]
push edx
call fcn.00497c60
add esp, 8
jmp 0x452b11
lea edx, [ebp - 0x7700]
lea eax, [ebp - 0x261c]
call fcn.0040fbd8
lea edx, [ebp - 0x7700]
mov eax, 0x4c5b84
call fcn.00457c2c
test al, al
je 0x452b5a
lea eax, [ebp - 0x7700]
xor edx, edx
call fcn.0040a710
test al, al
jne 0x452b00
jmp 0x452b5a
lea edx, [ebp - 0x8300]
lea eax, [ebp - 0x7b00]
call fcn.0040ab3c
lea edx, [ebp - 0x8300]
lea eax, [ebp - 0x7b00]
call fcn.0040af44
push 0x400
lea ecx, [ebp - 0x8300]
lea edx, [ebp - 0x7b00]
lea eax, [ebp - 0x261c]
call fcn.0040fc68
test al, al
jne 0x452b38
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0x261c]
mov edx, 2
call fcn.0040fb2c
mov word [ebp - 0x2630], 0x38
mov word [ebp - 0x2630], 0
jmp 0x452bbd
mov dl, byte [ebp - 0x2649]
mov byte [0x4bc00d], dl
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.004995f4
pop ecx
cmp dword [0x4c77c8], 0
jne 0x452bf3
cmp byte [ebp - 0x2642], 0
je 0x452bf3
push dword [0x4c4e30]
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