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

Disassembly:
mov eax, 0x4ce32d
call fcn.004c7e20
sub esp, 0x4c
push ebx
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
push esi
push edi
je 0x466c13
push dword [ebp + 0x10]
lea edi, [ebp - 0x10]
call fcn.00402f03
mov dword [ebp - 4], ebx
push dword [ebp + 0x10]
call sub.ole32.dll_CoTaskMemFree
mov dword [ebp + 0x10], ebx
mov byte [ebp - 4], 1
push dword [0x4f3008]
mov esi, 0x4f2620
push esi
call fcn.0045b6d0
cmp eax, 0xffffffff
jne 0x466a11
push ebx
push dword [0x4f3008]
lea ebx, [ebp - 0x14]
push esi
call fcn.0045b5cb
mov edi, eax
lea ebx, [ebp + 0x10]
call fcn.0044a1e8
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x466a34
call fcn.00438274
jmp 0x466a34
cmp eax, dword [0x4f2624]
jb 0x466a23
push 0x80070057
call fcn.004010ca
mov ecx, dword [0x4f2620]
lea edi, [ecx + eax*4]
lea ebx, [ebp + 0x10]
call fcn.0044a1e8
mov esi, dword [ebp + 0x10]
xor ebx, ebx
cmp esi, ebx
je 0x466bff
push ebx
lea eax, [ebp - 0x58]
call fcn.004041bc
mov eax, dword [ebp + 0xc]
dec eax
mov byte [ebp - 4], 2
je 0x466abe
dec eax
je 0x466a6d
dec eax
je 0x466abe
dec eax
je 0x466a6d
dec eax
je 0x466abe
lea eax, [ebp - 0x58]
call fcn.00404206
jmp 0x466bfa
push dword [ebp - 0x10]
mov eax, 0x4f3508
call fcn.004a8e73
test eax, eax
je 0x466a8b
push 2
push dword [ebp - 0x10]
lea ecx, [ebp - 0x58]
call fcn.00456bca
mov edi, dword [ebp + 8]
cmp dword [0x4f3290], ebx
je 0x466b34
add edi, 0x4a4
lea esi, [ebp - 0x18]
call fcn.0046da29
mov ebx, dword [eax]
lea esi, [ebp - 0x20]
call fcn.0046d9f7
cmp ebx, dword [eax]
mov edi, dword [ebp + 8]
jne 0x466b34
xor ebx, ebx
inc ebx
jmp 0x466b36
mov edi, dword [ebp - 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x466b0c
test al, 0x10
je 0x466ade
push 1
push edi
lea ecx, [ebp - 0x58]
call fcn.00456d23
jmp 0x466b07
test ah, 1
jne 0x466b07
mov eax, edi
call fcn.00407ab9
test eax, eax
jne 0x466b07
push edi
mov eax, 0x4f3508
call fcn.004a8e73
test eax, eax
je 0x466b07
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.00456bca
cmp dword [ebp - 0x54], ebx
jne 0x466b21
lea eax, [ebp - 0x58]
call fcn.00404206
call fcn.00438274
lea eax, [edi - 0xc]
jmp 0x466c05
mov edi, dword [ebp + 8]
push 1
push edi
lea ecx, [ebp - 0x58]
call fcn.00463544
jmp 0x466a8e
xor ebx, ebx
mov eax, dword [ebp + 0xc]
xor esi, esi
inc esi
cmp eax, esi
je 0x466b8e
cmp eax, 5
je 0x466b8e
cmp eax, 2
je 0x466b4f
cmp eax, 4
jne 0x466bb4
xor eax, eax
cmp dword [0x4f333c], eax
je 0x466b61
cmp dword [0x4f3290], eax
jne 0x466b78
xor esi, esi
cmp dword [0x4f3290], eax
jne 0x466b78
push esi
lea eax, [ebp - 0x58]
push eax
push dword [ebp + 0x10]
call fcn.0045684f
test ebx, ebx
je 0x466bc9
push esi
lea eax, [ebp - 0x58]
push eax
push dword [edi + 0xf0]
call fcn.0045684f
jmp 0x466bb4
cmp dword [0x4f3290], 0
jne 0x466ba2
push dword [ebp + 0x10]
lea esi, [ebp - 0x58]
call fcn.0045b9a1
test ebx, ebx
je 0x466bc9
push dword [edi + 0xf0]
lea esi, [ebp - 0x58]
call fcn.0045b9a1
test ebx, ebx
je 0x466bc9
add edi, 0xf0
lea ebx, [ebp + 0x10]
call fcn.0044a1e8
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
cmp esi, dword [edi + 0xf0]
jne 0x466bee
push dword [esi + 4]
lea eax, [edi + 0x504]
call fcn.0046d791
push 0
or eax, 0xffffffff
mov ecx, edi
call fcn.004630e9
lea eax, [ebp - 0x58]
call fcn.00404206
test esi, esi
je 0x466bff
call fcn.00438274
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x466c13
push eax
call fcn.004013aa
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc