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

Disassembly:
push ebp
lea ebp, [esp - 0x58]
sub esp, 0x194
mov eax, dword [0x4c3360]
xor eax, ebp
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x60]
push ebx
push esi
mov esi, ecx
mov ecx, dword [ebp + 0x70]
xor ebx, ebx
push edi
mov edi, dword [ebp + 0x78]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x88], ecx
cmp eax, ebx
je 0x44d2e8
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x44d2e8
cmp dword [ebp + 0x64], ebx
je 0x44d2e8
cmp dword [ebp + 0x68], ebx
je 0x44d2e8
cmp dword [esi + 0xc], ebx
je 0x44d2e8
cmp dword [esi + 0x10], ebx
je 0x44d2e8
cmp dword [esi + 0x14], ebx
je 0x44d2e8
cmp dword [esi + 0x18], ebx
je 0x44d2e8
cmp dword [esi + 0x1c], ebx
je 0x44d2e8
cmp dword [esi + 0x20], ebx
je 0x44d2e8
lea ecx, [ebp - 0xa4]
mov dword [edi], ebx
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x7c], ebx
call fcn.004764a5
cmp byte [ebp + 0x6c], bl
jne 0x44cdb2
push ebx
lea ecx, [ebp - 0xa4]
call fcn.004764c5
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x44ce25
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44cdfc
test byte [eax + 0x1c], 1
je 0x44cdfc
cmp byte [eax + 0x19], 2
jb 0x44cdfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x74]
mov eax, dword [0x4c6094]
push 0x4a5e04
push 0x19
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00444114
add esp, 0x18
mov dword [ebp - 0x68], 2
cmp byte [ebp + 0x6c], bl
jne 0x44ce15
push 1
lea ecx, [ebp - 0xa4]
call fcn.004764c5
lea ecx, [ebp - 0xa4]
call fcn.004763c5
jmp 0x44d2b6
cmp byte [ebp + 0x6c], bl
jne 0x44ce37
push 1
lea ecx, [ebp - 0xa4]
call fcn.004764c5
lea ecx, [ebp - 0xcc]
call fcn.0043af88
push 0x4af248
lea ecx, [ebp + 0x38]
mov byte [ebp - 0x61], bl
call fcn.0040b362
mov dword [ebp - 0x84], 1
call fcn.0043b14f
test al, al
jne 0x44cf08
push dword [ebp + 0x7c]
lea eax, [ebp + 0x38]
push dword [ebp + 0x74]
mov ecx, esi
push eax
lea eax, [ebp - 0x61]
push eax
push dword [ebp + 0x6c]
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp - 0x74]
call fcn.0044c175
mov ecx, eax
mov dword [ebp - 0x68], ecx
cmp ecx, 1
je 0x44cee8
cmp byte [ebp + 0x7c], bl
jne 0x44ceed
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44cecd
test byte [eax + 0x1c], 1
je 0x44cecd
cmp byte [eax + 0x19], 2
jb 0x44cecd
push ecx
push dword [ebp + 0x64]
push dword [ebp - 0x74]
push 0x4a5e04
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00448568
add esp, 0x1c
push ebx
push 1
lea ecx, [ebp + 0x38]
call fcn.00407ab4
lea ecx, [ebp - 0xcc]
call fcn.0043afa1
jmp 0x44ce15
cmp byte [ebp + 0x7c], bl
je 0x44cef3
mov dword [ebp - 0x84], ecx
cmp byte [ebp - 0x61], bl
je 0x44cf08
cmp dword [ebp + 0x50], 8
jb 0x44cf03
mov esi, dword [ebp + 0x3c]
jmp 0x44cf0b
lea esi, [ebp + 0x3c]
jmp 0x44cf0b
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xac], ebx
cmp byte [ebp + 0x6c], bl
jne 0x44cf2e
push ebx
lea ecx, [ebp - 0xa4]
call fcn.004764c5
push ebx
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0x70]
push ebx
push 2
push 0x400
push esi
push 1
call dword [eax + 0xc]
test eax, eax
jne 0x44cfbf
cmp byte [ebp + 0x6c], bl
jne 0x44cf73
push 1
lea ecx, [ebp - 0xa4]
call fcn.004764c5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x4c6094]
cmp ecx, 0x4c6094
je 0x44cfa9
test byte [ecx + 0x1c], 1
je 0x44cfa9
cmp byte [ecx + 0x19], 2
jb 0x44cfa9
push eax
push 0x4a5e04
push 0x1b
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.00425267
add esp, 0x14
cmp dword [ebp - 0x68], 1
jne 0x44cecd
mov dword [ebp - 0x68], 4
jmp 0x44cecd
cmp byte [ebp - 0x61], bl
je 0x44cfcc
or dword [edi], 0x1001
jmp 0x44cfcf
or dword [edi], 1
cmp byte [ebp + 0x6c], bl
jne 0x44cfe1
push 1
lea ecx, [ebp - 0xa4]
call fcn.004764c5
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x70]
push ebx
push ebx
push 6
push dword [ebp - 0x7c]
mov dword [ebp - 0x80], ebx
call dword [eax + 0x10]
test eax, eax
jne 0x44d037
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44cfb3
test byte [eax + 0x1c], 1
je 0x44cfb3
cmp byte [eax + 0x19], 2
jb 0x44cfb3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x4c6094]
push 0x4a5e04
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00425267
add esp, 0x14
jmp 0x44cfb3
lea ecx, [ebp - 0x60]
call fcn.0043ea68
push dword [ebp - 0x80]
lea ecx, [ebp - 0x60]
call fcn.0043eaf1
mov esi, eax
cmp esi, ebx
jne 0x44d091
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44d07d
test byte [eax + 0x1c], 1
je 0x44d07d
cmp byte [eax + 0x19], 2
jb 0x44d07d
push 0x4a5e04
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042524a
add esp, 0x10
mov dword [ebp - 0x68], 6
lea ecx, [ebp - 0x60]
call fcn.0043eae6
jmp 0x44cecd
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x70]
push esi
push ebx
push 6
push dword [ebp - 0x7c]
call dword [eax + 0x10]
test eax, eax
jne 0x44d0e8
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44d0df
test byte [eax + 0x1c], 1
je 0x44d0df
cmp byte [eax + 0x19], 2
jb 0x44d0df
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x4c6094]
push 0x4a5e04
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00425267
add esp, 0x14
mov dword [ebp - 0x68], 4
jmp 0x44d084
push 0x70
lea eax, [ebp - 0x13c]
push ebx
push eax
call fcn.004501b0
mov eax, dword [esi + 4]
mov dword [ebp - 0x124], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x120], eax
mov eax, dword [esi + 0xc]
add esp, 0xc
mov dword [ebp - 0x138], eax
mov eax, dword [esi + 0x10]
push ebx
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0x70]
push 0xb0000
push ebx
push 0x10001
push dword [ebp - 0x78]
call dword [eax + 0x14]
mov esi, eax
cmp esi, ebx
jne 0x44d190
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44d179
test byte [eax + 0x1c], 1
je 0x44d179
cmp byte [eax + 0x19], 2
jb 0x44d179
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x4c6094]
push 0x4a5e04
push 0x1f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00425267
add esp, 0x14
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], 4
call fcn.0043eae6
push ebx
push 1
jmp 0x44d28d
mov ecx, dword [ebp - 0x70]
or dword [edi], 0x4000
push edi
lea eax, [ebp - 0x69]
push eax
push dword [ebp - 0x88]
mov byte [ebp - 0x69], bl
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push esi
call fcn.0044dfac
xor edi, edi
inc edi
mov ecx, eax
mov dword [ebp - 0x68], ecx
cmp dword [ebp + 0x74], edi
jne 0x44d207
cmp byte [ebp - 0x69], bl
jne 0x44d207
mov dword [ebp - 0x68], 3
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44d283
test byte [eax + 0x1c], 1
je 0x44d283
cmp byte [eax + 0x19], 4
jb 0x44d283
push 0x4a5e04
push 0x20
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042524a
add esp, 0x10
jmp 0x44d283
cmp ecx, edi
je 0x44d275
cmp ecx, 3
je 0x44d245
cmp ecx, 0xb
je 0x44d245
cmp ecx, 0xd
je 0x44d245
cmp ecx, 0xe
je 0x44d245
cmp ecx, 0x12
je 0x44d245
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44d283
test byte [eax + 0x1c], 1
je 0x44d283
cmp byte [eax + 0x19], 2
jb 0x44d283
push 0x4a5e04
push 0x22
jmp 0x44d1f7
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44d283
test byte [eax + 0x1c], 1
je 0x44d283
cmp byte [eax + 0x19], 4
jb 0x44d283
push ecx
push 0x4a5e04
push 0x21
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00425267
add esp, 0x14
jmp 0x44d283
cmp byte [ebp + 0x7c], bl
je 0x44d283
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x60]
call fcn.0043eae6
push ebx
push edi
lea ecx, [ebp + 0x38]
call fcn.00407ab4
lea ecx, [ebp - 0xcc]
call fcn.0043afa1
lea ecx, [ebp - 0xa4]
call fcn.004763c5
cmp esi, ebx
je 0x44d2b6
mov eax, dword [ebp - 0x70]
push esi
call dword [eax + 0x18]
cmp dword [ebp - 0x78], ebx
je 0x44d2c8
mov eax, dword [ebp - 0x70]
push ebx
push dword [ebp - 0x78]
call dword [eax + 0x1c]
mov dword [ebp - 0x78], ebx
cmp dword [ebp - 0x7c], ebx
je 0x44d2d6
push dword [ebp - 0x7c]
mov eax, dword [ebp - 0x70]
call dword [eax + 0x20]
mov eax, dword [ebp - 0x68]
cmp eax, 1
je 0x44d318
mov ecx, dword [ebp - 0x88]
mov byte [ecx], bl
jmp 0x44d318
mov eax, dword [0x4c6094]
cmp eax, 0x4c6094
je 0x44d315
test byte [eax + 0x1c], 1
je 0x44d315
cmp byte [eax + 0x19], 2
jb 0x44d315
push 0x4a5e04
push 0x18
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0042524a
add esp, 0x10
push 5
pop eax
mov ecx, dword [ebp + 0x54]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044fc8e
add ebp, 0x58
leave
ret 0x20