Function at 0x100418f0
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x628
mov eax, dword [0x102519c8]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x10257778], 0
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
jne 0x10041a57
cmp dword [0x1023cf08], 0
je 0x10041a24
push 0x208
lea eax, [ebp - 0x20c]
mov dword [0x1023cf08], 0
push 0
push eax
call sub.msvcrt.dll_memset
push str.SoftMgrSoftMgrLiteBase.dll
push 0x104
lea eax, [ebp - 0x20c]
push eax
push dword [0x10257d10]
call fcn.100da6a0
add esp, 0x1c
call fcn.10003180
mov esi, dword [eax + 0x154]
test esi, esi
je 0x10041975
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0xe
call fcn.10003680
add esp, 4
test eax, eax
je 0x1004198e
lea ecx, [ebp - 0x20c]
push ecx
call eax
jmp 0x1004199b
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
test esi, esi
je 0x100419a8
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp ebx, 0xffffffff
je 0x10041a1b
test bl, 0x10
jne 0x10041a1b
lea eax, [ebp - 0x628]
mov dword [ebp - 0x628], 0
push eax
mov eax, dword [0x10206d84]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [str.o_1_]
mov dword [ecx + 4], eax
mov eax, dword [0x10206d8c]
mov dword [ecx + 8], eax
mov eax, dword [0x10206d90]
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0x20c]
push eax
call fcn.1003a970
mov eax, dword [ebp - 0x628]
add esp, 0x18
mov dword [0x10257778], eax
test eax, eax
je 0x10041a24
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [ebp - 0x628]
test eax, eax
je 0x10041a1b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [0x10257778], 0
jne 0x10041a57
xor eax, eax
mov dword [edi + 0x10], 0
push eax
mov dword [edi + 0x14], 7
mov ecx, edi
push 0x10202940
mov word [edi], ax
call fcn.100070c0
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f99c6
mov esp, ebp
pop ebp
ret
mov eax, dword [0x10257784]
test al, 1
jne 0x10041a98
or eax, 1
mov dword [0x1025777c], 0
mov ecx, 0x1025777c
mov dword [0x10257784], eax
mov dword [0x10257780], 0
call fcn.1003cf70
push 0x10200500
mov dword [0x1025777c], eax
call fcn.101c8090
add esp, 4
lea ecx, [ebp - 0x61d]
call fcn.10129b80
mov esi, dword [0x1025777c]
mov ecx, esi
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10041afd
mov edx, dword [ebp + 0xc]
cmp dword [eax + 0x10], edx
jae 0x10041ac1
mov eax, dword [eax + 8]
jmp 0x10041ac5
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x10041ab7
cmp ecx, esi
je 0x10041afd
cmp edx, dword [ecx + 0x10]
jb 0x10041afd
lea eax, [ecx + 0x14]
mov ecx, edi
push eax
call fcn.10005170
lea ecx, [ebp - 0x61d]
call fcn.10129ba0
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f99c6
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x61d]
call fcn.10129ba0
mov eax, dword [0x10257778]
lea edx, [ebp - 0x624]
push edx
push dword [ebp + 0xc]
mov dword [ebp - 0x624], 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
mov eax, dword [ebp - 0x624]
test eax, eax
je 0x10041bb6
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
mov edx, eax
test edx, edx
je 0x10041bb6
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10041b46
sub ecx, esi
sar ecx, 1
cmp ecx, 0x208
jae 0x10041bb6
push edx
lea eax, [ebp - 0x61c]
push 0x208
push eax
call fcn.101ef650
add esp, 0xc
lea eax, [ebp - 0x61c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea ecx, [ebp - 0x61d]
call fcn.10129b80
lea eax, [ebp - 0x61c]
mov ecx, 0x1025777c
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.10034040
mov ecx, eax
call fcn.10033d90
push eax
mov ecx, edi
call fcn.10005170
lea ecx, [ebp - 0x61d]
jmp 0x10041beb
lea ecx, [ebp - 0x61e]
call fcn.10129b80
lea eax, [ebp + 0xc]
mov ecx, 0x1025777c
push eax
call fcn.10034040
push 0
push 0x10202940
mov ecx, eax
call fcn.100070c0
push eax
mov ecx, edi
call fcn.10005170
lea ecx, [ebp - 0x61e]
call fcn.10129ba0
mov eax, dword [ebp - 0x624]
test eax, eax
je 0x10041c00
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101f99c6
mov esp, ebp
pop ebp
ret