Function at 0x100029f5
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x444
mov eax, dword [ebp + 8]
push ebx
push esi
xor ebx, ebx
push edi
lea ecx, [ebp - 0x44]
mov byte [ebp - 2], 1
mov byte [eax], bl
call fcn.10005a4e
test al, al
mov esi, dword [sym.imp.KERNEL32.dll_ResetEvent]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
je 0x10002d13
push ebx
mov dword [ebp - 0xc], ebx
call esi
test eax, eax
je 0x10002a35
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x44]
call fcn.100065fc
test al, al
je 0x10002d13
cmp dword [ebp - 0x1c], ebx
mov dword [ebp - 8], ebx
jle 0x10002cec
push ebx
call esi
test eax, eax
je 0x10002a75
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
call esi
test eax, eax
je 0x10002a9a
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call esi
test eax, eax
je 0x10002ab6
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov eax, dword [eax + ecx*4]
cmp eax, 0xfde8
jge 0x10002c84
cmp eax, 0x7530
jle 0x10002c84
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push ebx
push eax
lea ecx, [ebp - 0x44]
call fcn.10006506
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push 1
push dword [eax + ecx*4]
lea ecx, [ebp - 0x44]
call fcn.10006506
push ebx
call esi
test eax, eax
je 0x10002b1e
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xc]
push 2
push dword [eax + ecx*4]
lea ecx, [ebp - 0x44]
call fcn.10006506
push ebx
call esi
test eax, eax
je 0x10002b55
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
cmp dword [ebp - 0x10], ebx
je 0x10002bcd
push 3
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10002bcd
push 3
push 0x10009224
push dword [ebp - 0x10]
mov byte [ebp - 1], 1
call fcn.100083c0
add esp, 0xc
test eax, eax
je 0x10002c84
push ebx
call esi
test eax, eax
je 0x10002ba3
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
cmp byte [ebp - 1], bl
mov edx, dword [ebp - 0x10]
jne 0x10002bc2
mov edx, 0x10009220
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x10002bd2
mov ecx, dword [eax]
jmp 0x10002bd4
mov byte [ebp - 1], bl
jmp 0x10002b99
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x10002bdf
mov eax, dword [eax]
jmp 0x10002be1
xor eax, eax
push edx
push ecx
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + ecx*4]
sub eax, 0x7530
push eax
lea eax, [ebp - 0x444]
push str._d:_d:_d:_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
cmp byte [ebp - 2], bl
jne 0x10002c1e
push 0x10009210
push dword [ebp + 8]
call fcn.100081e0
pop ecx
pop ecx
jmp 0x10002c21
mov byte [ebp - 2], bl
push ebx
call esi
test eax, eax
je 0x10002c2b
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
lea eax, [ebp - 0x444]
push eax
push dword [ebp + 8]
call fcn.100081e0
pop ecx
pop ecx
push ebx
call esi
test eax, eax
je 0x10002c58
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
push 4
push 0x10009224
push 1
push dword [eax + ecx*4]
lea ecx, [ebp - 0x44]
call fcn.1000637b
push ebx
call esi
test eax, eax
je 0x10002c8e
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push dword [ebp - 0x10]
lea ecx, [ebp - 0x44]
call fcn.100066ed
push dword [ebp - 0x14]
lea ecx, [ebp - 0x44]
call fcn.100066ed
push ebx
call esi
test eax, eax
je 0x10002cc0
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push dword [ebp - 0x18]
lea ecx, [ebp - 0x44]
call fcn.100066ed
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x1c]
jl 0x10002a6b
push ebx
call esi
test eax, eax
je 0x10002cf6
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push dword [ebp - 0xc]
lea ecx, [ebp - 0x44]
call fcn.100066ed
push ebx
call esi
test eax, eax
je 0x10002d1d
push ebx
call edi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
push ebx
call edi
push ebx
call esi
lea ecx, [ebp - 0x44]
call fcn.10006021
pop edi
pop esi
pop ebx
leave
ret