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

Disassembly:
push 0xffffffffffffffff
push 0x4fbdd4
mov eax, dword fs:[0]
push eax
mov eax, 0x1bb84
call fcn.004e3510
mov eax, dword [0x514bc0]
xor eax, esp
mov dword [esp + 0x1bb80], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x514bc0]
xor eax, esp
push eax
lea eax, [esp + 0x1bb98]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x1bba8]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebp, ebp
test byte [0x575254], 1
mov word [0x56fca8], ax
mov word [0x56eca8], cx
mov word [0x56dca8], dx
mov byte [0x56dae1], al
jne 0x4c0940
or dword [0x575254], 1
mov dword [esp + 0x1bba0], ebp
mov ecx, 0x574938
call fcn.004ba3e0
push 0x4fcbb0
call fcn.004e7930
add esp, 4
mov dword [esp + 0x1bba0], 0xffffffff
mov ecx, 0x574938
mov dword [0x570cac], 0x574938
call fcn.00467910
mov ecx, 0x574994
call fcn.00467910
mov ecx, 0x5749f0
call fcn.00467910
mov al, byte [0x538309]
mov byte [0x575252], al
cmp ebx, ebp
jne 0x4c09a1
mov ecx, dword [0x53a464]
mov edx, dword [0x52c134]
push 0x574938
push 0x4ba4f0
push ecx
push str.FINDFILES
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4c12fa
push 0x4bd040
push ebp
push ebp
push 7
call fcn.004b4e90
push 0x50615c
call fcn.004b2d00
xor eax, eax
cmp ebx, ebp
je 0x4c0a72
jmp 0x4c09d0
movzx ecx, word [eax + 0x554b84]
mov word [esp + eax + 0x7380], cx
add eax, 2
cmp cx, bp
jne 0x4c09d0
push 0x4fe964
mov ecx, 0x5749f0
mov byte [0x57524e], 1
mov byte [0x57524d], 1
mov byte [0x57524c], 0
call fcn.00467940
mov ecx, 0x556ba4
call fcn.004678c0
push 0x800
lea eax, [esp + 0x7b98]
push eax
mov ecx, 0x556ba4
call fcn.00467b50
test al, al
je 0x4c0b7c
jmp 0x4c0a40
lea ecx, [esp + 0x7b94]
push ecx
mov ecx, 0x574938
call fcn.00467940
push 0x800
lea edx, [esp + 0x7b98]
push edx
mov ecx, 0x556ba4
call fcn.00467b50
test al, al
jne 0x4c0a40
jmp 0x4c0b7c
mov word [esp + 0x7380], ax
cmp word [0x574a4c], bp
je 0x4c0b7c
cmp byte [0x57524f], 0
je 0x4c0ab4
lea edi, [esp + 0x7380]
add edi, 0xfffffffe
lea ebx, [ebx]
mov ax, word [edi + 2]
add edi, 2
cmp ax, bp
jne 0x4c0aa0
mov ecx, dword [0x506158]
mov dword [edi], ecx
cmp byte [0x575250], 0
je 0x4c0ae4
lea edi, [esp + 0x7380]
add edi, 0xfffffffe
jmp 0x4c0ad0
mov ax, word [edi + 2]
add edi, 2
cmp ax, bp
jne 0x4c0ad0
mov edx, dword [0x506154]
mov dword [edi], edx
cmp byte [0x575251], 0
je 0x4c0b13
lea edi, [esp + 0x7380]
add edi, 0xfffffffe
jmp 0x4c0b00
mov ax, word [edi + 2]
add edi, 2
cmp ax, bp
jne 0x4c0b00
mov eax, dword [0x506150]
mov dword [edi], eax
lea edi, [esp + 0x7380]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
cmp ax, bp
jne 0x4c0b20
mov ecx, dword [0x50214c]
mov eax, 0x574a4c
mov dword [edi], ecx
mov edx, eax
jmp 0x4c0b40
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4c0b40
lea edi, [esp + 0x7380]
sub eax, edx
add edi, 0xfffffffe
jmp 0x4c0b60
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x4c0b60
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [0x538309], 0
je 0x4c0b9c
push 0x800
lea edx, [esp + 0x8b98]
push edx
mov ecx, 0x546dc0
call fcn.004790a0
cmp byte [0x57524c], 0
mov dword [0x570ca8], ebp
mov byte [0x56dae2], 0
mov byte [0x56dae3], 1
je 0x4c0bc9
cmp byte [0x575252], 0
jne 0x4c0bc9
mov ecx, 2
jmp 0x4c0bcb
xor ecx, ecx
mov eax, 0x574994
cmp ebx, ebp
je 0x4c0bd6
mov eax, ebx
push 3
push ebp
push ecx
push eax
lea ecx, [esp + 0x3368]
call fcn.00463fb0
mov dword [esp + 0x1bba0], 1
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x335c]
mov dword [esp + 0x1028], ebp
mov dword [esp + 0x102c], ebp
mov dword [esp + 0x1030], ebp
mov dword [esp + 0x1034], ebp
mov dword [esp + 0x1038], ebp
mov dword [esp + 0x103c], ebp
call fcn.004648a0
test eax, eax
jne 0x4c11d0
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp byte [0x5393c9], 0
jne 0x4c11d0
call fcn.00494e60
mov eax, dword [0x570ca8]
cmp eax, ebp
je 0x4c0c71
movzx ecx, byte [0x575252]
mov edx, dword [0x538304]
push ecx
push eax
push edx
call fcn.004bca10
mov dword [0x570ca8], ebp
cmp word [esp + 0x14], 0x2e
jne 0x4c0c85
cmp word [esp + 0x16], 0x5c
lea ecx, [esp + 0x18]
je 0x4c0c89
lea ecx, [esp + 0x14]
lea edx, [esp + 0x9b94]
mov ebx, 2
movzx eax, word [ecx]
mov word [edx], ax
add ecx, ebx
add edx, ebx
cmp ax, bp
jne 0x4c0c95
push 0x50
lea eax, [esp + 0x9b98]
push eax
call fcn.00494f10
push eax
push 0x523
call fcn.00461b20
push eax
lea ecx, [esp + 0xab9c]
push ecx
mov edx, 0x800
call fcn.00458640
mov eax, dword [0x538304]
add esp, 0xc
lea edx, [esp + 0xab94]
push edx
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x57524e], 0
je 0x4c0d40
cmp byte [esp + 0x1020], 0
jne 0x4c0d40
mov ecx, 0x5749f0
call fcn.004678c0
mov ecx, 0x5749f0
call fcn.00467c20
mov esi, eax
cmp esi, ebp
je 0x4c0d40
lea ebx, [ebx]
push ebp
lea ecx, [esp + 0x18]
push ecx
push esi
call fcn.004472d0
test al, al
jne 0x4c0da9
mov ecx, 0x5749f0
call fcn.00467c20
mov esi, eax
cmp esi, ebp
jne 0x4c0d20
cmp byte [0x57524d], 0
je 0x4c11b7
cmp byte [esp + 0x1020], 0
je 0x4c0d65
cmp word [esp + 0x7380], bp
jne 0x4c11b7
mov ecx, 0x574938
call fcn.004678c0
mov ecx, 0x574938
call fcn.00467c20
cmp eax, ebp
je 0x4c11b7
push 4
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.004472d0
test al, al
jne 0x4c10e3
mov ecx, 0x574938
call fcn.00467c20
cmp eax, ebp
jne 0x4c0d81
jmp 0x4c11b7
cmp word [esi], 0x2a
jne 0x4c0ddb
cmp word [esi + 2], bp
jne 0x4c0ddb
cmp byte [0x575252], 0
jne 0x4c0ddb
push 1
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x28]
push edx
mov ecx, 0x546dc0
call fcn.004799a0
test al, al
je 0x4c0d40
cmp byte [0x575252], 0
mov dword [0x5393b4], ebx
je 0x4c0df1
mov byte [0x547254], 1
cmp word [esp + 0x7380], bp
push 1
setne al
movzx ecx, al
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, 0x546dc0
call fcn.0047a6c0
cmp eax, ebx
jne 0x4c0e27
call fcn.00495440
test al, al
je 0x4c11d0
jmp 0x4c11b7
cmp eax, 1
jne 0x4c0d40
push 1
push ebp
push ebp
push ebp
lea ecx, [esp + 0x7ba4]
push ecx
lea edx, [esp + 0x28]
xor eax, eax
push edx
mov ecx, 0x546dc0
mov word [esp + 0x7bac], ax
call fcn.004799a0
lea eax, [esp + 0x7b94]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0046a940
test eax, eax
je 0x4c0f03
lea edx, [esp + 0x7b94]
push edx
call edi
cmp eax, 0xffffffff
jne 0x4c11b7
push 0x800
push 0x4fe97c
lea eax, [esp + 0x7b9c]
push eax
call fcn.00452660
lea ecx, [esp + 0x7b94]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.0046a940
test eax, eax
je 0x4c0ec3
lea eax, [esp + 0x7b94]
push eax
call edi
cmp eax, 0xffffffff
jne 0x4c11b7
push 0x800
push 0x4fe984
lea ecx, [esp + 0x7b9c]
push ecx
call fcn.00452660
lea edx, [esp + 0x7b94]
push edx
lea eax, [esp + 0x18]
push eax
call fcn.0046a940
test eax, eax
je 0x4c0f03
lea ecx, [esp + 0x7b94]
push ecx
call edi
cmp eax, 0xffffffff
jne 0x4c11b7
cmp word [esp + 0x7380], bp
jne 0x4c0fdd
push 1
lea edx, [esp + 0x2274]
push edx
mov ecx, 0x546dc0
xor ebx, ebx
mov dword [esp + 0x3308], ebp
mov dword [esp + 0x330c], ebp
call fcn.00478dc0
test al, al
je 0x4c11b7
lea ecx, [ecx]
cmp byte [0x5393c9], 0
jne 0x4c11b7
inc ebx
test bl, 0x1f
jne 0x4c0f58
call fcn.00494e60
mov ecx, 0x574938
call fcn.004678c0
mov ecx, 0x574938
call fcn.00467c20
cmp eax, ebp
je 0x4c0fbc
push 4
lea ecx, [esp + 0x2274]
push ecx
push eax
call fcn.004472d0
test al, al
jne 0x4c0f94
mov ecx, 0x574938
call fcn.00467c20
cmp eax, ebp
jne 0x4c0f70
jmp 0x4c0fbc
mov edx, dword [esp + 0x3308]
push 0x4fdb30
push edx
call fcn.00443730
movzx eax, al
push eax
lea ecx, [esp + 0x2278]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.004b7eb0
push 1
lea eax, [esp + 0x2274]
push eax
mov ecx, 0x546dc0
call fcn.00478dc0
test al, al
jne 0x4c0f40
jmp 0x4c11b7
lea ecx, [esp + 0x105c]
push ecx
mov ecx, 0x546dc0
call fcn.004790f0
mov ecx, 0x546dc0
call fcn.00479420
and eax, 0x400
and edx, ebp
or eax, edx
je 0x4c1021
push 0x3ac
call fcn.00461b20
push eax
push 0x555ba2
call fcn.004bfeb0
add esp, 8
jmp 0x4c11b7
push ebp
call fcn.004ad4e0
push 0x800
push 0x555ba2
mov ecx, 0x546dc0
call fcn.004790c0
mov edx, dword [esp + 0x119c]
mov ecx, 0x556ba4
mov dword [0x552b50], edx
call fcn.00467910
mov ecx, 0x574938
call fcn.004678c0
mov ecx, 0x574938
call fcn.00467c20
cmp eax, ebp
je 0x4c1089
lea ebx, [ebx]
push eax
mov ecx, 0x556ba4
call fcn.00467940
mov ecx, 0x574938
call fcn.00467c20
cmp eax, ebp
jne 0x4c1070
lea eax, [esp + 0x7380]
push eax
push 0x506148
push 0x554b82
mov edx, 0x810
mov byte [0x550a71], 1
mov dword [0x550a50], ebp
mov dword [0x550a54], ebp
mov dword [0x550a58], ebp
mov dword [0x550a5c], ebp
call fcn.00458640
add esp, 0xc
mov ecx, 0x546dc0
mov byte [0x554b6c], 1
mov dword [0x5393b4], ebx
call fcn.00478c00
jmp 0x4c11b7
cmp word [esp + 0x7380], bp
jne 0x4c1118
lea edx, [esp + 0x14]
push edx
push ebp
lea eax, [esp + 0x7388]
push eax
push ebp
push ebp
call fcn.00445d30
push ebp
push ebp
push ebp
push ebp
lea ecx, [esp + 0xbba4]
push ecx
call fcn.00445d30
jmp 0x4c11b7
lea ecx, [esp + 0x124c]
call fcn.004426b0
mov byte [esp + 0x1bba0], 2
push 4
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x1254]
call fcn.00442730
test al, al
je 0x4c11a3
lea eax, [esp + 0x14]
push eax
push ebp
lea ecx, [esp + 0x7388]
push ecx
push ebp
push ebp
call fcn.00445d30
push 0x10000
lea edx, [esp + 0xbb98]
push edx
lea ecx, [esp + 0x1254]
call fcn.00443140
cmp eax, ebp
je 0x4c11a3
push ebp
push ebp
push ebp
push eax
lea eax, [esp + 0xbba4]
push eax
call fcn.00445d30
push 0x10000
lea ecx, [esp + 0xbb98]
push ecx
lea ecx, [esp + 0x1254]
call fcn.00443140
cmp eax, ebp
jne 0x4c1175
mov byte [esp + 0x1bba0], 1
lea ecx, [esp + 0x124c]
call fcn.00442e00
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x335c]
call fcn.004648a0
test eax, eax
je 0x4c0c3b
cmp byte [0x5393c9], 0
mov byte [0x56dae3], 0
je 0x4c11f0
cmp byte [0x56dae1], 0
je 0x4c11f0
mov byte [0x5393c9], 0
mov eax, dword [0x570ca8]
cmp eax, ebp
je 0x4c1214
movzx ecx, byte [0x575252]
mov edx, dword [0x538304]
push ecx
push eax
push edx
call fcn.004bca10
mov dword [0x570ca8], ebp
push 0x270
mov byte [0x56dae2], 0
call fcn.00461b20
push eax
mov eax, dword [0x538304]
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x5393c9], 0
je 0x4c124f
mov ecx, dword [0x538304]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4c1254
call fcn.004b2880
cmp word [0x56eca8], bp
je 0x4c1295
push 0x56eca8
mov ecx, 0x544c98
call fcn.00492e20
cmp word [0x56fca8], bp
je 0x4c1284
push 0x56fca8
mov ecx, 0x544c98
call fcn.00492f40
push 0x56dca8
mov ecx, 0x544c98
call fcn.00491620
jmp 0x4c12e3
cmp word [0x56fca8], bp
je 0x4c12c8
mov ecx, 0x544c98
call fcn.00490010
push 0x56fca8
mov ecx, 0x544c98
call fcn.00492f40
push 0x56dca8
mov ecx, 0x544c98
call fcn.00491620
jmp 0x4c12e3
cmp byte [0x538309], 0
je 0x4c12e3
lea edx, [esp + 0x8b94]
push edx
mov ecx, 0x546dc0
call fcn.00478f80
mov dword [esp + 0x1bba0], 0xffffffff
lea ecx, [esp + 0x3358]
call fcn.00464130
mov ecx, dword [esp + 0x1bb98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1bb80]
xor ecx, esp
call fcn.004e34f4
add esp, 0x1bb90
ret 4