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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x100b7464]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
xor edi, edi
mov dword [ebp - 0x224], esi
push edi
mov dword [ebp - 0x238], 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
test esi, esi
je 0x1001d1ba
push esi
call fcn.10018b20
test eax, eax
jne 0x1001d1ba
cmp dword [0x100b813c], ebx
jne 0x1001cbd0
push 0x100a2f50
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x1001d184
cmp dword [0x100b813c], ebx
jne 0x1001cbb6
push 0x100a2f60
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x100b813c], eax
test eax, eax
je 0x1001d184
push 0x100b8138
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x100b813c]
test eax, eax
je 0x1001d184
mov eax, dword [0x100b8138]
push 0x42ea
mov dword [ebp - 0x234], eax
call fcn.1001b910
test eax, eax
je 0x1001cdd0
push 0x208
lea eax, [ebp - 0x20e]
push 0
push eax
call fcn.10055380
xor eax, eax
add esp, 0xc
mov word [ebp - 0x210], ax
xor edi, edi
mov eax, dword [0x100b7010]
test eax, eax
je 0x1001ccc3
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x234], ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x1001cc8b
push 0x104
lea ecx, [ebp - 0x210]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, eax
test esi, esi
je 0x1001cc8b
mov ax, word [ebp - 0x210]
cmp ax, 0x5c
je 0x1001cca0
cmp ax, 0x2f
je 0x1001cca0
movzx eax, ax
push eax
call fcn.1007a780
add esp, 4
test eax, eax
je 0x1001cc8b
cmp word [ebp - 0x20e], 0x3a
jne 0x1001cc8b
mov ax, word [ebp - 0x20c]
cmp ax, 0x5c
je 0x1001cca0
cmp ax, 0x2f
je 0x1001cca0
mov eax, dword [edi*4 + 0x100b7014]
inc edi
test eax, eax
jne 0x1001cc27
jmp 0x1001ccba
cmp word [ebp + esi*2 - 0x210], 0x5c
je 0x1001ccb0
sub esi, 1
jne 0x1001cca0
xor eax, eax
mov word [ebp + esi*2 - 0x210], ax
cmp word [ebp - 0x210], bx
jne 0x1001cccf
lea eax, [ebp - 0x210]
push eax
call fcn.10019ba0
mov eax, dword [ebp - 0x234]
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x234], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001cce4
mov edi, dword [ebp - 0x224]
sub ecx, edx
mov edx, edi
sar ecx, 1
lea esi, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x1001cd00
sub edx, esi
sar edx, 1
test ecx, ecx
je 0x1001cd2f
cmp word [ebp + ecx*2 - 0x212], 0x5c
je 0x1001cd2f
test edx, edx
je 0x1001cd2f
cmp word [edi], 0x5c
je 0x1001cd2f
mov eax, 1
jmp 0x1001cd31
xor eax, eax
mov dword [ebp - 0x214], eax
add eax, edx
add eax, ecx
lea esi, [eax*2 + 2]
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
je 0x1001cdb3
lea eax, [ebp - 0x210]
push eax
push esi
push edi
call fcn.1001c0d0
test eax, eax
jns 0x1001cd70
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call esi
xor edi, edi
jmp 0x1001cdb9
cmp dword [ebp - 0x214], ebx
je 0x1001cd95
push 0x100a2890
push esi
push edi
call fcn.1001c020
test eax, eax
jns 0x1001cd95
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call esi
xor edi, edi
jmp 0x1001cdb9
push dword [ebp - 0x224]
push esi
push edi
call fcn.1001c020
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
jns 0x1001cdb9
push edi
call esi
xor edi, edi
jmp 0x1001cdb9
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1001cdcd
test al, 0x50
je 0x1001d151
push edi
call esi
push 0
call fcn.1001d1e0
mov esi, eax
xor edi, edi
mov dword [ebp - 0x238], esi
test esi, esi
je 0x1001d151
mov esi, 0x100a2b10
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x1001cdf1
mov ebx, dword [ebp - 0x224]
sub esi, ecx
mov edi, ebx
sar esi, 1
lea ecx, [edi + 2]
nop dword [eax + eax]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x1001ce10
sub edi, ecx
push ebx
sar edi, 1
call fcn.10019840
lea edx, [eax + 2]
nop dword [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1001ce30
sub eax, edx
sar eax, 1
sub eax, 0
je 0x1001d0df
sub eax, 1
je 0x1001cea8
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001ce52
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
lea eax, [esi + esi]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
test ebx, ebx
jne 0x1001ce83
push dword [ebp - 0x238]
xor edi, edi
jmp 0x1001d186
push dword [ebp - 0x224]
push esi
push ebx
call fcn.1001c240
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
jns 0x1001cf27
push ebx
call esi
xor ebx, ebx
jmp 0x1001cf27
add edi, 0xffffffff
js 0x1001d0d8
mov esi, ebx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x1001ceb6
sub esi, ecx
sar esi, 1
cmp edi, esi
cmovb esi, edi
inc esi
lea eax, [esi + esi]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
test ebx, ebx
je 0x1001ce76
test esi, esi
je 0x1001d0a5
cmp esi, 0x7fffffff
ja 0x1001d0b7
cmp edi, 0x7ffffffe
ja 0x1001d0b7
push edi
push dword [ebp - 0x224]
push 0
push esi
push ebx
call fcn.1001c2b0
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x234], ecx
test eax, eax
js 0x1001d0c8
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
xor edi, edi
test ebx, ebx
je 0x1001d157
push ebx
call fcn.10019840
push 0x100a2b10
push eax
mov dword [ebp - 0x214], eax
call fcn.1007af4b
add esp, 8
test eax, eax
je 0x1001cf62
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1001cf62
push eax
push ebx
call fcn.10019150
mov edi, eax
push 0x100a2b20
push dword [ebp - 0x214]
call fcn.1007af4b
add esp, 8
test eax, eax
je 0x1001d040
test edi, edi
jne 0x1001d157
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1001d008
cmp dword [ebp - 0x234], edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x220]
cmove eax, ecx
mov dword [ebp - 0x220], 0x100a2b30
push eax
push dword [ebp - 0x238]
mov dword [ebp - 0x21c], 0x100a2b60
push 0x80000002
push ebx
mov dword [ebp - 0x218], 0x100a2b90
mov dword [ebp - 0x230], 0x100a2bd0
mov dword [ebp - 0x22c], 0x100a2c00
mov dword [ebp - 0x228], 0x100a2c30
call fcn.10019500
mov edi, eax
test edi, edi
jne 0x1001d157
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1001d048
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x21c]
push eax
push 0x80000002
push ebx
mov dword [ebp - 0x21c], 0x100a2c60
mov dword [ebp - 0x218], 0x100a2ca0
call fcn.10019350
mov edi, eax
test edi, edi
jne 0x1001d157
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1001d157
cmp dword [ebp - 0x234], 0
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x218]
cmove eax, ecx
mov dword [ebp - 0x218], 0x100a2ce0
push eax
push dword [ebp - 0x238]
mov dword [ebp - 0x228], 0x100a2d10
push 0x80000002
push ebx
call fcn.10019500
mov edi, eax
jmp 0x1001d157
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x234], ecx
test esi, esi
je 0x1001d0c8
jmp 0x1001d0bd
mov ecx, dword [ebp - 0x234]
xor eax, eax
mov dword [ebp - 0x234], ecx
mov word [ebx], ax
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push ebx
call esi
xor ebx, ebx
jmp 0x1001cf27
xor ebx, ebx
jmp 0x1001cf21
lea eax, [edi + esi]
lea esi, [eax*2 + 2]
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
test ebx, ebx
je 0x1001cf21
push dword [ebp - 0x224]
push esi
push ebx
call fcn.1001c0d0
test eax, eax
jns 0x1001d125
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
call ebx
push dword [ebp - 0x238]
xor edi, edi
call ebx
push edi
call ebx
jmp 0x1001d192
push 0x100a2b10
push esi
push ebx
call fcn.1001c020
test eax, eax
jns 0x1001cf21
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
call ebx
push dword [ebp - 0x238]
xor edi, edi
call ebx
push edi
call ebx
jmp 0x1001d192
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x238]
call esi
push ebx
call esi
test edi, edi
je 0x1001d192
mov eax, dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
call eax
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10053108
mov esp, ebp
pop ebp
ret 4
push 0
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
push 0
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1001d1a5
mov eax, dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x7e
call eax
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10053108
mov esp, ebp
pop ebp
ret 4
mov eax, dword [sym.imp.KERNEL32.dll_SetLastError]
push 0xa0
call eax
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10053108
mov esp, ebp
pop ebp
ret 4