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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0xc], 0x402688
push edi
xor edi, edi
mov dword [0x443d00], edi
mov ecx, dword [esi]
mov ebx, ecx
mov dword [ebp - 8], edi
lea edx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
cmp ax, di
jne 0x4126ef
sub ebx, edx
mov edi, ecx
sar ebx, 1
xor edx, edx
mov dword [ebp - 0x14], ebx
jmp 0x41270c
mov edi, ecx
add ecx, 2
cmp word [ecx], dx
jne 0x412707
push 0x3a
pop eax
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], eax
cmp word [edi], ax
je 0x41eceb
mov ecx, 0x250
call fcn.0040f4e0
test eax, eax
je 0x41edaf
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 4]
push 0x5c
pop edi
mov dword [ebp - 0x10], edi
movzx eax, word [eax]
cmp ax, di
je 0x4128ac
mov ecx, dword [esi]
mov edx, edi
call fcn.004111d9
mov edi, eax
test edi, edi
je 0x41edc1
add edi, 2
push 0x402358
push edi
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x4128b3
push 0x402378
push edi
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x4128b3
cmp dword [0x42d0dc], 4
je 0x41286b
push dword [esi]
call dword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetFileAttributesW]
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
jne 0x41285e
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov dword [0x443d00], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xffffffff
jne 0x412854
mov edx, dword [esi]
xor ebx, ebx
inc ebx
mov ecx, edx
xor eax, eax
mov edi, eax
movzx eax, word [ecx]
test ax, ax
je 0x4127f5
cmp ax, word [ebp - 0x10]
je 0x4127f1
cmp ax, word [ebp - 0x18]
je 0x4127ec
add ecx, 2
inc ebx
jmp 0x4127d2
cmp ebx, 2
jne 0x4127e6
mov edi, ecx
jmp 0x4127e6
mov dword [esi + 0xc], edi
test edi, edi
je 0x41ee2d
xor eax, eax
cmp word [edi], ax
lea eax, [edi + 2]
je 0x41ee26
mov dword [esi + 0x10], eax
push 0x2a
pop edx
mov ecx, edi
call fcn.004115ed
test eax, eax
je 0x412844
or dword [esi + 0x1c], 8
mov dword [0x443ce0], 1
push 0x2e
pop edx
mov ecx, edi
call fcn.004115ed
mov dword [esi + 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, edi
call fcn.004115ed
test eax, eax
je 0x41282d
jmp 0x41281f
test al, 0x10
je 0x4127c7
jmp 0x4128b3
xor ecx, ecx
mov dword [0x443d00], ecx
jmp 0x4127be
cmp dword [0x42d5b4], 1
je 0x41279c
cmp dword [0x42d0c0], 1
jne 0x4127c7
push dword [esi]
xor edi, edi
mov dword [0x42d0c0], edi
call dword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetFileAttributesW]
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
je 0x4127b0
mov dword [0x443d00], edi
jmp 0x4127be
mov dword [ebp - 0xc], 0x40268a
mov edi, dword [esi]
mov ecx, edi
push 0x5c
pop eax
mov edx, eax
call fcn.004111d9
test eax, eax
je 0x41edf6
mov edi, dword [esi]
add ebx, 5
lea ecx, [ebx + ebx]
call fcn.0040f4e0
test eax, eax
je 0x41edaf
push edi
mov edx, ebx
mov dword [esi], eax
mov ecx, eax
call fcn.00410820
push dword [ebp - 0xc]
mov ecx, dword [esi]
mov edx, ebx
call fcn.00410770
mov eax, dword [esi + 0x18]
mov dword [eax], 0x10
jmp 0x4127c7
cmp ebx, 2
jle 0x412723
xor eax, eax
mov word [edi], ax
lea eax, [edi - 2]
push edx
mov dword [ebp - 4], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_SetErrorMode]
push ecx
mov ecx, dword [esi]
mov edx, 0x8000
mov dword [ebp - 0x10], eax
call fcn.00411880
mov ebx, eax
cmp ebx, 0xffffffff
je 0x41ed49
mov ecx, ebx
call fcn.0040f521
test eax, eax
jne 0x41ed33
mov ecx, ebx
call fcn.00429713
test eax, eax
je 0x41ed49
mov ecx, ebx
call fcn.0040f521
test eax, eax
jne 0x41ed97
mov ecx, ebx
call fcn.00429713
test eax, eax
jmp 0x41ed95
cmp dword [0x42d0dc], 4
push 0x3a
pop eax
mov dword [ebp - 4], edi
mov word [edi], ax
jne 0x41ed81
cmp dword [0x42d5b0], 0
jne 0x41ed75
push dword [esi]
push 1
push 0x236b
call fcn.00414802
add esp, 0xc
mov dword [0x42d5ac], 1
jmp 0x41ed92
push dword [esi]
push 1
push 0x236b
call fcn.00414802
add esp, 0xc
cmp ebx, 0xffffffff
je 0x41ed9e
mov ecx, ebx
call fcn.0040caaa
push dword [ebp - 0x10]
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_SetErrorMode]
mov ebx, dword [ebp - 0x14]
jmp 0x412723
call fcn.0042904e
push 1
push 0x43b8c8
call dword [sym.imp.msvcrt.dll_longjmp]
mov edi, dword [esi]
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 8]
jne 0x41edc8
sub ecx, edx
sar ecx, 1
cmp ecx, 2
jb 0x412763
push 0x3a
pop eax
cmp word [edi + 2], ax
jne 0x412763
add edi, 4
jmp 0x412763
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 8]
jne 0x41edfb
sub ecx, edx
sar ecx, 1
cmp ecx, 2
jne 0x4128c9
push 0x3a
pop eax
cmp word [edi + 2], ax
je 0x4128f6
jmp 0x4128c9
mov eax, edi
jmp 0x41280e
mov dword [esi + 0x10], edx
mov edi, edx
jmp 0x412811