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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e5fc6
mov eax, dword fs:[0]
push eax
mov eax, 0x1258
call fcn.0048f1d0
mov eax, dword [0x519220]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov dword [ebp - 0x1264], esi
mov edi, ecx
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x1134]
sub esp, 0x10
mov dword [ebp - 0x1260], ebx
push 0
push ebx
call fcn.0040f6f0
sub esp, 0x10
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1258]
push 0
push esi
call fcn.0040f6f0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x1128]
cmp byte [ebp - 0x1018], 0
mov byte [ebp - 0x1259], 1
cmove eax, dword [ebp - 0x112c]
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x416210
shr eax, 4
not al
and al, 1
je 0x416210
push ecx
lea eax, [ebp - 0x1258]
push eax
push edi
lea ecx, [ebp - 0x1134]
call fcn.00411550
test al, al
jmp 0x4163b6
lea ecx, [ebp - 0x1134]
call fcn.00410050
test al, al
jne 0x416241
push 0x503f0c
mov ecx, edi
call fcn.004062d0
push ebx
push 0x50258c
push eax
call fcn.00405280
add esp, 0xc
xor bl, bl
jmp 0x4163be
lea ecx, [ebp - 0x1258]
call fcn.00410050
test al, al
jne 0x416283
push ecx
push edi
lea ecx, [ebp - 0x1258]
call fcn.004111a0
test al, al
jne 0x416283
push 0x503370
mov ecx, edi
call fcn.004062d0
push esi
push 0x50258c
push eax
call fcn.00405280
add esp, 0xc
xor bl, bl
jmp 0x4163be
push ebx
lea eax, [ebp - 0x810]
push str._s.
push eax
call fcn.0041ec50
add esp, 0xc
lea eax, [ebp - 0x810]
push 0x536708
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4163bc
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileW]
nop dword [eax + eax]
mov edx, 0x4fb6dc
mov ecx, 0x536734
nop word [eax + eax]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x4162f6
test ax, ax
je 0x4162f2
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
jne 0x4162f6
add ecx, 4
add edx, 4
test ax, ax
jne 0x4162d0
xor eax, eax
jmp 0x4162fb
sbb eax, eax
or eax, 1
test eax, eax
je 0x416398
mov eax, 0x503c60
mov ecx, 0x536734
nop dword [eax]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x416336
test dx, dx
je 0x416332
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x416336
add ecx, 4
add eax, 4
test dx, dx
jne 0x416310
xor eax, eax
jmp 0x41633b
sbb eax, eax
or eax, 1
test eax, eax
je 0x416398
push 0x536734
push dword [ebp - 0x1260]
lea eax, [ebp - 0x810]
push 0x503f00
push eax
call fcn.0041ec50
push 0x536734
push dword [ebp - 0x1264]
lea eax, [ebp - 0x1010]
push 0x503f00
push eax
call fcn.0041ec50
lea eax, [ebp - 0x810]
mov ecx, edi
push eax
lea edx, [ebp - 0x1010]
call fcn.00416150
add esp, 0x24
neg al
sbb al, al
and byte [ebp - 0x1259], al
push 0x536708
push esi
call ebx
test eax, eax
jne 0x4162c0
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp - 0x1259], 0
jne 0x4163bc
xor bl, bl
jmp 0x4163be
mov bl, 1
cmp byte [ebp - 0x113c], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x4163ea
mov eax, dword [ebp - 0x1250]
lea ecx, [ebp - 0x124c]
cmp eax, ecx
je 0x4163ea
push eax
call fcn.0049c7b1
add esp, 4
cmp byte [ebp - 0x1018], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x416416
mov eax, dword [ebp - 0x112c]
lea ecx, [ebp - 0x1128]
cmp eax, ecx
je 0x416416
push eax
call fcn.0049c7b1
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048f1b0
mov esp, ebp
pop ebp
ret