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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
push ebx
push esi
push edi
xor edi, edi
push dword [0x101ad648]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x18], edi
call fcn.10094520
mov esi, 0x10160bc0
lea ecx, [ebp - 0xc]
push esi
call fcn.100984d0
push esi
lea ecx, [ebp - 0xc]
call fcn.10095910
lea eax, [ebp - 0xc]
lea ecx, [ebp - 8]
push eax
call fcn.100942c0
push str.dtframe32.dll
lea ecx, [ebp - 8]
call fcn.10095910
lea eax, [ebp - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.100942c0
push str.dtframe64.dll
lea ecx, [ebp - 0x10]
call fcn.10095910
call fcn.100bc6f0
push dword [ebp - 8]
test eax, eax
je 0x10051e5d
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
call esi
cmp eax, 0xffffffff
je 0x10052080
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x24], edi
xor ebx, ebx
call fcn.1000988d
lea eax, [ebp - 0x60]
push edi
push eax
push dword [ebp - 8]
call fcn.100b09c0
add esp, 0xc
test eax, eax
je 0x10051dc9
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x5c]
xor eax, eax
xor edx, edx
or eax, ecx
or ebx, edx
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x60]
call fcn.100098ed
lea eax, [ebp - 4]
push eax
call fcn.10051722
mov eax, dword [ebp - 4]
pop ecx
cmp dword [eax - 8], edi
je 0x10051e38
push eax
call esi
cmp eax, 0xffffffff
je 0x10051e38
lea ecx, [ebp - 0x60]
xor esi, esi
call fcn.1000988d
lea eax, [ebp - 0x60]
push esi
push eax
push dword [ebp - 4]
call fcn.100b09c0
add esp, 0xc
test eax, eax
je 0x10051e17
mov eax, dword [ebp - 0x58]
mov esi, dword [ebp - 0x5c]
xor edi, edi
xor ecx, ecx
or edi, eax
or esi, ecx
lea ecx, [ebp - 0x60]
call fcn.100098ed
cmp esi, 0x10002
jg 0x10051e40
jl 0x10051e31
cmp edi, 0x4680000
jae 0x10051e40
mov dword [ebp - 0x18], 2
lea ecx, [ebp - 4]
jmp 0x1005207b
cmp ebx, esi
jl 0x10051e54
jg 0x10051e4b
cmp dword [ebp - 0x24], edi
jbe 0x10051e54
mov dword [ebp - 0x18], 3
jmp 0x10051e38
mov dword [ebp - 0x18], 1
jmp 0x10051e38
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
call ebx
cmp eax, 0xffffffff
je 0x10052080
push dword [ebp - 0x10]
call ebx
cmp eax, 0xffffffff
je 0x10052080
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
call fcn.1000988d
lea eax, [ebp - 0x60]
push edi
push eax
push dword [ebp - 8]
call fcn.100b09c0
add esp, 0xc
test eax, eax
je 0x10051eb2
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
xor edi, edi
or ecx, edx
or eax, edi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x60]
call fcn.100098ed
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
call fcn.1000988d
lea eax, [ebp - 0x60]
push edi
push eax
push dword [ebp - 0x10]
call fcn.100b09c0
add esp, 0xc
test eax, eax
je 0x10051ef0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
xor edi, edi
or ecx, edx
or eax, edi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x60]
call fcn.100098ed
mov edi, 0x1019f4bc
lea ecx, [ebp - 4]
push edi
call fcn.10094520
push edi
lea ecx, [ebp - 0x14]
call fcn.10094520
and word [ebp - 0x268], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x266]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor edi, edi
lea eax, [ebp - 0x268]
push edi
push 0x103
push eax
call fcn.100bfe40
add esp, 0xc
test eax, eax
je 0x10051fa7
lea eax, [ebp - 0x268]
lea ecx, [ebp - 4]
push eax
call fcn.10094f40
push esi
lea ecx, [ebp - 4]
call fcn.100984d0
push str.SysWOW64_
lea ecx, [ebp - 4]
call fcn.10095910
push str.dtframe32.dll
lea ecx, [ebp - 4]
call fcn.10095910
lea eax, [ebp - 0x268]
lea ecx, [ebp - 0x14]
push eax
call fcn.10094f40
push esi
lea ecx, [ebp - 0x14]
call fcn.100984d0
push str.System32_
lea ecx, [ebp - 0x14]
call fcn.10095910
push str.dtframe64.dll
lea ecx, [ebp - 0x14]
call fcn.10095910
push dword [ebp - 4]
call ebx
cmp eax, 0xffffffff
je 0x10052070
push dword [ebp - 0x14]
call ebx
cmp eax, 0xffffffff
je 0x10052070
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x1c], edi
xor esi, esi
call fcn.1000988d
lea eax, [ebp - 0x60]
push edi
push eax
push dword [ebp - 4]
call fcn.100b09c0
add esp, 0xc
test eax, eax
je 0x10051ff5
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x5c]
xor eax, eax
xor edx, edx
or eax, ecx
or esi, edx
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x60]
call fcn.100098ed
lea ecx, [ebp - 0x60]
xor ebx, ebx
call fcn.1000988d
lea eax, [ebp - 0x60]
push ebx
push eax
push dword [ebp - 0x14]
call fcn.100b09c0
add esp, 0xc
test eax, eax
je 0x10052027
mov eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x5c]
xor ecx, ecx
or ebx, eax
or edi, ecx
lea ecx, [ebp - 0x60]
call fcn.100098ed
mov eax, 0x10002
mov ecx, 0x4680000
cmp esi, eax
jl 0x100520a9
jg 0x10052044
cmp dword [ebp - 0x1c], ecx
jb 0x100520a9
cmp edi, eax
jl 0x100520a9
jg 0x1005204e
cmp ebx, ecx
jb 0x100520a9
cmp dword [ebp - 0x28], esi
jg 0x100520a0
jl 0x1005205d
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x2c], eax
ja 0x100520a0
cmp dword [ebp - 0x20], edi
jg 0x100520a0
jl 0x10052069
cmp dword [ebp - 0x24], ebx
ja 0x100520a0
mov dword [ebp - 0x18], 1
lea ecx, [ebp - 0x14]
call fcn.10094cc0
lea ecx, [ebp - 4]
call fcn.10094cc0
lea ecx, [ebp - 0x10]
call fcn.10094cc0
lea ecx, [ebp - 8]
call fcn.10094cc0
lea ecx, [ebp - 0xc]
call fcn.10094cc0
mov eax, dword [ebp - 0x18]
pop edi
pop esi
pop ebx
leave
ret
mov dword [ebp - 0x18], 3
jmp 0x10052070
mov dword [ebp - 0x18], 2
jmp 0x10052070