Function at 0x45d418
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 0x45d421
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, 0x4a6528
call fcn.00494df8
push 0
mov eax, 2
cmp byte [0x4b818a], 0
jne 0x45d460
dec eax
mov edx, 0x4b9eb4
mov cl, byte [ebp - 0x2641]
call fcn.0047c8e4
mov byte [ebp - 0x2643], al
call fcn.0044e3dc
mov dword [ebp - 0x2648], eax
lea eax, [ebp - 0x2a4c]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
cmp byte [ebp - 0x2642], 0
jne 0x45d4f7
mov edx, 0x4a6134
mov eax, 0x4a6129
xor ecx, ecx
call fcn.0046bff8
test eax, eax
je 0x45d4f7
push 0x4a6140
push 0x1000
lea ecx, [ebp - 0x4a4c]
mov edx, 0x4a6137
mov eax, 0x4a6129
call fcn.0046bea4
cmp word [ebp - 0x4a4c], 0
je 0x45d4f7
cmp dword [0x4baab8], 0
je 0x45d4f7
push 0
lea eax, [ebp - 0x4a4c]
mov cl, 1
mov edx, dword [0x4baab8]
call fcn.00450b38
mov al, byte [0x4b8651]
mov byte [ebp - 0x2649], al
mov byte [0x4b8651], 0
cmp byte [ebp - 0x2649], 0
je 0x45d57f
cmp byte [0x4b818a], 0
jne 0x45d57f
mov eax, 0x4b9eb4
call fcn.0040ba30
push eax
lea edx, [ebp - 0x4e4c]
push edx
call fcn.004949c8
add esp, 8
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040bd60
mov edx, 0x4a6142
lea eax, [ebp - 0x4e4c]
call fcn.0040be78
test al, al
je 0x45d563
lea eax, [ebp - 0x4e4c]
xor edx, edx
call fcn.0040bd60
lea eax, [ebp - 0x4e4c]
xor ecx, ecx
xor edx, edx
call fcn.0040a090
lea eax, [ebp - 0x4e4c]
push eax
call fcn.0049635c
pop ecx
mov word [ebp - 0x2630], 8
mov edx, dword [0x4b8a6c]
mov eax, dword [ebx + edx*4 + 0x104]
mov edx, dword [eax]
call dword [edx]
mov word [ebp - 0x2630], 0
jmp 0x45d5bc
mov edx, 0x4a6146
mov eax, 0x4a6129
xor ecx, ecx
call fcn.0046bff8
test eax, eax
je 0x45d8bb
cmp byte [ebp - 0x2649], 0
jne 0x45d8bb
cmp dword [0x4c3de4], 1
jne 0x45d5f8
cmp byte [0x4b9273], 0
je 0x45d8bb
mov word [ebp - 0x2630], 0x14
lea eax, [ebp - 0xf8]
call fcn.0040f5c0
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x20
mov edx, 0x4a6153
lea eax, [ebp - 0xf8]
call fcn.0040f744
lea eax, [ebp - 0x52ec]
call fcn.00413750
lea eax, [ebp - 0x52c0]
call fcn.00413750
lea eax, [ebp - 0x5294]
call fcn.00413750
mov word [ebp - 0x2630], 0x2c
push 0
push 3
lea edx, [ebp - 0xf8]
lea eax, [ebp - 0x2524]
xor ecx, ecx
call fcn.00412c98
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.0040ba30
mov ebx, eax
jmp 0x45d6eb
push 0x4a6155
lea eax, [ebp - 0x5f00]
push eax
call fcn.0049497c
add esp, 8
test eax, eax
je 0x45d6eb
push 0x4a6157
lea edx, [ebp - 0x5f00]
push edx
call fcn.0049497c
add esp, 8
test eax, eax
je 0x45d6eb
cmp byte [ebp - 0x52f0], 0
je 0x45d6ea
lea eax, [ebp - 0x5f00]
mov edx, ebx
call fcn.0040edcc
test eax, eax
jne 0x45d6e7
mov byte [ebp - 0x264a], 1
inc edi
jmp 0x45d6eb
inc esi
lea edx, [ebp - 0x5f00]
lea eax, [ebp - 0x2524]
call fcn.00412dcc
test eax, eax
je 0x45d696
cmp byte [ebp - 0x264a], 0
je 0x45d885
dec edi
jne 0x45d885
test esi, esi
jne 0x45d885
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.004949f8
pop ecx
cmp eax, 0x3ec
jae 0x45d885
push ebx
call fcn.004949f8
pop ecx
cmp eax, 0x1fb
jae 0x45d885
push 0x4a6157
call fcn.0049635c
pop ecx
test eax, eax
jne 0x45d885
lea eax, [ebp - 0x2a4c]
push eax
lea edx, [ebp - 0x6300]
push edx
call fcn.004949c8
add esp, 8
push str..rartmp
lea ecx, [ebp - 0x6300]
push ecx
call fcn.004948ec
add esp, 8
push ebx
lea eax, [ebp - 0x6700]
push eax
call fcn.004949c8
add esp, 8
lea eax, [ebp - 0x6700]
call fcn.0040bf34
push ebx
lea edx, [ebp - 0x6700]
push edx
call fcn.004948ec
add esp, 8
lea eax, [ebp - 0x6300]
xor edx, edx
call fcn.0040a4d8
test al, al
jne 0x45d878
lea eax, [ebp - 0x6700]
xor edx, edx
call fcn.0040a4d8
test al, al
je 0x45d878
push 0
lea ecx, [ebp - 0x6300]
push ecx
lea eax, [ebp - 0x2a4c]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x45d878
lea eax, [ebp - 0x6300]
call fcn.0040ba30
push eax
lea edx, [ebp - 0x6700]
push edx
call fcn.004949c8
add esp, 8
lea eax, [ebp - 0x6700]
call fcn.0040bf34
push ebx
lea edx, [ebp - 0x6700]
push edx
call fcn.004948ec
add esp, 8
lea eax, [ebp - 0x6700]
xor edx, edx
call fcn.0040a4d8
test al, al
je 0x45d863
push 0
lea ecx, [ebp - 0x2a4c]
push ecx
lea eax, [ebp - 0x6700]
push eax
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x45d863
lea edx, [ebp - 0x6300]
push edx
call sub.KERNEL32.DLL_RemoveDirectoryA
jmp 0x45d878
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.0049635c
pop ecx
dec dword [ebp - 0x2624]
lea eax, [ebp - 0x2524]
mov edx, 2
call fcn.00412d70
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0040f698
mov word [ebp - 0x2630], 0
cmp byte [0x4b818a], 0
jne 0x45dad1
cmp dword [0x4b927c], 0
je 0x45dad1
call fcn.0044e3dc
cmp eax, dword [ebp - 0x2648]
jne 0x45dad1
cmp dword [0x4c3df4], 0
jne 0x45dad1
cmp dword [0x4c3df0], 0
jne 0x45dad1
cmp dword [0x4ae120], 0
jne 0x45dad1
xor ebx, ebx
mov eax, dword [0x4baab4]
call fcn.0040f90c
jmp 0x45d937
push 0x4a6153
lea edx, [ebp - 0x6b00]
push edx
call fcn.0049497c
add esp, 8
test eax, eax
jne 0x45d937
mov bl, 1
jmp 0x45d950
lea edx, [ebp - 0x6b00]
mov ecx, 0x400
mov eax, dword [0x4baab4]
call fcn.0040f7c8
test al, al
jne 0x45d91b
test bl, bl
je 0x45d999
cmp dword [0x4b927c], 1
jne 0x45d999
push 0x24
mov eax, 0x24e
call fcn.00411fe8
push eax
mov eax, 0x578
call fcn.00411fe8
push eax
cmp dword [0x4c144c], 0
je 0x45d986
mov edx, dword [0x4c144c]
jmp 0x45d98c
mov edx, dword [0x4c1440]
push edx
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
je 0x45d999
xor ebx, ebx
mov word [ebp - 0x2630], 0x38
test bl, bl
je 0x45daae
mov word [ebp - 0x2630], 0x44
lea eax, [ebp - 0x261c]
call fcn.0040f5c0
add dword [ebp - 0x2624], 4
mov word [ebp - 0x2630], 0x50
mov ecx, 0x4ba2b4
mov edx, 0x4b9eb4
lea eax, [ebp - 0x261c]
call fcn.0040f74c
push 1
push 2
mov ecx, 0x4ba2b4
mov edx, 0x4b9eb4
mov eax, 0x4c219c
call fcn.00460e08
dec eax
jne 0x45da6e
push 0x4b9eb4
lea edx, [ebp - 0x6f00]
push edx
call fcn.004949c8
add esp, 8
jmp 0x45da25
lea edx, [ebp - 0x6f00]
lea eax, [ebp - 0x261c]
call fcn.0040f744
lea edx, [ebp - 0x6f00]
mov eax, 0x4c219c
call fcn.00462a50
test al, al
je 0x45da6e
lea eax, [ebp - 0x6f00]
xor edx, edx
call fcn.0040a4d8
test al, al
jne 0x45da14
jmp 0x45da6e
lea edx, [ebp - 0x7b00]
lea eax, [ebp - 0x7300]
call fcn.0040a904
lea edx, [ebp - 0x7b00]
lea eax, [ebp - 0x7300]
call fcn.0040ad0c
push 0x400
lea ecx, [ebp - 0x7b00]
lea edx, [ebp - 0x7300]
lea eax, [ebp - 0x261c]
call fcn.0040f7d4
test al, al
jne 0x45da4c
sub dword [ebp - 0x2624], 4
lea eax, [ebp - 0x261c]
mov edx, 2
call fcn.0040f698
mov word [ebp - 0x2630], 0x38
mov word [ebp - 0x2630], 0
jmp 0x45dad1
mov dl, byte [ebp - 0x2649]
mov byte [0x4b8651], dl
lea ecx, [ebp - 0x2a4c]
push ecx
call fcn.0049635c
pop ecx
cmp dword [0x4c3de4], 0
jne 0x45db07
cmp byte [ebp - 0x2643], 0
je 0x45db07
push dword [0x4c144c]
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