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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 8], 0x401f8c
xor ebx, ebx
mov dword [0x443cf0], ebx
mov ecx, dword [edi]
mov esi, ecx
lea edx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x40c946
movzx eax, word [ecx]
sub esi, edx
sar esi, 1
mov ebx, ecx
mov dword [ebp - 0x10], esi
mov edx, eax
test ax, ax
je 0x40c975
xor edx, edx
mov eax, ecx
mov ebx, ecx
add ecx, 2
cmp word [ecx], dx
jne 0x40c966
movzx edx, word [eax]
push 0x3a
pop eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], eax
cmp dx, ax
je 0x41aff7
mov ecx, 0x250
call fcn.004100b0
test eax, eax
je 0x41b0ba
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 4]
push 0x5c
pop esi
mov dword [ebp - 0xc], esi
movzx eax, word [eax]
cmp ax, si
je 0x40caed
mov ecx, dword [edi]
mov edx, esi
call fcn.00412349
mov esi, eax
test esi, esi
je 0x41b0cc
add esi, 2
xor ebx, ebx
push 0x4021cc
push esi
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x40caf4
push 0x4021ec
push esi
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x40caf4
cmp dword [0x42d0dc], 4
je 0x40cac8
push dword [edi]
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40cab6
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [0x443cf0], eax
cmp ebx, 0xffffffff
jne 0x40cabd
xor ebx, ebx
inc ebx
xor eax, eax
mov esi, eax
mov eax, dword [edi]
mov edx, eax
movzx ecx, word [edx]
test cx, cx
je 0x40ca57
cmp cx, word [ebp - 0xc]
je 0x40ca53
cmp cx, word [ebp - 0x14]
je 0x40ca4e
add edx, 2
inc ebx
jmp 0x40ca34
cmp ebx, 2
jne 0x40ca48
mov esi, edx
jmp 0x40ca48
mov dword [edi + 0xc], esi
test esi, esi
je 0x41b13a
xor eax, eax
cmp word [esi], ax
je 0x41b133
lea eax, [esi + 2]
push 0x2a
pop edx
mov ecx, esi
mov dword [edi + 0x10], eax
call fcn.0040d7d4
test eax, eax
je 0x40caa6
or dword [edi + 0x1c], 8
mov dword [0x443cd0], 1
push 0x2e
pop edx
mov ecx, esi
call fcn.0040d7d4
mov dword [edi + 0x14], eax
xor eax, eax
pop edi
pop esi
inc eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0x3f
pop edx
mov ecx, esi
call fcn.0040d7d4
test eax, eax
je 0x40ca8f
jmp 0x40ca81
xor eax, eax
jmp 0x40ca1b
test bl, 0x10
je 0x40ca29
jmp 0x40caf4
cmp dword [0x42d5ac], 1
je 0x40ca02
cmp dword [0x42d0c0], 1
jne 0x40ca29
mov dword [0x42d0c0], ebx
jmp 0x40ca02
mov dword [ebp - 8], 0x401f8e
mov esi, dword [edi]
mov ecx, esi
push 0x5c
pop eax
mov edx, eax
call fcn.00412349
test eax, eax
je 0x41b102
mov esi, dword [ebp - 0x10]
mov ebx, dword [edi]
add esi, 5
lea ecx, [esi + esi]
call fcn.004100b0
test eax, eax
je 0x41b0ba
push ebx
mov edx, esi
mov dword [edi], eax
mov ecx, eax
call fcn.00411040
push dword [ebp - 8]
mov ecx, dword [edi]
mov edx, esi
call fcn.004118c0
mov eax, dword [edi + 0x18]
mov dword [eax], 0x10
jmp 0x40ca29
cmp esi, 2
jle 0x40c987
xor eax, eax
mov word [ebx], ax
lea eax, [ebx - 2]
mov dword [ebp - 4], eax
xor eax, eax
push eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetErrorMode]
push ecx
mov ecx, dword [edi]
mov edx, 0x8000
mov dword [ebp - 0xc], eax
call fcn.0040d120
mov esi, eax
cmp esi, 0xffffffff
je 0x41b057
mov ecx, esi
call fcn.00410178
test eax, eax
jne 0x41b041
mov ecx, esi
call fcn.00429953
test eax, eax
je 0x41b057
mov ecx, esi
call fcn.00410178
test eax, eax
jne 0x41b0a5
mov ecx, esi
call fcn.00429953
test eax, eax
jmp 0x41b0a3
cmp dword [0x42d0dc], 4
push 0x3a
pop eax
mov dword [ebp - 4], ebx
mov word [ebx], ax
jne 0x41b08f
cmp dword [0x42d5a8], 0
jne 0x41b083
push dword [edi]
push 1
push 0x236b
call fcn.0040c5a2
add esp, 0xc
mov dword [0x42d5a4], 1
jmp 0x41b0a0
push dword [edi]
push 1
push 0x236b
call fcn.0040c5a2
add esp, 0xc
cmp esi, 0xffffffff
je 0x41b0ac
mov ecx, esi
call fcn.0040db92
push dword [ebp - 0xc]
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetErrorMode]
jmp 0x40c987
call fcn.00429287
push 1
push 0x43b8b8
call dword [sym.imp.msvcrt.dll_longjmp]
mov esi, dword [edi]
xor ebx, ebx
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x41b0d5
sub ecx, edx
sar ecx, 1
cmp ecx, 2
jb 0x40c9c9
push 0x3a
pop eax
cmp word [esi + 2], ax
jne 0x40c9c9
add esi, 4
jmp 0x40c9c9
mov ecx, esi
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x41b109
sub ecx, edx
sar ecx, 1
cmp ecx, 2
jne 0x40cb0a
push 0x3a
pop eax
cmp word [esi + 2], ax
je 0x40cb3a
jmp 0x40cb0a
mov eax, esi
jmp 0x40ca70
mov esi, eax
jmp 0x40ca70