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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x224
mov eax, dword [0x4261d4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 0x18]
push esi
mov esi, ecx
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp + 0x1c]
mov ecx, 0x402678
push edi
mov edi, edx
mov dword [ebp - 0x218], eax
call fcn.004036cb
mov edx, edi
mov ecx, eax
call fcn.0040bdc8
mov ecx, dword [esi + 0x3c]
xor eax, eax
push eax
xor edx, edx
mov dword [ebp - 0x214], eax
call fcn.00402014
mov ebx, eax
mov edx, edi
mov ecx, ebx
call fcn.0040bdc8
test eax, eax
je 0x4113f2
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4113e7
mov esi, ebx
xor edx, edx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, dx
jne 0x4113f9
sub esi, ecx
sar esi, 1
je 0x416bb7
cmp esi, 0x104
jae 0x416bc1
mov edi, ebx
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
cmp ax, dx
jne 0x41141f
sub edi, ecx
mov ecx, ebx
sar edi, 1
call fcn.0040220d
push eax
lea edx, [edi + 1]
mov ecx, ebx
call fcn.00401da3
mov ecx, ebx
call fcn.0040b09e
mov ecx, dword [ebp - 0x21c]
mov dword [ecx], eax
cmp eax, 1
je 0x419f58
inc esi
xor edi, edi
lea esi, [ebx + esi*2]
cmp word [esi], di
je 0x419f63
mov ecx, esi
call fcn.00405a82
cmp word [eax], di
jne 0x416bb7
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x41147c
sub ecx, edx
sar ecx, 1
cmp ecx, 0x104
ja 0x416bc1
mov edi, esi
xor edx, edx
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
cmp ax, dx
jne 0x41149e
sub edi, ecx
mov ecx, esi
sar edi, 1
call fcn.0040220d
push eax
lea edx, [edi + 1]
mov ecx, esi
call fcn.00401da3
movzx eax, word [esi + 2]
push 0x3a
pop edx
cmp ax, dx
jne 0x419f8a
push esi
mov edx, 0x104
lea ecx, [ebp - 0x210]
call fcn.00401da3
mov edi, dword [ebp - 0x224]
mov edx, 0x104
push ebx
mov ecx, edi
call fcn.00402d3f
test eax, eax
jne 0x416bc1
mov ebx, dword [ebp - 0x21c]
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test byte [eax], 0x10
jne 0x411551
push 0x5c
pop ecx
mov edx, ecx
mov ecx, edi
call fcn.00402580
mov esi, eax
test esi, esi
je 0x415f91
add esi, 2
mov ecx, dword [ebx]
push 0x5c
pop eax
mov edx, eax
mov ecx, dword [ecx + 0x10]
call fcn.00402580
test eax, eax
jne 0x41153c
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
push eax
mov eax, esi
mov edx, 0x104
sub eax, edi
mov ecx, esi
sar eax, 1
sub edx, eax
call fcn.00401da3
mov ebx, dword [ebp - 0x220]
lea eax, [ebp - 0x210]
push eax
mov edx, 0x104
mov ecx, ebx
call fcn.00402d3f
test eax, eax
jne 0x416bc1
push eax
mov esi, eax
mov dword [0x4260a4], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_SetLastError]
mov eax, dword [ebp - 0x218]
xor ecx, ecx
mov dword [eax], ecx
mov ecx, ebx
call fcn.00402c6f
push 0x5c
pop ecx
cmp word [eax], cx
je 0x415bc4
push ebx
call dword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x411aa6
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov dword [0x4260a4], eax
test eax, eax
je 0x4115c5
cmp eax, 2
jne 0x41a011
test esi, esi
jne 0x415f7a
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401200
mov esp, ebp
pop ebp
ret 0x18
test al, 0x10
je 0x4115c5
mov eax, dword [ebp - 0x218]
xor ecx, ecx
inc ecx
mov esi, ecx
mov dword [eax], ecx
jmp 0x4115c5
mov ecx, ebx
xor esi, esi
inc esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x214]
jne 0x415bcc
sub ecx, edx
sar ecx, 1
xor eax, eax
mov word [ebx + ecx*2 - 2], ax
jmp 0x41159d
push 0x5c
pop eax
mov edx, eax
mov ecx, edi
call fcn.00402580
mov esi, eax
xor edi, edi
mov edx, esi
lea eax, [edx + 2]
jmp 0x415f98
mov esi, edi
jmp 0x411524
mov cx, word [edx]
add edx, 2
cmp cx, di
jne 0x415f98
mov ecx, ebx
sub edx, eax
sar edx, 1
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x214]
jne 0x415fac
sub ecx, edi
sar ecx, 1
lea eax, [ecx + 1]
mov ecx, 0x104
add eax, edx
cmp eax, ecx
ja 0x416bc1
mov edx, ecx
mov ecx, ebx
push esi
call fcn.00402c8a
jmp 0x4115cd
mov ecx, 0x232a
jmp 0x41ed4a
mov ecx, 0x232e
jmp 0x41ed4a
mov ecx, dword [0x4260a4]
jmp 0x41ed4a
mov eax, dword [0x4260a0]
push 0x3a
mov ax, word [eax]
mov word [ebp - 0x210], ax
pop eax
mov word [ebp - 0x20e], ax
xor eax, eax
mov word [ebp - 0x20c], ax
jmp 0x4114e0
push 0x5c
pop ecx
cmp word [esi], cx
jne 0x419f9b
cmp ax, cx
je 0x4114cf
mov eax, dword [0x4260a0]
mov ax, word [eax]
mov word [ebp - 0x210], ax
xor eax, eax
mov word [ebp - 0x20e], dx
xor edi, edi
lea edx, [ebp - 0x210]
mov word [ebp - 0x20c], ax
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, di
jne 0x419fc5
sub edx, ecx
mov ecx, esi
sar edx, 1
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x214]
jne 0x419fd9
sub ecx, edi
sar ecx, 1
lea eax, [ecx + 1]
mov ecx, 0x104
add eax, edx
cmp eax, ecx
ja 0x416bc1
mov edx, ecx
lea ecx, [ebp - 0x210]
push esi
call fcn.00402c8a
jmp 0x4114e0
cmp eax, 3
jne 0x41ed48
jmp 0x4115c5
mov ecx, eax
call fcn.00411b7c
int3