Function at 0x408f21
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], 0x40206c
xor ebx, ebx
mov dword [0x4357a8], ebx
mov ecx, dword [edi]
mov esi, ecx
lea edx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x408f44
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 0x408f73
xor edx, edx
mov eax, ecx
mov ebx, ecx
add ecx, 2
cmp word [ecx], dx
jne 0x408f64
movzx edx, word [eax]
push 0x3a
pop eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], eax
cmp dx, ax
je 0x41b76c
mov ecx, 0x250
call fcn.0040dcd0
test eax, eax
je 0x41b8a4
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 0x4090e9
mov ecx, dword [edi]
mov edx, esi
call fcn.004101f5
mov esi, eax
test esi, esi
je 0x41b82f
add esi, 2
xor ebx, ebx
push 0x402434
push esi
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x4090f0
push 0x402510
push esi
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x4090f0
cmp dword [0x42d0d8], 4
je 0x4090c4
push dword [edi]
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4090b2
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [0x4357a8], eax
cmp ebx, 0xffffffff
jne 0x4090b9
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 0x409055
cmp cx, word [ebp - 0xc]
je 0x409051
cmp cx, word [ebp - 0x14]
je 0x40904c
add edx, 2
inc ebx
jmp 0x409032
cmp ebx, 2
jne 0x409046
mov esi, edx
jmp 0x409046
mov dword [edi + 0xc], esi
test esi, esi
je 0x41b89d
xor eax, eax
cmp word [esi], ax
je 0x41b896
lea eax, [esi + 2]
push 0x2a
pop edx
mov ecx, esi
mov dword [edi + 0x10], eax
call fcn.0040a62f
test eax, eax
je 0x4090a2
or dword [edi + 0x1c], 8
mov dword [0x435760], 1
push 0x2e
pop edx
mov ecx, esi
call fcn.0040a62f
mov dword [edi + 0x14], eax
xor eax, eax
pop edi
pop esi
inc eax
pop ebx
leave
ret
push 0x3f
pop edx
mov ecx, esi
call fcn.0040a62f
test eax, eax
je 0x40908d
jmp 0x40907f
xor eax, eax
jmp 0x409019
test bl, 0x10
je 0x409027
jmp 0x4090f0
cmp dword [0x435770], 1
je 0x409000
cmp dword [0x42d0d4], 1
jne 0x409027
mov dword [0x42d0d4], ebx
jmp 0x409000
mov dword [ebp - 8], 0x40206e
mov esi, dword [edi]
mov ecx, esi
push 0x5c
pop eax
mov edx, eax
call fcn.004101f5
test eax, eax
je 0x41b865
mov esi, dword [ebp - 0x10]
mov ebx, dword [edi]
add esi, 5
lea ecx, [esi + esi]
call fcn.0040dcd0
test eax, eax
je 0x41b8a4
push ebx
mov edx, esi
mov dword [edi], eax
mov ecx, eax
call fcn.0040f3a0
push dword [ebp - 8]
mov ecx, dword [edi]
mov edx, esi
call fcn.0040fc40
mov eax, dword [edi + 0x18]
mov dword [eax], 0x10
jmp 0x409027
cmp esi, 2
jle 0x408f85
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.00410590
mov esi, eax
cmp esi, 0xffffffff
je 0x41b7cc
mov ecx, esi
call fcn.0040dd98
test eax, eax
jne 0x41b7b6
mov ecx, esi
call fcn.00429f8f
test eax, eax
je 0x41b7cc
mov ecx, esi
call fcn.0040dd98
test eax, eax
jne 0x41b81a
mov ecx, esi
call fcn.00429f8f
test eax, eax
jmp 0x41b818
cmp dword [0x42d0d8], 4
push 0x3a
pop eax
mov dword [ebp - 4], ebx
mov word [ebx], ax
jne 0x41b804
cmp dword [0x43576c], 0
jne 0x41b7f8
push dword [edi]
push 1
push 0x236b
call fcn.004078e4
add esp, 0xc
mov dword [0x435768], 1
jmp 0x41b815
push dword [edi]
push 1
push 0x236b
call fcn.004078e4
add esp, 0xc
cmp esi, 0xffffffff
je 0x41b821
mov ecx, esi
call fcn.0040a16c
push dword [ebp - 0xc]
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetErrorMode]
jmp 0x408f85
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 0x41b838
sub ecx, edx
sar ecx, 1
cmp ecx, 2
jb 0x408fc7
push 0x3a
pop eax
cmp word [esi + 2], ax
jne 0x408fc7
add esi, 4
jmp 0x408fc7
mov ecx, esi
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x41b86c
sub ecx, edx
sar ecx, 1
cmp ecx, 2
jne 0x409106
push 0x3a
pop eax
cmp word [esi + 2], ax
je 0x409136
jmp 0x409106
mov eax, esi
jmp 0x40906e
mov esi, eax
jmp 0x40906e
call fcn.004298e4
push 1
push 0x43fa30
call dword [sym.imp.msvcrt.dll_longjmp]
int3