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

Disassembly:
mov eax, 0x4f3c23
call fcn.004eadec
sub esp, 0x4c
push ebx
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
push esi
push edi
je 0x4704c3
push dword [ebp + 0x10]
lea edi, [ebp - 0x10]
call fcn.004031b3
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 [0x5217a8]
mov esi, 0x521414
push esi
call fcn.00464ba4
cmp eax, 0xffffffff
jne 0x4702c1
push ebx
push dword [0x5217a8]
lea ebx, [ebp - 0x14]
push esi
call fcn.00464a9f
mov edi, eax
lea ebx, [ebp + 0x10]
call fcn.0045233f
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x4702e4
call fcn.0043f5c1
jmp 0x4702e4
cmp eax, dword [0x521418]
jb 0x4702d3
push 0x80070057
call fcn.004010ca
mov ecx, dword [0x521414]
lea edi, [ecx + eax*4]
lea ebx, [ebp + 0x10]
call fcn.0045233f
mov esi, dword [ebp + 0x10]
xor ebx, ebx
cmp esi, ebx
je 0x4704af
push ebx
lea eax, [ebp - 0x58]
call fcn.00404926
mov eax, dword [ebp + 0xc]
dec eax
mov byte [ebp - 4], 2
je 0x47036e
dec eax
je 0x47031d
dec eax
je 0x47036e
dec eax
je 0x47031d
dec eax
je 0x47036e
lea eax, [ebp - 0x58]
call fcn.00404970
jmp 0x4704aa
push dword [ebp - 0x10]
mov eax, 0x5224b0
call fcn.004b9564
test eax, eax
je 0x47033b
push 2
push dword [ebp - 0x10]
lea ecx, [ebp - 0x58]
call fcn.00460335
mov edi, dword [ebp + 8]
cmp dword [0x521b68], ebx
je 0x4703e4
add edi, 0x4a4
lea esi, [ebp - 0x18]
call fcn.004772b9
mov ebx, dword [eax]
lea esi, [ebp - 0x20]
call fcn.00477287
cmp ebx, dword [eax]
mov edi, dword [ebp + 8]
jne 0x4703e4
xor ebx, ebx
inc ebx
jmp 0x4703e6
mov edi, dword [ebp - 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4703bc
test al, 0x10
je 0x47038e
push 1
push edi
lea ecx, [ebp - 0x58]
call fcn.00460681
jmp 0x4703b7
test ah, 1
jne 0x4703b7
mov eax, edi
call fcn.0040e289
test eax, eax
jne 0x4703b7
push edi
mov eax, 0x5224b0
call fcn.004b9564
test eax, eax
je 0x4703b7
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.00460335
cmp dword [ebp - 0x54], ebx
jne 0x4703d1
lea eax, [ebp - 0x58]
call fcn.00404970
call fcn.0043f5c1
lea eax, [edi - 0xc]
jmp 0x4704b5
mov edi, dword [ebp + 8]
push 1
push edi
lea ecx, [ebp - 0x58]
call fcn.0046cb62
jmp 0x47033e
xor ebx, ebx
mov eax, dword [ebp + 0xc]
xor esi, esi
inc esi
cmp eax, esi
je 0x47043e
cmp eax, 5
je 0x47043e
cmp eax, 2
je 0x4703ff
cmp eax, 4
jne 0x470464
xor eax, eax
cmp dword [0x521c14], eax
je 0x470411
cmp dword [0x521b68], eax
jne 0x470428
xor esi, esi
cmp dword [0x521b68], eax
jne 0x470428
push esi
lea eax, [ebp - 0x58]
push eax
push dword [ebp + 0x10]
call fcn.0045fd2a
test ebx, ebx
je 0x470479
push esi
lea eax, [ebp - 0x58]
push eax
push dword [edi + 0xf0]
call fcn.0045fd2a
jmp 0x470464
cmp dword [0x521b68], 0
jne 0x470452
push dword [ebp + 0x10]
lea esi, [ebp - 0x58]
call fcn.00464e2f
test ebx, ebx
je 0x470479
push dword [edi + 0xf0]
lea esi, [ebp - 0x58]
call fcn.00464e2f
test ebx, ebx
je 0x470479
add edi, 0xf0
lea ebx, [ebp + 0x10]
call fcn.0045233f
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
cmp esi, dword [edi + 0xf0]
jne 0x47049e
push dword [esi + 4]
lea eax, [edi + 0x504]
call fcn.0047704f
push 0
or eax, 0xffffffff
mov ecx, edi
call fcn.0046c707
lea eax, [ebp - 0x58]
call fcn.00404970
test esi, esi
je 0x4704af
call fcn.0043f5c1
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4704c3
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