Function at 0x48af70
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x4fee16
mov eax, dword fs:[0]
push eax
sub esp, 0xb94
mov eax, dword [0x52e144]
xor eax, esp
mov dword [esp + 0xb90], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x52e144]
xor eax, esp
push eax
lea eax, [esp + 0xba8]
mov dword fs:[0], eax
xor esi, esi
lea ecx, [esp + 0xb4]
mov dword [esp + 0x1c], esi
call fcn.00409050
cmp byte [0x527d8d], 0
mov dword [esp + 0xbb0], esi
jne 0x48b003
push 0x51e4a8
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea ecx, [esp + 0xb4]
mov dword [esp + 0xbb0], 0xffffffff
call fcn.004085c0
xor eax, eax
jmp 0x48bcc7
mov edi, dword [esp + 0xbb8]
cmp edi, dword [0x53789c]
jne 0x48b019
push 0x51e48c
jmp 0x48afd2
cmp byte [0x53788d], 1
jne 0x48b029
push 0x51e47c
jmp 0x48afd2
call fcn.0040a7e0
or ebx, 0xffffffff
mov dword [esp + 0x24], eax
cmp eax, ebx
jne 0x48b06b
push 0x51e45c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea ecx, [esp + 0xb4]
mov dword [esp + 0xbb0], ebx
call fcn.004085c0
xor eax, eax
jmp 0x48bcc7
push edi
call fcn.0043d1a0
mov ebp, eax
add esp, 4
cmp ebp, esi
jne 0x48b0be
push edi
push 0x51e438
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov dword [esp + 0xbb0], ebx
lea ecx, [esp + 0xb4]
cmp dword [0x53cfd0], edi
je 0x48b0f6
mov dword [0x53cfd0], edi
call fcn.004085c0
xor eax, eax
jmp 0x48bcc7
cmp dword [0x537f30], esi
je 0x48b105
mov eax, dword [0x5385f8]
mov dword [esp + 0x14], esi
cmp eax, esi
je 0x48b0e1
lea ecx, [esp + 0x14]
push ecx
push ebp
call eax
cmp dword [esp + 0x14], esi
jne 0x48b105
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0xbb0], ebx
lea ecx, [esp + 0xb4]
call fcn.004085c0
mov eax, 1
jmp 0x48bcc7
push 0x103
lea edx, [esp + 0xaa5]
push esi
push edx
mov byte [esp + 0xaac], 0
call fcn.004b6dc0
push 0x103
lea eax, [esp + 0x6a1]
push esi
push eax
mov byte [esp + 0x6a8], 0
call fcn.004b6dc0
push 0x103
lea ecx, [esp + 0x8b5]
push esi
push ecx
mov byte [esp + 0x8bc], 0
call fcn.004b6dc0
push 0x103
lea edx, [esp + 0x9c5]
push esi
push edx
mov byte [esp + 0x9cc], 0
call fcn.004b6dc0
push 0x103
lea eax, [esp + 0x7c9]
push esi
push eax
mov byte [esp + 0x7d0], 0
call fcn.004b6dc0
add esp, 0x3c
lea ecx, [esp + 0x690]
push ecx
xor ebx, ebx
push ebp
lea ecx, [esp + 0xbc]
mov dword [esp + 0x690], esi
mov dword [esp + 0x688], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
call fcn.00408d20
test eax, eax
jne 0x48b1d9
push esi
lea edx, [esp + 0x694]
push edx
mov eax, edi
push eax
push ebp
call fcn.0043fd60
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
push 0
push ebp
call 0x52ced9
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x99c]
push edx
push eax
lea ecx, [esp + 0xbc]
call fcn.00408840
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 1
jne 0x48b22d
lea ecx, [esp + 0x99c]
push ecx
call fcn.00488e40
add esp, 4
lea edx, [esp + 0x794]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48b221
jmp 0x48b282
mov edx, dword [esp + 0x18]
push edx
call fcn.0043d1a0
mov esi, eax
add esp, 4
test esi, esi
je 0x48b280
mov ecx, dword [esp + 0x18]
push 0
lea eax, [esp + 0x9a0]
push eax
push ecx
push esi
call fcn.0043fd60
add esp, 0x10
test eax, eax
jne 0x48b27d
lea edx, [esp + 0x99c]
push edx
call fcn.00488e40
add esp, 4
lea edx, [esp + 0x794]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48b273
push esi
call edi
mov esi, ebx
cmp byte [esp + 0x794], bl
je 0x48b2d1
lea eax, [esp + 0x794]
push eax
call fcn.00404330
mov edx, dword [esp + 0x1c]
add esp, 4
lea ecx, [esp + 0x99c]
push ecx
mov esi, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xbbc]
push edx
push eax
push 0x51e410
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
cmp byte [esp + 0x690], bl
je 0x48b524
xor eax, eax
mov cl, byte [esp + eax + 0x690]
mov byte [esp + eax + 0xaa0], cl
inc eax
test cl, cl
jne 0x48b2e0
lea ecx, [esp + 0xaa0]
push 0x5c
push ecx
call fcn.004b6d8c
add esp, 8
test eax, eax
je 0x48b30b
mov byte [eax], bl
lea edx, [esp + 0xaa0]
push edx
call fcn.00404330
mov dword [esp + 0x68c], eax
lea eax, [esp + 0xaa8]
push eax
call fcn.00404330
lea ecx, [esp + 0x698]
push ecx
mov dword [esp + 0x68c], eax
call fcn.00488e40
add esp, 0xc
lea edx, [esp + 0x898]
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48b350
lea edx, [esp + 0x898]
push edx
call fcn.00404330
add esp, 4
cmp dword [0x54a138], 0x4e70
mov ebx, eax
mov dword [esp + 0x20], ebx
jb 0x48b42a
cmp ebx, 0xd175c02e
jne 0x48b42a
lea eax, [esp + 0x690]
push eax
call fcn.0048ad80
add esp, 4
cmp eax, 9
jl 0x48b524
lea ecx, [esp + 0x690]
push ecx
call fcn.004117b0
add esp, 4
test eax, eax
je 0x48b524
mov eax, dword [esp + 0x18]
cmp esi, ebx
je 0x48b3da
cmp eax, dword [0x53789c]
je 0x48b3da
cmp dword [0x537f30], 0
je 0x48b524
lea edx, [esp + 0x794]
push edx
push eax
lea eax, [esp + 0x8a0]
push eax
push 0x51e3ec
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
push ebp
call edi
lea ecx, [esp + 0xb4]
mov dword [esp + 0xbb0], 0xffffffff
call fcn.004085c0
mov eax, 1
jmp 0x48bcc7
cmp ebx, 0x34785ad6
je 0x48b504
cmp ebx, 0xc6d3ee9
je 0x48b504
cmp ebx, 0xf2b1a882
je 0x48b504
cmp ebx, 0x86b249f7
je 0x48b504
cmp ebx, 0x6c749a7
je 0x48b504
cmp ebx, 0x794580a
je 0x48b504
cmp ebx, 0x474418cd
je 0x48b504
cmp ebx, 0xebcc407a
je 0x48b504
cmp ebx, 0x318be374
je 0x48b504
cmp ebx, 0x298ffa85
je 0x48b504
cmp ebx, 0x4272f27a
je 0x48b504
cmp ebx, 0xd539f244
je 0x48b504
cmp ebx, 0xfdc8d014
je 0x48b4c6
cmp ebx, 0x34dc3855
je 0x48b4c6
cmp ebx, 0xdb584c7c
je 0x48b4c6
cmp ebx, 0x80001d4f
jne 0x48b524
cmp byte [esp + 0x690], 0
je 0x48b524
lea ecx, [esp + 0x690]
push ecx
call fcn.004117b0
add esp, 4
test eax, eax
je 0x48b524
push 0x51e3d0
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push ebp
call edi
jmp 0x48afe5
push 0x51e3c0
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push ebp
call edi
jmp 0x48afe5
lea edx, [esp + 0x690]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x48b5de
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x15
je 0x48b563
cmp eax, 3
jne 0x48b55f
cmp byte [esp + 0x690], 0x5c
je 0x48b55f
cmp byte [esp + 0x691], 0x3a
je 0x48b563
test ebx, ebx
jne 0x48b5de
mov edx, dword [0x538370]
lea ecx, [esp + 0x690]
push ecx
push edx
push eax
push 0x51e394
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
cmp esi, 0xb3d606db
je 0x48b59e
cmp esi, 0x16702482
jne 0x48b5de
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xbb8]
lea eax, [esp + 0x690]
push eax
push ecx
push edx
lea eax, [esp + 0x7a0]
push eax
push 0x51e360
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x18
push ebp
call edi
jmp 0x48afe5
xor esi, esi
push esi
push 0x53cd88
call fcn.004ba516
add esp, 8
cmp eax, 0xffffffff
jne 0x48b61e
lea ecx, [esp + 0x898]
push ecx
push 0x53cd88
push 0x51e344
lea esi, [eax + 2]
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
lea ecx, [esp + 0x64]
call fcn.00405cc0
push 1
push 0x53cd88
lea ecx, [esp + 0x6c]
mov byte [esp + 0xbb8], 1
call fcn.00406500
test al, al
jne 0x48b66d
lea edx, [esp + 0x898]
push edx
push 0x53cd88
push 0x51e328
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
jmp 0x48b671
test esi, esi
je 0x48b6dc
push ebp
call edi
cmp ebx, 0xb274f7ef
jne 0x48b6aa
push 0x51e318
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea ecx, [esp + 0x64]
mov byte [esp + 0xbb0], 0
call fcn.00405d20
jmp 0x48b409
lea ecx, [esp + 0x64]
mov byte [esp + 0xbb0], 0
call fcn.00405d20
lea ecx, [esp + 0xb4]
mov dword [esp + 0xbb0], 0xffffffff
call fcn.004085c0
mov eax, 3
jmp 0x48bcc7
push 0
push 0
push ebp
call 0x52ced9
mov ebx, eax
test bl, 8
je 0x48b706
push ebp
call edi
lea ecx, [esp + 0x64]
mov byte [esp + 0xbb0], 0
call fcn.00405d20
jmp 0x48afe5
cmp dword [esp + 0xbbc], 0
jne 0x48b715
test bl, 0x10
jne 0x48b6ed
mov eax, dword [0x537890]
lea eax, [eax + eax*2]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
imul eax, eax, 0x6c
cmp dword [0x537d78], 0
mov ecx, dword [eax + 0x539714]
mov edx, dword [eax + 0x539724]
mov dword [esp + 0x2c], ecx
mov ecx, dword [0x53789c]
mov dword [esp + 0x30], edx
mov edx, dword [0x5378cc]
mov dword [esp + 0x34], ecx
mov ecx, dword [0x52b488]
mov dword [esp + 0x38], edx
mov edx, dword [0x52b48c]
mov dword [esp + 0x3c], ecx
mov ecx, dword [0x53cedc]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 0x539728]
mov eax, dword [0x5378c4]
mov dword [esp + 0x44], ecx
mov ecx, dword [0x5378a0]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
je 0x48b7b0
lea edx, [esp + 0x690]
push edx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, 0x53ac78
call fcn.00432cc0
mov edx, dword [0x53ce98]
push 0x4e20
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
mov dword [esp + 0x2c], 0xa3bb
call edi
cmp dword [esp + 0xbbc], 0
mov al, byte [0x548d90]
je 0x48b805
test al, al
jne 0x48b805
mov eax, dword [0x537890]
lea ecx, [esp + 0x28]
push ecx
push 0xb
push 3
lea eax, [eax + eax*2]
push 0x1000001
mov dword [esp + 0x38], eax
push 0
jmp 0x48b866
test bl, 0x11
je 0x48b859
test al, al
jne 0x48b859
lea edx, [esp + 0x28]
push edx
push 0xb
push 3
push 0
push 0xc8
push ebp
push 0x53cd88
push 0
call 0x52d0b8
mov esi, eax
cmp esi, 0xe1c2f3b0
je 0x48b875
mov eax, dword [esp + 0x20]
cmp eax, 0xebcc407a
je 0x48b875
cmp eax, 0x31b2f3b4
je 0x48b875
mov eax, dword [esp + 0xbb8]
push eax
call fcn.00491be0
add esp, 4
jmp 0x48b875
lea ecx, [esp + 0x28]
push ecx
push 0xb
push 3
push 0
push 0x64
push ebp
push 0x53cd88
push 0
call 0x52d0b8
mov esi, eax
cmp dword [esp + 0xbbc], 0
je 0x48b895
cmp byte [0x548d90], 0
jne 0x48b895
mov dword [esp + 0x1c], 1
jmp 0x48bc88
cmp esi, 0xe1c2f3b0
je 0x48bc88
cmp esi, 0xe1c2f3b4
je 0x48bc88
cmp esi, 0x321
je 0x48bc88
cmp esi, 0x322
je 0x48bc88
cmp esi, 0x323
jne 0x48b8f5
mov edx, dword [esp + 0xbb8]
push edx
push 0x51e304
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
jmp 0x48bc88
cmp esi, 0xe1c2f3b6
jne 0x48bbce
mov eax, dword [esp + 0xbb8]
push eax
push 0x51e2e8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp dword [0x537f30], 0
mov dword [esp + 0x1c], 1
jne 0x48b940
push 0
push ebp
call fcn.0048a120
add esp, 8
mov eax, dword [0x537890]
lea ecx, [eax + eax*2]
push 0
mov dword [esp + 0x2c], ecx
call edi
test bl, 0x11
je 0x48b99f
cmp dword [esp + 0xbbc], 0
jne 0x48b99f
lea edx, [esp + 0x28]
push edx
push 0xb
push 3
push 0x1000001
push 0xc8
push ebp
push 0x53cd88
push 0
call 0x52d0b8
mov esi, eax
cmp esi, 0xe1c2f3b0
je 0x48bad1
mov eax, dword [esp + 0xbb8]
push eax
call fcn.00491be0
add esp, 4
jmp 0x48b9e2
cmp dword [0x54a138], 0x4e8e
jb 0x48b9c0
lea ecx, [esp + 0x28]
push ecx
push 0xb
push 3
push 0x1000001
push 0x3e8
jmp 0x48b9d3
lea edx, [esp + 0x28]
push edx
push 0xb
push 3
push 0x1000001
push 0x7d0
push ebp
push 0x53cd88
push 0
call 0x52d0b8
mov esi, eax
cmp esi, 0xe1c2f3b0
je 0x48bad1
cmp esi, 0xe1c2f3b4
je 0x48bad1
cmp dword [esp + 0xbbc], 0
je 0x48ba19
mov eax, dword [esp + 0xbb8]
push eax
call fcn.00491be0
add esp, 4
jmp 0x48bc88
cmp esi, 0x321
je 0x48bc88
cmp esi, 0x322
je 0x48bc88
lea ecx, [esi + 0x1e3d0c50]
cmp ecx, 8
ja 0x48bc88
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esi*4 + 0x7946e53c]
push edx
push esi
push 0x51e2c8
mov edi, eax
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push edi
push 0x51e2b4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp esi, 0xe1c2f3b3
jne 0x48baa2
cmp byte [0x53ce8e], 0
je 0x48bc88
jmp 0x48bc57
cmp esi, 0xe1c2f3b6
jne 0x48bc88
test edi, edi
jne 0x48bc88
lea eax, [esp + 0x680]
push eax
push edi
push ebp
mov dword [esp + 0x68c], edi
call 0x52ced9
jmp 0x48bc88
xor esi, esi
push esi
push 5
lea ecx, [esp + 0x690]
push ecx
push 0x458a0000
push ebp
mov byte [esp + 0x694], 0x4d
mov byte [esp + 0x695], 0x5a
mov byte [esp + 0x696], 0x90
mov byte [esp + 0x697], 0
mov byte [esp + 0x698], 3
mov byte [esp + 0x69c], 0
mov dword [esp + 0x69d], esi
call dword [0x5385e0]
push 5
lea edx, [esp + 0x68c]
push edx
lea eax, [esp + 0x688]
push eax
call fcn.004b9e25
add esp, 0xc
test eax, eax
je 0x48bb57
push 0x51e29c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], 2
xor edi, edi
cmp byte [esi + 0x539708], 0
je 0x48bbbd
cmp edi, ebx
je 0x48bbbd
mov edx, dword [esi + 0x539714]
mov ecx, dword [0x537890]
mov eax, dword [esi + 0x539724]
mov dword [esp + 0x58], edx
lea edx, [esp + 0x54]
push edx
push 4
push 2
push 0
push 0x64
or ecx, 0x10000021
push ebp
mov dword [esp + 0x6c], ecx
mov ecx, dword [esi + 0x539728]
push 0x53cd88
push 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
call 0x52d0b8
add esi, 0x6c
inc edi
cmp esi, 0x1518
jb 0x48bb65
jmp 0x48bc88
lea eax, [esi + 0x1e3d0c50]
cmp eax, 8
ja 0x48bc88
mov ecx, dword [esi*4 + 0x7946e53c]
push ecx
push esi
push 0x51e27c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51e2b4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp esi, 0xe1c2f3b3
jne 0x48bc88
cmp byte [0x53ce8e], 0
je 0x48bc88
lea edx, [esp + 0x898]
push edx
push 0x51e268
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp dword [esp + 0x14], 0x16702482
mov dword [esp + 0x1c], 3
jne 0x48bc88
mov eax, dword [0x53cfc8]
cmp eax, dword [esp + 0x688]
je 0x48bc80
cmp eax, dword [esp + 0x680]
jne 0x48bc88
mov dword [esp + 0x1c], 0
mov eax, dword [0x53ce98]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x64]
mov byte [esp + 0xbb0], 0
call fcn.00405d20
lea ecx, [esp + 0xb4]
mov dword [esp + 0xbb0], 0xffffffff
call fcn.004085c0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xba8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb90]
xor ecx, esp
call fcn.004b6da3
add esp, 0xba0
ret