Function at 0x41e260
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x68dfc9
mov eax, dword fs:[0]
push eax
sub esp, 0x23c
mov eax, dword [0x737100]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x238], ecx
push 0x71c537
mov ecx, dword [ebp + 0xc]
call fcn.0040f790
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov ecx, dword [ebp + 0x14]
call fcn.00421960
mov ecx, dword [ebp + 0x18]
call fcn.00421760
mov ecx, dword [ebp + 8]
call fcn.00403020
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41e2ce
xor al, al
jmp 0x41eebc
push 0
lea ecx, [ebp - 0x1d8]
call fcn.0043dde0
mov dword [ebp - 4], 0
push 1
lea ecx, [ebp - 0x1d8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042c1c0
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x41e322
mov byte [ebp - 0x1bf], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1bf]
jmp 0x41eebc
lea ecx, [ebp - 0x1d8]
call fcn.004427d0
movzx ecx, al
test ecx, ecx
je 0x41e3a5
push 0x71ea78
lea ecx, [ebp - 0x1d8]
call fcn.00441f40
movzx edx, al
test edx, edx
je 0x41e3a5
push 0x71ea84
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx eax, al
test eax, eax
jne 0x41e3a5
push 0x71ea90
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx ecx, al
test ecx, ecx
jne 0x41e3a5
push 0x71ea9c
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx edx, al
test edx, edx
jne 0x41e3c9
mov byte [ebp - 0x1c0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1c0]
jmp 0x41eebc
lea ecx, [ebp - 0x1d8]
call fcn.004427d0
movzx eax, al
test eax, eax
je 0x41e44c
push 0x71eaa8
lea ecx, [ebp - 0x1d8]
call fcn.00441f40
movzx ecx, al
test ecx, ecx
je 0x41e44c
push 0x71eab4
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx edx, al
test edx, edx
jne 0x41e44c
push 0x71eac0
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx eax, al
test eax, eax
jne 0x41e44c
push 0x71eacc
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00442250
movzx ecx, al
test ecx, ecx
jne 0x41e470
mov byte [ebp - 0x1b5], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1b5]
jmp 0x41eebc
lea ecx, [ebp - 0x1d8]
call fcn.004427d0
movzx edx, al
test edx, edx
je 0x41e4f3
push 0x71ead8
lea ecx, [ebp - 0x1d8]
call fcn.00441f40
movzx eax, al
test eax, eax
je 0x41e4f3
push 0x71eae0
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx ecx, al
test ecx, ecx
jne 0x41e4f3
push 0x71eae8
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx edx, al
test edx, edx
jne 0x41e4f3
push 0x71eaf0
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00442790
movzx eax, al
test eax, eax
jne 0x41e517
mov byte [ebp - 0x1b6], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1b6]
jmp 0x41eebc
lea ecx, [ebp - 0x1ec]
call fcn.00421a00
mov byte [ebp - 4], 1
push str.files
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1e0], 0
jmp 0x41e557
mov ecx, dword [ebp - 0x1e0]
add ecx, 1
mov dword [ebp - 0x1e0], ecx
mov ecx, dword [ebp - 0x1f4]
call fcn.00440690
cmp dword [ebp - 0x1e0], eax
jae 0x41ea50
mov edx, dword [ebp - 0x1e0]
push edx
mov ecx, dword [ebp - 0x1f4]
call fcn.00440ac0
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1b0]
call fcn.004427d0
movzx eax, al
test eax, eax
jne 0x41e5cb
mov byte [ebp - 0x1b7], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ec]
call fcn.004219e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1b7]
jmp 0x41eebc
push 0x71eb00
mov ecx, dword [ebp - 0x1b0]
call fcn.00441f40
movzx ecx, al
test ecx, ecx
je 0x41e63c
push 0x71eb08
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx edx, al
test edx, edx
jne 0x41e63c
push 0x71eb10
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx eax, al
test eax, eax
jne 0x41e63c
push 0x71eb18
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx ecx, al
test ecx, ecx
jne 0x41e66f
mov byte [ebp - 0x1b8], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ec]
call fcn.004219e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1b8]
jmp 0x41eebc
push 0x71eb20
mov ecx, dword [ebp - 0x1b0]
call fcn.00441f40
movzx edx, al
test edx, edx
je 0x41e6e0
push 0x71eb28
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx eax, al
test eax, eax
jne 0x41e6e0
push 0x71eb30
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx ecx, al
test ecx, ecx
jne 0x41e6e0
push 0x71eb38
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx edx, al
test edx, edx
jne 0x41e713
mov byte [ebp - 0x1be], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ec]
call fcn.004219e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1be]
jmp 0x41eebc
push 0x71eb40
mov ecx, dword [ebp - 0x1b0]
call fcn.00441f40
movzx eax, al
test eax, eax
je 0x41e784
push 0x71eb44
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx ecx, al
test ecx, ecx
jne 0x41e784
push 0x71eb48
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx edx, al
test edx, edx
jne 0x41e784
push 0x71eb4c
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx eax, al
test eax, eax
jne 0x41e7b7
mov byte [ebp - 0x1b9], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ec]
call fcn.004219e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1b9]
jmp 0x41eebc
push 0x71eb50
mov ecx, dword [ebp - 0x1b0]
call fcn.00441f40
movzx ecx, al
test ecx, ecx
je 0x41e828
push 0x71eb58
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx edx, al
test edx, edx
jne 0x41e828
push 0x71eb60
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx eax, al
test eax, eax
jne 0x41e828
push 0x71eb68
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00442250
movzx ecx, al
test ecx, ecx
jne 0x41e85b
mov byte [ebp - 0x1ba], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ec]
call fcn.004219e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1ba]
jmp 0x41eebc
lea edx, [ebp - 0x194]
push edx
push 0x71eb70
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x228], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x228]
push ecx
lea edx, [ebp - 0x58]
push edx
call fcn.0040ee70
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x194]
call fcn.0040d010
lea eax, [ebp - 0x17c]
push eax
push 0x71eb78
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x220], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x220]
push edx
lea eax, [ebp - 0x70]
push eax
call fcn.0040ee70
add esp, 8
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x17c]
call fcn.0040d010
lea ecx, [ebp - 0x164]
push ecx
push 0x71eb80
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x218], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x218]
push eax
lea ecx, [ebp - 0x1ac]
push ecx
call fcn.0040ee70
add esp, 8
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x210], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x210]
push eax
lea ecx, [ebp - 0x88]
push ecx
call fcn.0040ec90
add esp, 8
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1ac]
call fcn.00403030
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x164]
call fcn.0040d010
push str.custom
mov ecx, dword [ebp - 0x1b0]
call fcn.00441760
mov ecx, eax
call fcn.00440150
mov byte [ebp - 0x1bb], al
lea ecx, [ebp - 0x104]
call fcn.0041eee0
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x58]
push edx
lea ecx, [ebp - 0x104]
call fcn.00406000
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xec]
call fcn.00406000
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.00406000
mov dl, byte [ebp - 0x1bb]
mov byte [ebp - 0xbc], dl
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.004219c0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x104]
call fcn.0041ef50
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x88]
call fcn.00403030
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x70]
call fcn.00403030
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.00403030
jmp 0x41e548
lea ecx, [ebp - 0x1ec]
call fcn.004218a0
movzx ecx, al
test ecx, ecx
je 0x41ea95
mov byte [ebp - 0x1bc], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ec]
call fcn.004219e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1bc]
jmp 0x41eebc
lea ecx, [ebp - 0x20c]
call fcn.00421800
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1d8]
call fcn.004427d0
movzx edx, al
test edx, edx
je 0x41edb2
push 0x71eb8c
lea ecx, [ebp - 0x1d8]
call fcn.00441f40
movzx eax, al
test eax, eax
je 0x41edb2
push 0x71eb9c
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx ecx, al
test ecx, ecx
jne 0x41edb2
push 0x71ebac
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx edx, al
test edx, edx
jne 0x41edb2
push 0x71ebbc
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00442790
movzx eax, al
test eax, eax
je 0x41edb2
push str.files_delete
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1dc], 0
jmp 0x41eb6c
mov ecx, dword [ebp - 0x1dc]
add ecx, 1
mov dword [ebp - 0x1dc], ecx
mov ecx, dword [ebp - 0x1f0]
call fcn.00440690
cmp dword [ebp - 0x1dc], eax
jae 0x41edb2
mov edx, dword [ebp - 0x1dc]
push edx
mov ecx, dword [ebp - 0x1f0]
call fcn.00440ac0
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1b4]
call fcn.004427d0
movzx eax, al
test eax, eax
jne 0x41ebaf
jmp 0x41eb5d
push 0x71ebdc
mov ecx, dword [ebp - 0x1b4]
call fcn.00441f40
movzx ecx, al
test ecx, ecx
je 0x41ec20
push 0x71ebe4
mov ecx, dword [ebp - 0x1b4]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx edx, al
test edx, edx
jne 0x41ec20
push 0x71ebec
mov ecx, dword [ebp - 0x1b4]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx eax, al
test eax, eax
jne 0x41ec20
push 0x71ebf4
mov ecx, dword [ebp - 0x1b4]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx ecx, al
test ecx, ecx
jne 0x41ec25
jmp 0x41eb5d
push 0x71ebfc
mov ecx, dword [ebp - 0x1b4]
call fcn.00441f40
movzx edx, al
test edx, edx
je 0x41ec96
push 0x71ec04
mov ecx, dword [ebp - 0x1b4]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx eax, al
test eax, eax
jne 0x41ec96
push 0x71ec0c
mov ecx, dword [ebp - 0x1b4]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx ecx, al
test ecx, ecx
jne 0x41ec96
push 0x71ec14
mov ecx, dword [ebp - 0x1b4]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx edx, al
test edx, edx
jne 0x41ec9b
jmp 0x41eb5d
lea eax, [ebp - 0x14c]
push eax
push str.fpath
mov ecx, dword [ebp - 0x1b4]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x234], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x234]
push edx
lea eax, [ebp - 0x28]
push eax
call fcn.0040ee70
add esp, 8
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x14c]
call fcn.0040d010
lea ecx, [ebp - 0x134]
push ecx
push str.fname
mov ecx, dword [ebp - 0x1b4]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x1f8], eax
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x1fc], edx
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x40]
push ecx
call fcn.0040ee70
add esp, 8
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x134]
call fcn.0040d010
lea ecx, [ebp - 0xb8]
call fcn.0041ef20
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0xb8]
call fcn.00406000
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00406000
lea ecx, [ebp - 0xb8]
push ecx
lea ecx, [ebp - 0x20c]
call fcn.004217c0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xb8]
call fcn.0041ef80
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x40]
call fcn.00403030
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x28]
call fcn.00403030
jmp 0x41eb5d
lea edx, [ebp - 0x11c]
push edx
push str.file_ver
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00421f20
lea ecx, [ebp - 0x11c]
call fcn.0040d010
push str.file_gray
lea ecx, [ebp - 0x1d8]
call fcn.00441760
mov ecx, eax
call fcn.00440150
mov ecx, dword [ebp + 0x10]
mov byte [ecx], al
lea edx, [ebp - 0x23c]
push edx
lea ecx, [ebp - 0x1ec]
call fcn.004218e0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x240]
push ecx
lea ecx, [ebp - 0x1ec]
call fcn.00421920
mov edx, dword [eax]
push edx
mov ecx, dword [ebp + 0x14]
call fcn.00425500
lea ecx, [ebp - 0x20c]
call fcn.004216b0
test eax, eax
jbe 0x41ee7f
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x20c]
call fcn.004216e0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x248]
push edx
lea ecx, [ebp - 0x20c]
call fcn.00421720
mov eax, dword [eax]
push eax
mov ecx, dword [ebp + 0x18]
call fcn.00425580
mov byte [ebp - 0x1bd], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20c]
call fcn.004217e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1ec]
call fcn.004219e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.0043e540
mov al, byte [ebp - 0x1bd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004815ec
mov esp, ebp
pop ebp
ret 0x14