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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xf
push 0
push 0
dec ecx
jne 0x44b0b4
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call sub.rtl160.bpl__System__LStrAddRef_qqrpv
xor eax, eax
push ebp
push 0x44b720
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1c], 0
jne 0x44b108
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.00449f98
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
add eax, 0x1c
call sub.rtl160.bpl__System__LStrLAsg_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov eax, dword [ebp + 8]
push eax
lea edx, [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
call fcn.0044a6c0
pop ecx
test al, al
je 0x44b6e3
cmp dword [0x53551c], 0
je 0x44b13c
lea eax, [ebp - 0xc]
mov edx, dword [0x53551c]
call sub.rtl160.bpl__System__LStrLAsg_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__
jmp 0x44b144
lea eax, [ebp - 0xc]
call fcn.004327b8
xor ecx, ecx
mov edx, 0x44b73c
mov eax, dword [ebp - 0x10]
call fcn.0044a978
test al, al
je 0x44b6da
lea eax, [ebp - 0x11]
push eax
lea eax, [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov edx, 0x44b74c
call sub.rtl160.bpl__System__LStrCat3_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__t2
mov edx, dword [ebp - 0x1c]
mov ecx, 0x44b760
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
test al, al
jne 0x44b1ad
push 0
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov edx, 0x44b770
call sub.rtl160.bpl__System__LStrCat3_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__t2
mov edx, dword [ebp - 0x20]
mov ecx, 0x44b760
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
test al, al
je 0x44b6da
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
jne 0x44b1d1
mov eax, dword [ebp + 8]
add eax, 0xfffffffc
mov edx, dword [ebp - 4]
call sub.rtl160.bpl__System__LStrLAsg_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
jne 0x44b1e3
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0
je 0x44b259
cmp byte [ebp - 0x11], 0
je 0x44b6b7
push 0
mov ecx, 0x44b784
mov edx, 0x44b794
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
test al, al
je 0x44b6b7
push 0
lea edx, [ebp - 0x24]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
call fcn.0041c280
mov edx, dword [ebp - 0x24]
mov ecx, 0x44b784
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
test al, al
je 0x44b6b7
push 0
lea edx, [ebp - 0x28]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
call fcn.0041c280
mov edx, dword [ebp - 0x28]
mov ecx, 0x44b7ac
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
test al, al
je 0x44b6b7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
cmp dword [0x535518], 0
je 0x44b27f
lea eax, [ebp - 8]
mov edx, dword [0x535518]
call sub.rtl160.bpl__System__LStrLAsg_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__
jmp 0x44b28f
lea ecx, [ebp - 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
xor edx, edx
call fcn.004480bc
push 0
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 8]
mov edx, 0x44b7bc
call sub.rtl160.bpl__System__LStrCat3_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__t2
mov edx, dword [ebp - 0x2c]
mov ecx, 0x44b760
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
test al, al
je 0x44b6b7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov byte [ebp - 0x12], 0
lea eax, [ebp - 4]
call fcn.00448070
mov esi, eax
test esi, esi
jle 0x44b326
mov edi, 1
push 0
lea eax, [ebp - 0x38]
push eax
mov cl, 0x2c
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.0040c10c
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.004480bc
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
mov edx, 0x44b7d4
call sub.rtl160.bpl__System__LStrCat3_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__t2
mov edx, dword [ebp - 0x30]
mov ecx, 0x44b760
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
or al, byte [ebp - 0x12]
mov byte [ebp - 0x12], al
inc edi
dec esi
jne 0x44b2dd
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
cmp byte [ebp - 0x12], 0
je 0x44b6b7
mov eax, dword [ebp + 8]
cmp dword [eax + 0x34], 0
jne 0x44b353
mov eax, dword [ebp + 8]
cmp dword [eax + 0x30], 0
je 0x44b6a1
push 0
mov eax, dword [ebp + 8]
add eax, 0x30
mov ecx, 0x44b7ec
mov edx, 0x44b800
call fcn.0040a144
cmp byte [0x535511], 0
je 0x44b3b3
push 0x44b814
lea eax, [ebp - 0x44]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x34]
call sub.rtl160.bpl__System__UStrFromLStr_qqrr20System_UnicodeStringx27System__AnsiStringT_us_i0__
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x40]
call fcn.0040cd5c
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.0041c280
push dword [ebp - 0x3c]
push 0x44b82c
lea eax, [ebp - 8]
mov edx, 3
call sub.rtl160.bpl__System__LStrCatN_qqrv
jmp 0x44b3e3
push 0x44b83c
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov cl, 0x3d
mov edx, 0x535d5a
call fcn.00449138
push dword [ebp - 0x48]
push 0x44b82c
lea eax, [ebp - 8]
mov edx, 3
call sub.rtl160.bpl__System__LStrCatN_qqrv
push 0
mov ecx, 0x44b858
mov edx, 0x44b868
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
test al, al
je 0x44b6b7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
push 0x44b87c
lea ecx, [ebp - 0x50]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.004480bc
push dword [ebp - 0x50]
push 0x44b890
push 0x44b8a0
lea ecx, [ebp - 0x54]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov dl, 1
call fcn.004480bc
push dword [ebp - 0x54]
push 0x44b890
push 0x44b8b4
push dword [ebp - 8]
push 0x44b890
push 0x44b8cc
lea eax, [ebp - 0x58]
call fcn.0044a7a4
push dword [ebp - 0x58]
push 0x44b890
push 0x44b8e0
lea eax, [ebp - 0x5c]
call fcn.0044a8dc
push dword [ebp - 0x5c]
push 0x44b890
lea eax, [ebp - 0x4c]
mov edx, 0xf
call sub.rtl160.bpl__System__LStrCatN_qqrv
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
call fcn.0044a34c
mov ebx, eax
test bl, bl
je 0x44b67c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2c], 0
je 0x44b64f
push 0x44b8fc
lea eax, [ebp - 0x64]
mov edx, dword [0x535d7c]
mov ecx, 0
call sub.rtl160.bpl__System__LStrFromPChar_qqrr27System__AnsiStringT_us_i0__pcus
push dword [ebp - 0x64]
push 0x44b948
push 0x44b890
push 0x44b890
push 0x44b958
push 0x44b890
push 0x44b890
push 0x44b994
lea eax, [ebp - 0x68]
mov edx, dword [0x535d7c]
mov ecx, 0
call sub.rtl160.bpl__System__LStrFromPChar_qqrr27System__AnsiStringT_us_i0__pcus
push dword [ebp - 0x68]
push 0x44b890
push 0x44b9a4
push 0x44b890
push 0x44b9e0
push 0x44b890
push 0x44b890
mov eax, dword [ebp + 8]
push dword [eax + 0x30]
push 0x44b890
lea eax, [ebp - 0x60]
mov edx, 0x12
call sub.rtl160.bpl__System__LStrCatN_qqrv
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x10]
call fcn.0044a34c
mov ebx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
test bl, bl
je 0x44b60a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
call sub.rtl160.bpl__System__DynArrayHigh_qqrpxv
mov esi, eax
test esi, esi
jl 0x44b60a
inc esi
xor edi, edi
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x44b59f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + edi*4]
call sub.rtl160.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
call sub.kernel32.dll_GetFileAttributesW
cmp eax, 0xffffffff
jne 0x44b5d4
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
je 0x44b602
lea eax, [ebp - 0x6c]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x2c]
mov edx, dword [edx + edi*4]
mov ecx, 0
call sub.rtl160.bpl__System__LStrFromUStr_qqrr27System__AnsiStringT_us_i0__x20System_UnicodeStringus
mov eax, dword [ebp - 0x6c]
call sub.rtl160.bpl__System__LStrToPChar_qqrx27System__AnsiStringT_us_i0__
push eax
call sub.kernel32.dll_GetFileAttributesA
cmp eax, 0xffffffff
je 0x44b602
push ebp
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + edi*4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax + edi*4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + edi*4]
mov eax, dword [ebp - 0x10]
call fcn.0044acc4
pop ecx
test al, al
jne 0x44b602
xor ebx, ebx
jmp 0x44b60a
inc edi
dec esi
jne 0x44b57a
test bl, bl
je 0x44b67c
push 0x44b994
lea eax, [ebp - 0x74]
mov edx, dword [0x535d7c]
mov ecx, 0
call sub.rtl160.bpl__System__LStrFromPChar_qqrr27System__AnsiStringT_us_i0__pcus
push dword [ebp - 0x74]
push 0x44b994
push 0x44b890
lea eax, [ebp - 0x70]
mov edx, 4
call sub.rtl160.bpl__System__LStrCatN_qqrv
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x10]
call fcn.0044a34c
mov ebx, eax
jmp 0x44b67c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
lea eax, [ebp - 0x78]
mov edx, 0x44b890
call sub.rtl160.bpl__System__LStrCat3_qqrr27System__AnsiStringT_us_i0__x27System__AnsiStringT_us_i0__t2
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.0044a34c
mov ebx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
push 0
mov ecx, 0x44b760
mov edx, 0x44ba0c
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
and bl, al
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
jmp 0x44b6b7
push 0
mov ecx, 0x44b760
mov edx, 0x44ba1c
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
mov ebx, eax
push 0
mov ecx, 0x44ba30
mov edx, 0x44ba40
mov eax, dword [ebp - 0x10]
call fcn.0044ac18
and bl, al
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov eax, dword [ebp - 0x10]
push eax
call sub.wsock32.dll_closesocket
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44b727
lea eax, [ebp - 0x78]
mov edx, 0xd
call sub.rtl160.bpl__System__LStrArrayClr_qqrpvi
lea eax, [ebp - 0x44]
call sub.rtl160.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x40]
mov edx, 0xb
call sub.rtl160.bpl__System__LStrArrayClr_qqrpvi
lea eax, [ebp - 0xc]
mov edx, 3
call sub.rtl160.bpl__System__LStrArrayClr_qqrpvi
ret