Function at 0x48d140
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53c68a
mov eax, dword fs:[0]
push eax
mov eax, 0x1110
call fcn.004fa800
mov eax, dword [0x5954a0]
xor eax, ebp
mov dword [ebp - 0x34], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x5c0], 0
xor eax, eax
mov word [ebp - 0x5bc], ax
push 0x3fe
push 0
lea ecx, [ebp - 0x5ba]
push ecx
call fcn.004f8090
add esp, 0xc
mov dword [ebp - 0x1b8], 0
push 0
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x1b4]
call fcn.0048bd40
mov dword [ebp - 4], 0
push 0xa
lea ecx, [ebp - 0x30]
call fcn.0048f180
mov byte [ebp - 4], 1
xor edx, edx
mov word [ebp - 0x7c4], dx
push 0x1fe
push 0
lea eax, [ebp - 0x7c2]
push eax
call fcn.004f8090
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x48d1fb
cmp dword [ebp + 0xc], 0
jne 0x48d22e
mov dword [ebp - 0xfdc], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0048f290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b4]
call fcn.0048bdd0
mov eax, dword [ebp - 0xfdc]
jmp 0x48d83d
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
je 0x48d253
mov edx, dword [ebp - 0x14]
and edx, 0x10
je 0x48d253
mov dword [ebp - 0x1b8], 1
cmp dword [ebp - 0x1b8], 0
je 0x48d349
xor eax, eax
mov word [ebp - 0xbcc], ax
push 0x3fe
push 0
lea ecx, [ebp - 0xbca]
push ecx
call fcn.004f8090
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0xbcc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0xbcc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
movzx edx, word [ebp + eax*2 - 0xbce]
cmp edx, 0x5c
jne 0x48d2c1
lea eax, [ebp - 0xbcc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
xor ecx, ecx
mov word [ebp + eax*2 - 0xbce], cx
push 0x5c
lea edx, [ebp - 0xbcc]
push edx
call fcn.004f8f45
add esp, 8
test eax, eax
je 0x48d2ec
push 0x5c
lea eax, [ebp - 0xbcc]
push eax
call fcn.004f8f45
add esp, 8
xor ecx, ecx
mov word [eax], cx
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0xfe0], esp
lea edx, [ebp - 0xbcc]
push edx
call fcn.0044f380
mov dword [ebp - 0x110c], eax
mov eax, dword [ebp - 0x110c]
mov dword [ebp - 0x1110], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x30]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0xfe4], esp
mov edx, dword [ebp + 8]
push edx
call fcn.0044f380
mov dword [ebp - 0x1114], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1b4]
call fcn.0048c790
jmp 0x48d3f8
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0xfec]
call fcn.0044f380
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0xff0]
call fcn.0044f380
mov byte [ebp - 4], 4
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0xfe8], esp
mov dword [ebp - 0x1040], edx
lea eax, [ebp - 0xff0]
push eax
mov ecx, dword [ebp - 0x1040]
call fcn.00451520
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xfec]
push ecx
mov ecx, dword [ebp - 0x1040]
add ecx, 4
call fcn.0048f8f0
mov edx, dword [ebp - 0x1040]
mov byte [edx + 8], 0
mov eax, dword [ebp - 0x1040]
mov dword [eax + 0xc], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1040]
mov dword [ebp - 0x1118], ecx
lea ecx, [ebp - 0x30]
call fcn.0048f1e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xff0]
call fcn.0044f990
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xfec]
call fcn.0044f990
lea edx, [ebp - 0x5bc]
push edx
push 0x200
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x5bc]
push eax
call fcn.004f810a
add esp, 4
movzx ecx, word [ebp + eax*2 - 0x5be]
cmp ecx, 0x5c
je 0x48d438
push 0x5668c0
lea edx, [ebp - 0x5bc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0x5bc]
push eax
push str._s_x08.tmp
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x1b4]
call fcn.0048be30
test eax, eax
jne 0x48d49e
mov dword [ebp - 0xff4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0048f290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b4]
call fcn.0048bdd0
mov eax, dword [ebp - 0xff4]
jmp 0x48d83d
mov dword [ebp - 0x5c0], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x104c], eax
mov ecx, dword [ebp - 0x104c]
mov dword [ebp - 0x7c8], ecx
cmp dword [ebp - 0x7c8], 0
je 0x48d802
mov edx, dword [ebp - 0x7c8]
mov dword [ebp - 0x1050], edx
mov eax, dword [ebp - 0x1050]
mov ecx, dword [eax]
mov dword [ebp - 0x7c8], ecx
mov edx, dword [ebp - 0x1050]
add edx, 8
mov dword [ebp - 0xfd8], edx
mov dword [ebp - 0xbd0], 0
xor eax, eax
mov word [ebp - 0xfd4], ax
push 0x3fe
push 0
lea ecx, [ebp - 0xfd2]
push ecx
call fcn.004f8090
add esp, 0xc
mov edx, dword [ebp - 0xfd8]
mov eax, dword [edx]
mov dword [ebp - 0x1054], eax
push 0x100
lea ecx, [ebp - 0x7c4]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x1054]
push edx
call fcn.004fad12
add esp, 0x24
push 0x100
lea eax, [ebp - 0x7c4]
push eax
call fcn.004fbb1d
add esp, 8
push str..CDG
lea ecx, [ebp - 0x7c4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x48d585
mov dword [ebp - 0xbd0], 1
cmp dword [ebp - 0x1b8], 0
jne 0x48d77d
cmp dword [ebp - 0xbd0], 0
je 0x48d77d
cmp dword [ebp + 0x24], 0
je 0x48d77d
cmp dword [ebp + 0x20], 0
je 0x48d77d
mov edx, dword [ebp - 0xfd8]
mov eax, dword [edx]
mov dword [ebp - 0x1058], eax
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0xfd4]
push edx
mov eax, dword [ebp - 0x1058]
push eax
call dword [ebp + 0x24]
add esp, 0xc
test eax, eax
jne 0x48d5e2
jmp 0x48d4bd
mov ecx, dword [ebp - 0xfd8]
mov edx, dword [ecx + 4]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0x105c], eax
mov ecx, dword [ebp - 0x105c]
sub ecx, 4
push ecx
lea edx, [ebp - 0xff8]
push edx
mov ecx, dword [ebp - 0xfd8]
add ecx, 4
call fcn.0044e740
mov dword [ebp - 0x111c], eax
mov eax, dword [ebp - 0x111c]
mov dword [ebp - 0x1078], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xfd8]
add ecx, 4
mov dword [ebp - 0x1074], ecx
mov edx, dword [ebp - 0x1078]
push edx
mov ecx, dword [ebp - 0x1074]
call fcn.0044f9d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xff8]
call fcn.0044f990
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1080], ecx
push 0x100
lea edx, [ebp - 0x7c4]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x1080]
push eax
call fcn.004fad12
add esp, 0x24
push 0x100
lea ecx, [ebp - 0x7c4]
push ecx
call fcn.004fc3f0
add esp, 8
mov edx, dword [ebp + 0x20]
push edx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x48d6c8
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.004fc3f0
add esp, 8
mov edx, dword [ebp + 0x20]
push edx
lea eax, [ebp - 0x7c4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x48d739
push 0x548c24
mov ecx, dword [ebp - 0xfd8]
add ecx, 4
call fcn.0046fb10
mov ecx, dword [ebp - 0xfd8]
add ecx, 4
mov dword [ebp - 0x10d4], ecx
cmp dword [ebp + 0x20], 0
jne 0x48d711
mov dword [ebp - 0x10b0], 0
jmp 0x48d723
mov edx, dword [ebp + 0x20]
push edx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x10b0], eax
mov eax, dword [ebp - 0x10b0]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp - 0x10d4]
call fcn.0044ecb0
lea edx, [ebp - 0xfd4]
test edx, edx
jne 0x48d74f
mov dword [ebp - 0x10d8], 0
jmp 0x48d764
lea eax, [ebp - 0xfd4]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x10d8], eax
mov ecx, dword [ebp - 0x10d8]
push ecx
lea edx, [ebp - 0xfd4]
push edx
mov ecx, dword [ebp - 0xfd8]
call fcn.0044fb50
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1104], ecx
mov edx, dword [ebp - 0xfd8]
mov eax, dword [edx]
mov dword [ebp - 0x1108], eax
mov ecx, dword [ebp - 0x1b8]
push ecx
mov edx, dword [ebp - 0xfd8]
movzx eax, byte [edx + 8]
neg eax
sbb eax, eax
neg eax
sub eax, 1
push eax
mov ecx, dword [ebp - 0x1104]
push ecx
mov edx, dword [ebp - 0x1108]
push edx
lea ecx, [ebp - 0x1b4]
call fcn.0048c420
test eax, eax
jne 0x48d7dc
mov dword [ebp - 0x5c0], 0
cmp dword [ebp - 0xbd0], 0
je 0x48d7f2
lea eax, [ebp - 0xfd4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x5c0], 0
jne 0x48d7fd
jmp 0x48d802
jmp 0x48d4bd
lea ecx, [ebp - 0x1b4]
call fcn.0048c350
mov ecx, dword [ebp - 0x5c0]
mov dword [ebp - 0xffc], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0048f290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b4]
call fcn.0048bdd0
mov eax, dword [ebp - 0xffc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x34]
xor ecx, ebp
call fcn.004f8124
mov esp, ebp
pop ebp
ret