Function at 0x639020
Capabilities:
Delete file
Get common file path
Move file
Set current directory

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x161
push 0
push 0
dec ecx
jne 0x639028
push ebx
push esi
push edi
lea eax, [ebp - 0x270]
mov edx, dword [0x41c15c]
call fcn.0040b070
xor eax, eax
push ebp
push 0x639b59
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0063644c
lea edx, [ebp - 0xa98]
mov eax, 2
call fcn.00407724
mov eax, dword [ebp - 0xa98]
mov edx, 0x639b74
call fcn.0040adac
sete byte [ebp - 0x291]
cmp byte [ebp - 0x291], 0
jne 0x6390a5
push 0x2024
mov ecx, 0x639b88
mov edx, 0x639ba4
xor eax, eax
call fcn.005adb60
cmp eax, 6
jne 0x639b18
mov dl, 1
mov eax, dword [0x4db1c0]
call fcn.004dc228
mov dword [ebp - 0x284], eax
xor edx, edx
push ebp
push 0x639b11
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, 0x80000002
mov eax, dword [ebp - 0x284]
call fcn.004dc310
mov edx, 0x639cf0
mov eax, dword [ebp - 0x284]
call fcn.004dc4ac
test al, al
jne 0x639119
mov edx, 0x80000001
mov eax, dword [ebp - 0x284]
call fcn.004dc310
xor ecx, ecx
mov edx, 0x639cf0
mov eax, dword [ebp - 0x284]
call fcn.004dc378
test al, al
jne 0x639119
call fcn.00409594
jmp 0x639b18
lea ecx, [ebp - 0xa9c]
mov edx, 0x639d24
mov eax, dword [ebp - 0x284]
call fcn.004dcc1c
mov eax, dword [ebp - 0xa9c]
lea edx, [ebp - 0x27c]
call fcn.00424e20
mov eax, dword [ebp - 0x27c]
call fcn.004071a0
push 0x400
lea eax, [ebp - 0xa94]
push eax
call sub.kernel32.dll_GetWindowsDirectoryW
lea eax, [ebp - 0xaa0]
lea edx, [ebp - 0xa94]
mov ecx, 0x401
call fcn.0040aa64
lea eax, [ebp - 0xaa0]
mov edx, 0x639d4c
call fcn.0040abbc
mov eax, dword [ebp - 0xaa0]
call fcn.0040a9b0
push eax
call sub.kernel32.dll_DeleteFileW
push 4
push 0
lea edx, [ebp - 0xaa4]
xor eax, eax
call fcn.00407724
mov eax, dword [ebp - 0xaa4]
call fcn.0040a9b0
push eax
call sub.kernel32.dll_MoveFileExW
push 0x400
lea eax, [ebp - 0xa94]
push eax
call sub.kernel32.dll_GetSystemDirectoryW
lea edx, [ebp - 0xaa8]
lea eax, [ebp - 0xa94]
call fcn.00425474
lea eax, [ebp - 0xaa8]
mov edx, 0x639d4c
call fcn.0040abbc
mov eax, dword [ebp - 0xaa8]
call fcn.0040a9b0
push eax
call sub.kernel32.dll_DeleteFileW
mov edx, 0x639d70
mov eax, dword [ebp - 0x284]
call fcn.004dcf1c
test al, al
je 0x63937c
call fcn.005ad64c
test al, al
je 0x63937c
lea edx, [ebp - 0xaac]
lea eax, [ebp - 0xa94]
call fcn.00425474
lea eax, [ebp - 0xaac]
mov edx, 0x639d8c
call fcn.0040abbc
mov eax, dword [ebp - 0xaac]
mov dl, 1
call fcn.0042480c
test al, al
je 0x63927f
lea edx, [ebp - 0xab0]
lea eax, [ebp - 0xa94]
call fcn.00425474
lea eax, [ebp - 0xab0]
mov edx, 0x639d8c
call fcn.0040abbc
mov eax, dword [ebp - 0xab0]
xor ecx, ecx
mov dl, 1
call fcn.005ae6ac
mov edx, 0x639d70
mov eax, dword [ebp - 0x284]
call fcn.004dcd4c
fstp qword [ebp - 0x290]
wait
call fcn.004276e8
fsub qword [ebp - 0x290]
fld dword [0x639db8]
fucompp
wait
fnstsw ax
sahf
jp 0x6392b5
jbe 0x63937c
lea edx, [ebp - 0xab4]
lea eax, [ebp - 0xa94]
call fcn.00425474
push dword [ebp - 0xab4]
push 0x639dc8
push 0x639d8c
lea eax, [ebp - 0x280]
mov edx, 3
call fcn.0040ac9c
mov dl, 1
mov eax, dword [ebp - 0x280]
call fcn.0042480c
test al, al
je 0x639316
xor ecx, ecx
mov dl, 1
mov eax, 0x639d8c
call fcn.005ae6ac
mov eax, dword [ebp - 0x280]
call fcn.0040a9b0
push eax
call sub.kernel32.dll_DeleteFileW
call fcn.005ae1b4
test al, al
je 0x63937c
lea edx, [ebp - 0xab8]
mov al, 0x15
call fcn.005ad76c
push dword [ebp - 0xab8]
push 0x639dd8
push 0x639d8c
lea eax, [ebp - 0x280]
mov edx, 3
call fcn.0040ac9c
mov dl, 1
mov eax, dword [ebp - 0x280]
call fcn.0042480c
test al, al
je 0x63937c
mov cl, 1
mov dl, 1
mov eax, 0x639d8c
call fcn.005ae6ac
mov eax, dword [ebp - 0x280]
call fcn.0040a9b0
push eax
call sub.kernel32.dll_DeleteFileW
push 0x639df0
call sub.kernel32.dll_DeleteFileW
push 0x639e28
call sub.kernel32.dll_DeleteFileW
push 0x639e54
call sub.kernel32.dll_DeleteFileW
push 0x639e8c
call sub.kernel32.dll_DeleteFileW
push 0x639ea0
call sub.kernel32.dll_DeleteFileW
push 0x639eb4
call sub.kernel32.dll_DeleteFileW
push 0x639ecc
call sub.kernel32.dll_DeleteFileW
push 0x639ee0
call sub.kernel32.dll_DeleteFileW
push 0x639ef4
call sub.kernel32.dll_DeleteFileW
push 0x639f08
call sub.kernel32.dll_DeleteFileW
push 0x639f1c
call sub.kernel32.dll_DeleteFileW
push 0x639f34
call sub.kernel32.dll_DeleteFileW
push 0x639f54
call sub.kernel32.dll_DeleteFileW
push 0x639f74
call sub.kernel32.dll_DeleteFileW
push 0x639f94
call sub.kernel32.dll_DeleteFileW
mov cl, 1
mov edx, 0x639fbc
mov eax, 0x639fd0
call fcn.005adf1c
mov eax, 0x639ff8
call fcn.00407800
lea ecx, [ebp - 0x270]
mov edx, 0x23
mov eax, 0x63a01c
call fcn.00424bd0
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jne 0x639458
push ebp
call fcn.00638fe8
pop ecx
lea eax, [ebp - 0x270]
call fcn.00424c44
lea ecx, [ebp - 0x270]
mov edx, 0x23
mov eax, 0x63a03c
call fcn.00424bd0
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jne 0x63948e
push ebp
call fcn.00638fe8
pop ecx
lea eax, [ebp - 0x270]
call fcn.00424c44
lea ecx, [ebp - 0x270]
mov edx, 0x23
mov eax, 0x63a054
call fcn.00424bd0
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jne 0x6394c4
push ebp
call fcn.00638fe8
pop ecx
lea eax, [ebp - 0x270]
call fcn.00424c44
lea ecx, [ebp - 0x270]
mov edx, 0x23
mov eax, 0x63a06c
call fcn.00424bd0
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jne 0x6394fa
push ebp
call fcn.00638fe8
pop ecx
lea eax, [ebp - 0x270]
call fcn.00424c44
lea ecx, [ebp - 0x270]
mov edx, 0x23
mov eax, 0x63a084
call fcn.00424bd0
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jne 0x639530
push ebp
call fcn.00638fe8
pop ecx
lea eax, [ebp - 0x270]
call fcn.00424c44
xor eax, eax
push ebp
push 0x63963e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0xabc]
mov al, 0x18
call fcn.005ad76c
lea eax, [ebp - 0xabc]
mov edx, 0x63a09c
call fcn.0040abbc
mov eax, dword [ebp - 0xabc]
call fcn.0040a9b0
push eax
call sub.kernel32.dll_SetCurrentDirectoryW
test eax, eax
je 0x639634
lea ecx, [ebp - 0x270]
mov edx, 0x23
mov eax, 0x639fbc
call fcn.00424bd0
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jne 0x6395ce
cmp byte [ebp - 0x291], 0
jne 0x6395c7
push 0x2024
mov ecx, 0x639b88
mov edx, 0x63a0c4
xor eax, eax
call fcn.005adb60
cmp eax, 6
jne 0x6395ce
push ebp
call fcn.00638fe8
pop ecx
lea eax, [ebp - 0x270]
call fcn.00424c44
mov eax, dword [ebp - 0x27c]
call fcn.004071a0
lea edx, [ebp - 0xac0]
mov al, 0x18
call fcn.005ad76c
lea eax, [ebp - 0xac0]
mov edx, 0x63a09c
call fcn.0040abbc
mov eax, dword [ebp - 0xac0]
call fcn.00407800
lea edx, [ebp - 0xac4]
mov al, 0x18
call fcn.005ad76c
lea eax, [ebp - 0xac4]
mov edx, 0x639b88
call fcn.0040abbc
mov eax, dword [ebp - 0xac4]
call fcn.00407800
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x639648
mov eax, 0x63a134
call fcn.004071a0
mov eax, dword [ebp - 0x27c]
call fcn.00407800
mov edx, 0x639cf0
mov eax, dword [ebp - 0x284]
call fcn.005add34
xor ecx, ecx
mov edx, 0x63a148
mov eax, dword [ebp - 0x284]
call fcn.004dc378
mov eax, dword [ebp - 0x284]
call fcn.004dce50
test al, al
jne 0x63969e
mov edx, 0x63a148
mov eax, dword [ebp - 0x284]
call fcn.004dc694
mov al, 1
call fcn.00638094
mov eax, dword [ebp - 0x284]
call fcn.004dc2e0
mov edx, 0x80000001
mov eax, dword [ebp - 0x284]
call fcn.004dc310
mov edx, 0x63a178
mov eax, dword [ebp - 0x284]
call fcn.004dc694
mov edx, 0x80000002
mov eax, dword [ebp - 0x284]
call fcn.004dc310
mov edx, 0x63a1f8
mov eax, dword [ebp - 0x284]
call fcn.004dc694
xor edx, edx
push ebp
push 0x6397c1
push dword fs:[edx]
mov dword fs:[edx], esp
xor ecx, ecx
mov edx, 0x63a280
mov eax, dword [ebp - 0x284]
call fcn.004dc378
test al, al
je 0x6397b7
lea edx, [ebp - 0xac8]
mov eax, dword [ebp - 0x27c]
call fcn.004232e4
mov ebx, dword [ebp - 0xac8]
lea ecx, [ebp - 0xad0]
mov edx, 0x63a314
mov eax, dword [ebp - 0x284]
call fcn.004dcc1c
mov eax, dword [ebp - 0xad0]
lea edx, [ebp - 0xacc]
call fcn.004232e4
mov eax, dword [ebp - 0xacc]
mov ecx, 1
mov edx, eax
mov eax, ebx
call fcn.0040af40
test eax, eax
je 0x6397ac
mov eax, dword [ebp - 0x284]
call fcn.004dc2e0
mov edx, 0x63a280
mov eax, dword [ebp - 0x284]
call fcn.004dc694
lea edx, [ebp - 0xad4]
mov eax, 0x63a280
call fcn.00424e20
mov edx, dword [ebp - 0xad4]
mov eax, dword [ebp - 0x284]
call fcn.005ae80c
jmp 0x6397b7
mov eax, dword [ebp - 0x284]
call fcn.004dc2e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6397cb
mov eax, dword [ebp - 0x284]
call fcn.00408128
mov dl, 1
mov eax, dword [0x4db1c0]
call fcn.004dc228
mov dword [ebp - 0x284], eax
mov edx, 0x80000002
mov eax, dword [ebp - 0x284]
call fcn.004dc310
xor eax, eax
mov dword [ebp - 0x274], eax
xor edx, edx
push ebp
push 0x639a0f
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0xad8]
mov eax, dword [0x6b8620]
call fcn.0040fe64
mov edx, dword [ebp - 0xad8]
xor ecx, ecx
mov eax, dword [ebp - 0x284]
call fcn.004dc378
test al, al
je 0x63986e
xor edx, edx
mov eax, dword [ebp - 0x284]
call fcn.004dc864
mov eax, dword [ebp - 0x284]
call fcn.004dc2e0
lea edx, [ebp - 0xadc]
mov eax, dword [0x6b8620]
call fcn.0040fe64
mov edx, dword [ebp - 0xadc]
mov eax, dword [ebp - 0x284]
call fcn.005ae80c
lea edx, [ebp - 0xae0]
mov eax, dword [0x6b8e0c]
call fcn.0040fe64
mov edx, dword [ebp - 0xae0]
xor ecx, ecx
mov eax, dword [ebp - 0x284]
call fcn.004dc378
test al, al
je 0x6398ce
xor edx, edx
mov eax, dword [ebp - 0x284]
call fcn.004dc864
mov eax, dword [ebp - 0x284]
call fcn.004dc2e0
lea edx, [ebp - 0xae4]
mov eax, dword [0x6b8e0c]
call fcn.0040fe64
mov edx, dword [ebp - 0xae4]
mov eax, dword [ebp - 0x284]
call fcn.005ae80c
lea edx, [ebp - 0xae8]
mov eax, dword [0x6b8a80]
call fcn.0040fe64
mov edx, dword [ebp - 0xae8]
xor ecx, ecx
mov eax, dword [ebp - 0x284]
call fcn.004dc378
test al, al
je 0x63996a
lea ecx, [ebp - 0xaec]
xor edx, edx
mov eax, dword [ebp - 0x284]
call fcn.004dcc1c
mov eax, dword [ebp - 0xaec]
mov ecx, 1
mov edx, eax
mov eax, dword [ebp - 0x27c]
call fcn.0040af40
test eax, eax
je 0x63995f
xor edx, edx
mov eax, dword [ebp - 0x284]
call fcn.004dc864
mov eax, dword [ebp - 0x284]
call fcn.004dc2e0
lea edx, [ebp - 0xaf0]
mov eax, dword [0x6b8a80]
call fcn.0040fe64
mov edx, dword [ebp - 0xaf0]
mov eax, dword [ebp - 0x284]
call fcn.005ae80c
jmp 0x63996a
mov eax, dword [ebp - 0x284]
call fcn.004dc2e0
xor ecx, ecx
mov edx, 0x63a32c
mov eax, dword [ebp - 0x284]
call fcn.004dc378
test al, al
je 0x639a05
lea ecx, [ebp - 0x278]
mov edx, 0x63a384
mov eax, dword [ebp - 0x284]
call fcn.004dcc1c
lea edx, [ebp - 0xaf4]
mov eax, dword [ebp - 0x27c]
call fcn.004232e4
mov ebx, dword [ebp - 0xaf4]
lea edx, [ebp - 0xaf8]
mov eax, dword [ebp - 0x278]
call fcn.004232e4
mov eax, dword [ebp - 0xaf8]
mov ecx, 1
mov edx, eax
mov eax, ebx
call fcn.0040af40
test eax, eax
je 0x6399ea
mov edx, 0x63a384
mov eax, dword [ebp - 0x284]
call fcn.004dc864
mov eax, dword [ebp - 0x284]
call fcn.004dc2e0
mov edx, 0x63a32c
mov eax, dword [ebp - 0x284]
call fcn.005ae80c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x639a19
mov edx, 0x80000001
mov eax, dword [ebp - 0x284]
call fcn.004dc310
inc dword [ebp - 0x274]
cmp dword [ebp - 0x274], 2
jne 0x639800
xor eax, eax
push ebp
push 0x639acd
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0xb00]
mov al, 0x14
call fcn.005ad76c
mov eax, dword [ebp - 0xb00]
lea edx, [ebp - 0xafc]
call fcn.005ae954
lea eax, [ebp - 0xafc]
mov edx, 0x63a3c8
call fcn.0040abbc
mov eax, dword [ebp - 0xafc]
mov cl, 1
mov edx, 0x639fbc
call fcn.005adf1c
lea edx, [ebp - 0xb08]
mov al, 0x14
call fcn.005ad76c
mov eax, dword [ebp - 0xb08]
lea edx, [ebp - 0xb04]
call fcn.005ae954
lea eax, [ebp - 0xb04]
mov edx, 0x639b88
call fcn.0040abbc
mov eax, dword [ebp - 0xb04]
call fcn.00407800
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x639ad7
cmp byte [ebp - 0x291], 0
jne 0x639af6
push 0x2040
mov ecx, 0x639b88
mov edx, 0x63a3e8
xor eax, eax
call fcn.005adb60
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x639b18
mov eax, dword [ebp - 0x284]
call fcn.00408128
pop eax
jmp eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x639b60
lea eax, [ebp - 0xb08]
mov edx, 0x1d
call fcn.00409e08
lea eax, [ebp - 0x280]
mov edx, 3
call fcn.00409e08
lea eax, [ebp - 0x270]
mov edx, dword [0x41c15c]
call fcn.0040b45c
pop eax
jmp eax