Function at 0x454664
Capabilities:
Delete directory
Move file

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 9
add esp, 0xfffff004
push eax
dec eax
jne 0x45466d
mov eax, dword [ebp - 4]
add esp, 0xfffffd00
push ebx
push esi
push edi
mov byte [ebp - 0x2641], cl
mov ebx, edx
mov esi, eax
mov eax, 0x4b18e8
call fcn.004a0204
push 0
mov eax, 2
cmp byte [0x4c5b56], 0
jne 0x4546a8
dec eax
mov edx, 0x4c7888
mov ecx, ebx
call fcn.00476300
mov byte [ebp - 0x2642], al
call fcn.0048aa5c
mov dword [ebp - 0x2648], eax
lea edx, [ebp - 0x324c]
lea eax, [ebp - 0x2a4c]
mov ecx, 0x400
call fcn.00466f28
cmp byte [ebp - 0x2641], 0
jne 0x454740
mov edx, 0x4b1534
mov eax, 0x4b1529
xor ecx, ecx
call fcn.00463dec
test eax, eax
je 0x454740
push 0x4b1540
push 0x1000
lea ecx, [ebp - 0x524c]
mov edx, 0x4b1537
mov eax, 0x4b1529
call fcn.00463c98
cmp word [ebp - 0x524c], 0
je 0x454740
cmp dword [0x4c848c], 0
je 0x454740
push 0
lea eax, [ebp - 0x524c]
mov cl, 1
mov edx, dword [0x4c848c]
call fcn.00444df8
mov al, byte [0x4c601d]
mov byte [ebp - 0x2649], al
mov byte [0x4c601d], 0
cmp byte [ebp - 0x2649], 0
je 0x454868
cmp byte [0x4c5b56], 0
jne 0x454868
mov eax, 0x4c7888
call fcn.0040c4d0
push eax
lea edx, [ebp - 0x564c]
push edx
call fcn.0049fdd4
add esp, 8
mov eax, 0x4c7c88
call fcn.0040c568
mov edx, eax
lea eax, [ebp - 0x5e4c]
call fcn.00411488
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c830
lea eax, [ebp - 0x5e4c]
xor edx, edx
call fcn.0040c878
mov edx, 0x4b1542
lea eax, [ebp - 0x564c]
call fcn.0040c948
test al, al
je 0x4547e7
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c830
lea eax, [ebp - 0x5e4c]
xor edx, edx
call fcn.0040c878
jmp 0x454837
lea eax, [ebp - 0x564c]
call fcn.0040c8ec
mov ebx, eax
test ebx, ebx
je 0x454837
mov edx, str..part
mov ecx, 5
mov eax, ebx
call fcn.0040fde4
test eax, eax
jne 0x454837
xor eax, eax
mov al, byte [ebx + 5]
push eax
call fcn.004a3c34
pop ecx
test eax, eax
je 0x454837
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040c830
lea eax, [ebp - 0x5e4c]
xor edx, edx
call fcn.0040c878
lea eax, [ebp - 0x564c]
xor edx, edx
call fcn.0040cfb4
lea edx, [ebp - 0x5e4c]
lea eax, [ebp - 0x564c]
xor ecx, ecx
call fcn.0040a4a0
lea edx, [ebp - 0x5e4c]
lea eax, [ebp - 0x564c]
call fcn.00466ee0
mov word [ebp - 0x2630], 8
mov ecx, dword [0x4c6438]
mov eax, dword [esi + ecx*4 + 0x104]
mov edx, dword [eax]
call dword [edx]
mov word [ebp - 0x2630], 0
jmp 0x4548a5
mov edx, 0x4b154c
mov eax, 0x4b1529
xor ecx, ecx
call fcn.00463dec
test eax, eax
je 0x454ba8
cmp byte [ebp - 0x2649], 0
jne 0x454ba8
cmp dword [0x4d27d8], 1
jne 0x4548e1
cmp byte [0x4c6c40], 0
je 0x454ba8
mov word [ebp - 0x2630], 0x14
lea eax, [ebp - 0xf8]
call fcn.00410634
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x20
mov edx, 0x4b1559
lea eax, [ebp - 0xf8]
call fcn.004107b8
lea eax, [ebp - 0x62f0]
call fcn.00414bf8
lea eax, [ebp - 0x62c4]
call fcn.00414bf8
lea eax, [ebp - 0x6298]
call fcn.00414bf8
mov word [ebp - 0x2630], 0x2c
push 0
push 3
lea edx, [ebp - 0xf8]
lea eax, [ebp - 0x2524]
xor ecx, ecx
call fcn.0041408c
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.0040c4d0
mov ebx, eax
jmp 0x4549d4
push 0x4b155b
lea eax, [ebp - 0x6f04]
push eax
call fcn.0049fd88
add esp, 8
test eax, eax
je 0x4549d4
push 0x4b155d
lea edx, [ebp - 0x6f04]
push edx
call fcn.0049fd88
add esp, 8
test eax, eax
je 0x4549d4
cmp byte [ebp - 0x62f4], 0
je 0x4549d3
lea eax, [ebp - 0x6f04]
mov edx, ebx
call fcn.0040fdc0
test eax, eax
jne 0x4549d0
mov byte [ebp - 0x264a], 1
inc edi
jmp 0x4549d4
inc esi
lea edx, [ebp - 0x6f04]
lea eax, [ebp - 0x2524]
call fcn.004141cc
test eax, eax
je 0x45497f
cmp byte [ebp - 0x264a], 0
je 0x454b72
dec edi
jne 0x454b72
test esi, esi
jne 0x454b72
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.0049fe04
pop ecx
cmp eax, 0x3ec
jae 0x454b72
push ebx
call fcn.0049fe04
pop ecx
cmp eax, 0x1fb
jae 0x454b72
push 0x4b155d
call fcn.004a186c
pop ecx
test eax, eax
jne 0x454b72
lea eax, [ebp - 0x2a4c]
push eax
lea edx, [ebp - 0x7304]
push edx
call fcn.0049fdd4
add esp, 8
push str..rartmp
lea ecx, [ebp - 0x7304]
push ecx
call fcn.0049fcf8
add esp, 8
push ebx
lea eax, [ebp - 0x7704]
push eax
call fcn.0049fdd4
add esp, 8
lea eax, [ebp - 0x7704]
call fcn.0040ca00
push ebx
lea edx, [ebp - 0x7704]
push edx
call fcn.0049fcf8
add esp, 8
lea eax, [ebp - 0x7304]
xor edx, edx
call fcn.0040a918
test al, al
jne 0x454b61
lea eax, [ebp - 0x7704]
xor edx, edx
call fcn.0040a918
test al, al
je 0x454b61
push 0
lea ecx, [ebp - 0x7304]
push ecx
lea eax, [ebp - 0x2a4c]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x454b61
lea eax, [ebp - 0x7304]
call fcn.0040c4d0
push eax
lea edx, [ebp - 0x7704]
push edx
call fcn.0049fdd4
add esp, 8
lea eax, [ebp - 0x7704]
call fcn.0040ca00
push ebx
lea edx, [ebp - 0x7704]
push edx
call fcn.0049fcf8
add esp, 8
lea eax, [ebp - 0x7704]
xor edx, edx
call fcn.0040a918
test al, al
je 0x454b4c
push 0
lea ecx, [ebp - 0x2a4c]
push ecx
lea eax, [ebp - 0x7704]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x454b4c
lea edx, [ebp - 0x7304]
push edx
call sub.KERNEL32.DLL_RemoveDirectoryA
jmp 0x454b61
push 0
lea ecx, [ebp - 0x2a4c]
push ecx
lea eax, [ebp - 0x7304]
push eax
call sub.KERNEL32.DLL_MoveFileExA
lea edx, [ebp - 0x324c]
lea eax, [ebp - 0x2a4c]
call fcn.00466ee0
dec dword [ebp - 0x2624]
lea eax, [ebp - 0x2524]
mov edx, 2
call fcn.0041416c
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0041070c
mov word [ebp - 0x2630], 0
cmp byte [0x4c5b56], 0
jne 0x454de2
cmp dword [0x4c6c4c], 0
je 0x454de2
call fcn.0048aa5c
cmp eax, dword [ebp - 0x2648]
jne 0x454de2
cmp dword [0x4d27e8], 0
jne 0x454de2
cmp dword [0x4d27e4], 0
jne 0x454de2
cmp dword [0x4bb2e4], 0
jne 0x454de2
xor ebx, ebx
mov eax, dword [0x4c8488]
call fcn.0041099c
jmp 0x454c24
push 0x4b1559
lea edx, [ebp - 0x7b04]
push edx
call fcn.0049fd88
add esp, 8
test eax, eax
jne 0x454c24
mov bl, 1
jmp 0x454c3d
lea edx, [ebp - 0x7b04]
mov ecx, 0x400
mov eax, dword [0x4c8488]
call fcn.00410850
test al, al
jne 0x454c08
test bl, bl
je 0x454c86
cmp dword [0x4c6c4c], 1
jne 0x454c86
push 0x24
mov eax, 0x24e
call fcn.00413388
push eax
mov eax, 0x578
call fcn.00413388
push eax
cmp dword [0x4cfe40], 0
je 0x454c73
mov edx, dword [0x4cfe40]
jmp 0x454c79
mov edx, dword [0x4cfe34]
push edx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
je 0x454c86
xor ebx, ebx
mov word [ebp - 0x2630], 0x38
test bl, bl
je 0x454dbf
mov word [ebp - 0x2630], 0x44
lea eax, [ebp - 0x261c]
call fcn.00410634
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x50
mov ecx, 0x4c7c88
mov edx, 0x4c7888
lea eax, [ebp - 0x261c]
call fcn.004107c0
push 1
push 2
mov ecx, 0x4c7c88
mov edx, 0x4c7888
mov eax, 0x4d0b94
call fcn.00457674
dec eax
jne 0x454d7f
push 0x4c7888
lea edx, [ebp - 0x7f04]
push edx
call fcn.0049fdd4
add esp, 8
mov edx, 0x4c7c88
lea eax, [ebp - 0x8704]
call fcn.00411488
jmp 0x454d2c
lea ecx, [ebp - 0x8704]
lea edx, [ebp - 0x7f04]
lea eax, [ebp - 0x261c]
call fcn.004107c0
lea ecx, [ebp - 0x8704]
lea edx, [ebp - 0x7f04]
mov eax, 0x4d0b94
call fcn.00459430
test al, al
je 0x454d7f
lea edx, [ebp - 0x8704]
lea eax, [ebp - 0x7f04]
call fcn.0040a918
test al, al
jne 0x454d15
jmp 0x454d7f
lea edx, [ebp - 0x9304]
lea eax, [ebp - 0x8b04]
call fcn.0040ad84
lea edx, [ebp - 0x9304]
lea eax, [ebp - 0x8b04]
call fcn.0040b1cc
push 0x400
lea ecx, [ebp - 0x9304]
lea edx, [ebp - 0x8b04]
lea eax, [ebp - 0x261c]
call fcn.0041085c
test al, al
jne 0x454d5d
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0x261c]
mov edx, 2
call fcn.0041070c
mov word [ebp - 0x2630], 0x38
mov word [ebp - 0x2630], 0
jmp 0x454de2
mov dl, byte [ebp - 0x2649]
mov byte [0x4c601d], dl
lea edx, [ebp - 0x324c]
lea eax, [ebp - 0x2a4c]
call fcn.00466ee0
cmp dword [0x4d27d8], 0
jne 0x454e1c
cmp byte [ebp - 0x2642], 0
je 0x454e1c
push dword [0x4cfe40]
call sub.USER32.DLL_DestroyWindow
mov ecx, dword [ebp - 0x2640]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret