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

Disassembly:
push 0xffffffffffffffff
push 0x507986
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x5375a0]
xor eax, esp
mov dword [esp + 0x168], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5375a0]
xor eax, esp
push eax
lea eax, [esp + 0x180]
mov dword fs:[0], eax
mov eax, dword [esp + 0x190]
cmp dword [eax + 0x42c], 0
mov ebp, dword [esp + 0x194]
mov ebx, ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ebx
mov esi, edx
jne 0x466e0c
call fcn.00437ec0
push 0x524ea4
push 0x5192f4
mov edx, eax
call fcn.004392f0
add esp, 8
jmp 0x4670ac
test esi, esi
jne 0x466e2e
call fcn.00437ec0
push 0x520bcc
push 0x5192f4
mov edx, eax
call fcn.004392f0
add esp, 8
jmp 0x4670ac
lea ecx, [esp + 0x54]
call fcn.00438ae0
mov eax, esi
lea edx, [esp + 0x54]
call fcn.00438d30
mov dword [esp + 0x188], 1
cmp byte [esp + 0x170], 0
lea eax, [esp + 0x60]
jne 0x466e5f
mov eax, dword [esp + 0x5c]
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x466e77
shr eax, 4
not al
and al, 1
jne 0x466ec6
mov ecx, ebx
call fcn.00437ec0
push 0x51a748
push 0x5192f4
mov edx, eax
call fcn.004392f0
add esp, 8
cmp byte [esp + 0x170], 0
mov dword [esp + 0x54], vtable.t_str.0
jne 0x4670ac
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x60]
cmp eax, ecx
je 0x4670ac
push eax
call fcn.004c6103
add esp, 4
jmp 0x4670ac
mov edi, dword [ebp + 4]
test edi, edi
je 0x466ed9
call fcn.004421d0
mov dword [ebp + 4], 0
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x58]
mov edi, ebx
call fcn.00468390
test al, al
jne 0x466ef7
push 0x521074
jmp 0x46709c
push ebp
mov eax, ebx
call fcn.00427870
test al, al
jne 0x466f0d
push 0x524230
jmp 0x46709c
mov ebp, dword [esp + 0x18]
cmp dword [ebp], 0x46534650
jne 0x46708e
mov ecx, dword [ebp + 0x18]
cmp ecx, 0x38
jb 0x46708e
mov edx, dword [ebp + 0x24]
xor eax, eax
add edx, ebp
xor ebx, ebx
cmp dword [ebp + 0x20], ebx
mov dword [esp + 0x50], edx
mov word [esp + 0x20], ax
mov dword [esp + 0x22], eax
mov dword [esp + 0x26], eax
mov dword [esp + 0x2a], eax
mov dword [esp + 0x2e], eax
mov dword [esp + 0x32], eax
mov dword [esp + 0x36], eax
mov dword [esp + 0x3a], eax
mov dword [esp + 0x3e], eax
mov dword [esp + 0x42], eax
mov word [esp + 0x46], ax
jle 0x467078
lea ecx, [ecx + ebp + 6]
mov dword [esp + 0x18], ecx
cmp word [ecx], 0
jne 0x467063
mov ecx, dword [ebp + 0x28]
imul ecx, ebx
mov esi, dword [edx + ecx*4]
add esi, dword [ebp + 0x2c]
movzx eax, word [esi + ebp]
add esi, ebp
mov word [esp + 0x20], ax
test ax, ax
jne 0x466fac
mov edx, dword [esi + 2]
mov eax, dword [esi + 6]
mov dword [esp + 0x22], edx
mov dword [esp + 0x26], eax
jmp 0x466fcb
cmp ax, 1
jne 0x466fcb
mov eax, dword [ebp + 0x2c]
mov ecx, dword [esi + 2]
mov edx, dword [esi + 6]
add ecx, eax
add ecx, ebp
add edx, eax
add edx, ebp
mov dword [esp + 0x22], ecx
mov dword [esp + 0x26], edx
mov eax, dword [esi + 0xa]
mov edx, dword [esi + 0x12]
mov ecx, dword [esi + 0xe]
mov dword [esp + 0x2e], eax
mov ax, word [esi + 0x1c]
movsx edi, ax
mov dword [esp + 0x32], ecx
mov dword [esp + 0x36], edx
mov word [esp + 0x3e], ax
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c9695
mov esi, dword [esi + 0x18]
add esi, dword [ebp + 0x2c]
add esp, 4
add esi, ebp
mov dword [esp + 0x3a], eax
test edi, edi
jle 0x467033
sub esi, eax
lea esp, [esp]
mov ecx, dword [esi + eax]
add ecx, dword [ebp + 0x2c]
add eax, 4
add ecx, ebp
sub edi, 1
mov dword [eax - 4], ecx
jne 0x467020
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
push edx
lea edi, [esp + 0x24]
mov ecx, esi
call fcn.00466750
test al, al
jne 0x467052
mov ecx, esi
call fcn.00437f10
mov eax, dword [esp + 0x3a]
push eax
call fcn.004c968a
mov edx, dword [esp + 0x54]
add esp, 4
mov ecx, dword [esp + 0x18]
inc ebx
add ecx, 8
cmp ebx, dword [ebp + 0x20]
mov dword [esp + 0x18], ecx
jl 0x466f76
push ebp
call fcn.004c968a
add esp, 4
lea ecx, [esp + 0x54]
call fcn.00438c80
mov al, 1
jmp 0x4670ae
push ebp
call fcn.004c968a
add esp, 4
push 0x52500c
mov ecx, ebx
call fcn.00402790
lea ecx, [esp + 0x54]
call fcn.00438c80
xor al, al
mov ecx, dword [esp + 0x180]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x168]
xor ecx, esp
call fcn.004c60f4
add esp, 0x178
ret 8