Function at 0x44a4d0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bda3b
mov eax, dword fs:[0]
push eax
mov eax, 0x146c
call fcn.00475b70
mov eax, dword [0x4e216c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push dword [ebp + 0x10]
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x1468]
mov edi, dword [ebp + 0xc]
push esi
push eax
mov dword [ebp - 0x1478], 1
call fcn.0044a1e0
push dword [ebp - 0x1468]
mov dword [ebp - 4], 0
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x44a540
xor ebx, ebx
jmp 0x44adc6
lea ecx, [ebp - 0x1461]
call fcn.00444360
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44a643
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44a589
call fcn.00447690
jmp 0x44a58e
call fcn.0043e770
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x218]
lea ecx, [edi + 4]
lea esi, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44a5b0
sub edx, esi
lea eax, [ebp - 0x218]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.00445550
mov edx, eax
test edx, edx
jne 0x44a5e1
xor ecx, ecx
jmp 0x44a5f5
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44a5e6
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.00441170
mov edx, eax
test edx, edx
jne 0x44a620
xor ecx, ecx
push ecx
push edx
lea ecx, [edi + 8]
call fcn.0040d800
jmp 0x44acf3
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44a625
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 8]
call fcn.0040d800
jmp 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.00447850
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44a6f9
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44a68c
call fcn.00441410
jmp 0x44a691
call fcn.0043f570
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x420]
lea ecx, [edi + 4]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44a6b1
sub edx, esi
lea eax, [ebp - 0x420]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.00446890
push eax
mov ecx, edi
call fcn.00412b30
lea ecx, [ebp - 0x1461]
call fcn.0043acb0
push eax
lea ecx, [edi + 8]
call fcn.00412b30
jmp 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.00447310
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
jne 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.00442eb0
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44a7cc
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44a75f
call fcn.00442430
jmp 0x44a764
call fcn.00441a30
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x628]
lea ecx, [edi + 4]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44a784
sub edx, esi
lea eax, [ebp - 0x628]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.00443070
push eax
mov ecx, edi
call fcn.00412b30
lea ecx, [ebp - 0x1461]
call fcn.004481f0
push eax
lea ecx, [edi + 8]
call fcn.00412b30
jmp 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.0043e930
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
jne 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.004473f0
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44a89f
push 0x208
lea eax, [ebp - 0x830]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44a832
call fcn.00441db0
jmp 0x44a837
call fcn.0043bb90
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x830]
lea ecx, [edi + 4]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44a857
sub edx, esi
lea eax, [ebp - 0x830]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.004408b0
push eax
mov ecx, edi
call fcn.00412b30
lea ecx, [ebp - 0x1461]
call fcn.00444440
push eax
lea ecx, [edi + 8]
call fcn.00412b30
jmp 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.00440fb0
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44a958
push 0x208
lea eax, [ebp - 0xa38]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44a8e8
call fcn.00445010
jmp 0x44a8ed
call fcn.0043fd50
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0xa38]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0xa38]
lea ecx, [edi + 4]
lea esi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44a910
sub edx, esi
lea eax, [ebp - 0xa38]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.004447c0
push eax
mov ecx, edi
call fcn.00412b30
lea ecx, [ebp - 0x1461]
call fcn.0043bd50
push eax
lea ecx, [edi + 8]
call fcn.00412b30
jmp 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.0043af50
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44aa0e
push 0x208
lea eax, [ebp - 0xc40]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44a9a1
call fcn.0043fab0
jmp 0x44a9a6
call fcn.00446970
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0xc40]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0xc40]
lea ecx, [edi + 4]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44a9c6
sub edx, esi
lea eax, [ebp - 0xc40]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.00445b70
push eax
mov ecx, edi
call fcn.00412b30
lea ecx, [ebp - 0x1461]
call fcn.004457f0
push eax
lea ecx, [edi + 8]
call fcn.00412b30
jmp 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.0043fc70
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44aac8
push 0x208
lea eax, [ebp - 0xe48]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44aa57
call fcn.00444a60
jmp 0x44aa5c
call fcn.0043a230
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0xe48]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0xe48]
lea ecx, [edi + 4]
lea esi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44aa80
sub edx, esi
lea eax, [ebp - 0xe48]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.0043df00
push eax
mov ecx, edi
call fcn.00412b30
lea ecx, [ebp - 0x1461]
call fcn.00446cf0
push eax
lea ecx, [edi + 8]
call fcn.00412b30
jmp 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.00440c30
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44ab7e
push 0x208
lea eax, [ebp - 0x1050]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44ab11
call fcn.0043e5b0
jmp 0x44ab16
call fcn.0043cca0
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0x1050]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x1050]
lea ecx, [edi + 4]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44ab36
sub edx, esi
lea eax, [ebp - 0x1050]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.00439f90
push eax
mov ecx, edi
call fcn.00412b30
lea ecx, [ebp - 0x1461]
call fcn.0043d640
push eax
lea ecx, [edi + 8]
call fcn.00412b30
jmp 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.0043d1e0
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44ac38
push 0x208
lea eax, [ebp - 0x1258]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44abc7
call fcn.00442970
jmp 0x44abcc
call fcn.0043e230
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0x1258]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x1258]
lea ecx, [edi + 4]
lea esi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44abf0
sub edx, esi
lea eax, [ebp - 0x1258]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.0043bf10
push eax
mov ecx, edi
call fcn.00412b30
lea ecx, [ebp - 0x1461]
call fcn.0043d2c0
push eax
lea ecx, [edi + 8]
call fcn.00412b30
jmp 0x44acf3
lea ecx, [ebp - 0x1461]
call fcn.0043ae70
push eax
push esi
call fcn.00412b80
add esp, 8
test al, al
je 0x44aceb
push 0x208
lea eax, [ebp - 0x1460]
push 0
push eax
call fcn.00497c30
add esp, 0xc
call fcn.0044ae20
lea ecx, [ebp - 0x1461]
test eax, eax
je 0x44ac81
call fcn.004426d0
jmp 0x44ac86
call fcn.0043fb90
push eax
push dword [ebp - 0x1468]
lea eax, [ebp - 0x1460]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x1460]
lea ecx, [edi + 4]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44aca6
sub edx, esi
lea eax, [ebp - 0x1460]
sar edx, 1
push edx
push eax
call fcn.0040d800
lea ecx, [ebp - 0x1461]
call fcn.00447bd0
push eax
mov ecx, edi
call fcn.00412b30
lea ecx, [ebp - 0x1461]
call fcn.00446eb0
push eax
lea ecx, [edi + 8]
call fcn.00412b30
jmp 0x44acf3
xor eax, eax
mov dword [ebp - 0x1478], eax
mov dword [edi + 0xc], 0
cmp dword [0x4e20f8], 0
je 0x44ada7
push str.ntdll.dll
mov dword [ebp - 0x1470], 0
xor ebx, ebx
mov dword [ebp - 0x1474], 0
mov dword [ebp - 0x146c], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x44ad9d
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x44ad71
lea ecx, [ebp - 0x146c]
push ecx
lea ecx, [ebp - 0x1474]
push ecx
lea ecx, [ebp - 0x1470]
push ecx
call eax
movzx eax, word [ebp - 0x146c]
mov ebx, 1
mov dword [ebp - 0x146c], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test ebx, ebx
je 0x44ad9d
cmp dword [ebp - 0x1470], 5
jne 0x44ad9d
mov eax, dword [0x50b9e8]
mov ecx, 1
cmp dword [ebp - 0x1474], ecx
cmove eax, ecx
mov dword [0x50b9e8], eax
mov dword [0x4e20f8], 0
cmp dword [0x50b9e8], 0
je 0x44adc0
call fcn.0044b280
test eax, eax
je 0x44adc0
mov dword [edi + 0xc], 1
mov ebx, dword [ebp - 0x1478]
mov eax, dword [ebp - 0x1468]
or ecx, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x44adeb
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047592d
mov esp, ebp
pop ebp
ret 0xc