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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b18f8
mov eax, dword fs:[0]
push eax
mov eax, 0x119c
call fcn.0048c390
mov eax, dword [0x4d8c20]
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
mov eax, dword [ebp + 0xc]
push 0xffe
mov edi, ecx
xor ebx, ebx
lea edx, [ebp - 0x100e]
xor ecx, ecx
push ebx
push edx
mov dword [ebp - 0x1034], edi
mov dword [ebp - 0x1038], eax
mov word [ebp - 0x1010], cx
call fcn.0047f860
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x1010]
mov ecx, eax
add esp, 0xc
mov esi, 0x800
sub edx, ecx
lea ecx, [esi + 0x7ffff7fe]
test ecx, ecx
je 0x4215d3
movzx ecx, word [edx + eax]
cmp cx, bx
je 0x4215d3
mov word [eax], cx
add eax, 2
dec esi
jne 0x4215b5
jmp 0x4215d7
cmp esi, ebx
jne 0x4215da
sub eax, 2
xor edx, edx
mov word [eax], dx
cmp edi, ebx
je 0x4215f7
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4215f7
test al, 0x10
je 0x42167e
push 0x113
push str.netboxprocess.cpp
lea esi, [ebp - 0x10f0]
call fcn.00414f70
mov edi, eax
mov dword [ebp - 4], ebx
cmp edi, ebx
je 0x421665
lea esi, [edi + 0x10]
cmp esi, ebx
je 0x421621
lea eax, [edi + 0x20]
jmp 0x421623
xor eax, eax
push str.ERROR:
push eax
call fcn.00407256
add esp, 8
cmp esi, ebx
je 0x42163a
lea eax, [edi + 0x20]
jmp 0x42163c
xor eax, eax
push str.failed_to_find
push eax
call fcn.00407256
add esp, 8
cmp esi, ebx
je 0x421653
lea eax, [edi + 0x20]
jmp 0x421655
xor eax, eax
mov ecx, dword [ebp - 0x1034]
push ecx
push eax
call fcn.00407256
add esp, 8
lea ecx, [ebp - 0x10f0]
mov dword [ebp - 4], 0xffffffff
call fcn.00415130
xor al, al
jmp 0x4219ae
lea esi, [ebp - 0x102c]
call fcn.0041a020
mov dword [ebp - 4], 1
cmp dword [ebp - 0x101c], ebx
jne 0x421739
push 0x11b
push str.netboxprocess.cpp
lea esi, [ebp - 0x10f0]
call fcn.00414f70
mov esi, eax
mov byte [ebp - 4], 2
cmp esi, ebx
je 0x42170b
lea edi, [esi + 0x10]
cmp edi, ebx
je 0x4216c7
lea eax, [esi + 0x20]
jmp 0x4216c9
xor eax, eax
push str.ERROR:
push eax
call fcn.00407256
add esp, 8
cmp edi, ebx
je 0x4216e0
lea eax, [esi + 0x20]
jmp 0x4216e2
xor eax, eax
push str.failed_to_get_shortname_for
push eax
call fcn.00407256
add esp, 8
cmp edi, ebx
je 0x4216f9
lea eax, [esi + 0x20]
jmp 0x4216fb
xor eax, eax
mov edx, dword [ebp - 0x1034]
push edx
push eax
call fcn.00407256
add esp, 8
lea ecx, [ebp - 0x10f0]
mov byte [ebp - 4], 1
call fcn.00415130
cmp dword [ebp - 0x1018], 8
jb 0x421732
mov eax, dword [ebp - 0x102c]
push eax
call fcn.00475dcb
add esp, 4
xor al, al
jmp 0x4219ae
cmp dword [ebp - 0x1018], 8
mov eax, dword [ebp - 0x102c]
mov dword [ebp - 0x1034], ebx
jae 0x421754
lea eax, [ebp - 0x102c]
lea ecx, [ebp - 0x1034]
push ecx
lea edx, [ebp - 0x1010]
push edx
push eax
call fcn.00420fd0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x42182b
push 0x124
push str.netboxprocess.cpp
lea esi, [ebp - 0x10f0]
call fcn.00414f70
mov esi, eax
mov byte [ebp - 4], 3
test esi, esi
je 0x4217d3
lea edi, [esi + 0x10]
test edi, edi
je 0x4217a0
lea eax, [esi + 0x20]
jmp 0x4217a2
xor eax, eax
push str.ERROR:
push eax
call fcn.00407256
add esp, 8
test edi, edi
je 0x4217b9
lea eax, [esi + 0x20]
jmp 0x4217bb
xor eax, eax
push str.failed_to_deelevate_and_wait_error:
push eax
call fcn.00407256
add esp, 8
push ebx
lea eax, [esi + 0x20]
push eax
call fcn.0040a3e8
call fcn.00421a50
test eax, eax
je 0x4217f9
lea ecx, [eax + 0x10]
test ecx, ecx
je 0x4217e8
add eax, 0x20
jmp 0x4217ea
xor eax, eax
push eax
lea ecx, [ebp - 0x102c]
call fcn.0040741c
add esp, 4
lea ecx, [ebp - 0x10f0]
mov byte [ebp - 4], 1
call fcn.00415130
cmp dword [ebp - 0x1018], 8
jb 0x421732
mov edx, dword [ebp - 0x102c]
push edx
call fcn.00475dcb
add esp, 4
xor al, al
jmp 0x4219ae
mov edi, dword [ebp - 0x1034]
push 0x927c0
push edi
mov byte [ebp - 0x102d], 0
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x42189a
push 0x12f
push str.netboxprocess.cpp
lea esi, [ebp - 0x10f0]
call fcn.00414f70
push str.Failed_to_wait_process:
push ecx
mov esi, eax
mov byte [ebp - 4], 4
call fcn.00405810
add esp, 4
mov esi, eax
call fcn.00405900
test eax, eax
je 0x421886
push edi
add eax, 0x20
push eax
call fcn.0041eb00
lea ecx, [ebp - 0x10f0]
mov byte [ebp - 4], 1
call fcn.00415130
jmp 0x421985
mov ebx, dword [ebp - 0x1038]
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x4218d5
push 0x135
push str.netboxprocess.cpp
lea esi, [ebp - 0x10f0]
call fcn.00414f70
mov esi, eax
mov byte [ebp - 4], 5
call fcn.00405810
mov esi, eax
call fcn.0041e140
jmp 0x421878
mov eax, dword [ebx]
cmp eax, 0x103
jne 0x421913
push 0x13b
push str.netboxprocess.cpp
lea esi, [ebp - 0x10f0]
call fcn.00414f70
push str.Failed_to_waiting_end_of_process:
push ecx
mov esi, eax
mov byte [ebp - 4], 6
call fcn.00405810
add esp, 4
mov esi, eax
call fcn.00405900
jmp 0x421878
test eax, eax
je 0x42197e
push 0x141
push str.netboxprocess.cpp
lea esi, [ebp - 0x11a8]
call fcn.00414f70
mov esi, eax
mov byte [ebp - 4], 7
call fcn.00405810
mov ecx, str.Failed_in_process:
mov esi, eax
call fcn.0041e090
mov esi, eax
test esi, esi
je 0x421953
push edi
lea eax, [esi + 0x20]
push eax
call fcn.0041eb00
push str._exitcode:
call fcn.00405900
test eax, eax
je 0x42196d
mov ecx, dword [ebx]
push ecx
add eax, 0x20
push eax
call fcn.0040a3e8
lea ecx, [ebp - 0x11a8]
mov byte [ebp - 4], 1
call fcn.00415130
jmp 0x421985
mov byte [ebp - 0x102d], 1
test edi, edi
je 0x421990
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x1018], 8
jb 0x4219a8
mov edx, dword [ebp - 0x102c]
push edx
call fcn.00475dcb
add esp, 4
mov al, byte [ebp - 0x102d]
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.004751dc
mov esp, ebp
pop ebp
ret