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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x728
push ebx
xor ebx, ebx
push esi
mov dword [ebp - 4], ebx
call fcn.00446be7
push 0x65
pop esi
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], esi
call fcn.004461e7
mov ecx, dword [0x4b5e54]
test ecx, ecx
je 0x447c0a
mov eax, dword [ecx]
call dword [eax + 4]
push ebx
lea ecx, [ebp - 0x20]
push ecx
mov ecx, eax
call fcn.004188d0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x54]
call fcn.00446397
mov bl, al
lea ecx, [ebp - 0x20]
push 0
neg bl
push 1
sbb bl, bl
call fcn.00419ff0
inc bl
jne 0x447e40
xor ebx, ebx
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00446f80
pop ecx
pop ecx
test al, al
jne 0x447e40
xor eax, eax
mov word [ebp - 0x58], ax
mov word [ebp - 0x260], ax
lea eax, [ebp - 0x260]
push eax
push dword [ebp + 8]
call fcn.00446d1f
pop ecx
pop ecx
test al, al
je 0x447e43
mov ecx, dword [0x4b5e54]
test ecx, ecx
je 0x447c75
mov eax, dword [ecx]
push ebx
call dword [eax + 8]
test al, al
je 0x447c75
mov ecx, dword [0x4b5e54]
push ebx
mov eax, dword [ecx]
call dword [eax + 0xc]
test eax, eax
je 0x447c75
mov esi, 0x2711
jmp 0x447e43
xor eax, eax
mov word [ebp - 0x470], ax
mov word [ebp - 0x678], ax
mov word [ebp - 0x264], ax
mov word [ebp - 0x46c], ax
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x678]
push eax
lea eax, [ebp - 0x260]
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x54]
push eax
call fcn.0044777b
add esp, 0x14
mov byte [ebp - 5], al
test al, al
jne 0x447d7d
mov esi, 0x104
lea eax, [ebp - 0x260]
push esi
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp eax, esi
jae 0x447d71
test eax, eax
je 0x447d71
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00447ecc
pop ecx
pop ecx
test eax, eax
je 0x447d71
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x46c]
push esi
push eax
call fcn.00447f86
push 0x40160c
lea eax, [ebp - 0x46c]
push esi
push eax
call fcn.00447f5e
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x678]
push esi
push eax
call fcn.00447f86
push 0x4016b0
lea eax, [ebp - 0x678]
push esi
push eax
call fcn.00447f5e
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [ebp - 0x46c]
add esp, 0x30
push eax
call esi
cmp eax, 0xffffffff
je 0x447d71
lea eax, [ebp - 0x678]
push eax
call esi
cmp eax, 0xffffffff
jne 0x447d7d
mov dword [ebp - 4], 0x66
jmp 0x447e14
mov ecx, dword [0x4b5e54]
test ecx, ecx
je 0x447d8c
mov eax, dword [ecx]
call dword [eax + 0x20]
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x678]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00447208
add esp, 0x10
test al, al
jne 0x447e14
call fcn.0041f9b0
cmp eax, 2
jg 0x447dfd
push 2
push 0x3e2
xor ebx, ebx
lea ecx, [ebp - 0x728]
push 0x4015b0
inc ebx
call fcn.0041fa50
push dword [ebp - 4]
add eax, 8
push 0x401590
push eax
call fcn.0041b630
pop ecx
pop ecx
mov ecx, eax
call fcn.004204d0
test bl, 1
je 0x447e0d
lea ecx, [ebp - 0x728]
call fcn.0041faa0
mov dword [ebp - 4], 0x67
cmp byte [ebp - 5], 0
je 0x447e40
call fcn.00447740
test al, al
je 0x447e40
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x678]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00446b3c
add esp, 0xc
mov esi, dword [ebp - 4]
lea ecx, [ebp - 0x54]
call fcn.00446207
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret