Function at 0x421e20
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e0051
mov eax, dword fs:[0]
push eax
sub esp, 0x670
mov eax, dword [0x676314]
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 dword [ebp - 0x67c], ecx
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.004830b0
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.004830b0
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004830b0
add esp, 0x24
call fcn.0047337c
test al, al
je 0x421e99
add byte [ebp - 0x41f7b], cl
jmp [edx]
inc esi
or ecx, ecx
dec eax
jae 0x421e5b
cmpsb byte [esi], byte es:[edi]
mov byte [0xfb2b0e2d], al
aas
shr byte [esi + 0x16c1e8fe], cl
add eax, 0x74c08400
adc byte [0x240f3bf1], dl
call fcn.0047355f
test al, al
je 0x421eb2
adc eax, 0x240f3bf1
loope 0x421f12
stc
inc esi
mov eax, 0x1f28c3ac
dec esp
xor ch, al
pop edx
sbb dword [0x74c08400], eax
adc eax, 0x55537660
call fcn.00473811
test al, al
je 0x421ed0
pushal
jbe 0x421f11
push ebp
dec ebx
jb 0x421ec9
sub byte [edi], cl
nop
stc
wait
cmp ecx, dword [edx + 0x2cfd6bd3]
dec ecx
shr dword [ebx - 3], cl
sub al, 0x49
sar byte [ebx + ecx*4 - 0x73], 1
test cl, bh
invalid
mov ecx, dword [ebp - 0x67c]
lea eax, [ebp - 0x628]
push eax
push str.1a48a02b
call int.004215c0
mov ecx, dword [ebp - 0x67c]
lea eax, [ebp - 0x420]
push eax
push str.dc5c67b0
call int.004215c0
call fcn.0047337c
test al, al
je 0x421f17
add byte [edx - 0x2b], dh
push es
cmp al, 0x82
sbb byte [ebx + edi*4 + 0x646748ab], bh
xchg ecx, eax
dec eax
xchg ecx, eax
sti
pushal
call fcn.0047355f
test al, al
je 0x421f30
jmp 0x5f6277ea
call fcn.00473811
test al, al
je 0x421f4e
cld
and bh, dl
sbb al, 0x9b
in eax, dx
dec esi
in eax, 0x50
retf
mov ecx, dword [ebp - 0x67c]
lea eax, [ebp - 0x218]
push eax
push str.b4ac1ec3
call int.004215c0
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x422169
call fcn.00473742
test al, al
je 0x421f95
invalid
xor eax, eax
mov dword [ebp - 0x62c], 7
mov dword [ebp - 0x630], 0
mov word [ebp - 0x640], ax
cmp word [ebp - 0x218], ax
jne 0x421fbf
xor ecx, ecx
jmp 0x421fdf
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421fd0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x640]
call fcn.00402650
cmp dword [ebp - 0x630], 0
mov dword [ebp - 4], 0
je 0x4220a3
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x658]
push eax
call fcn.00455f3e
add esp, 8
push 0xa
push str.NVcMgr.dll
lea ecx, [ebp - 0x658]
mov byte [ebp - 4], 1
call fcn.00405710
lea ecx, [ebp - 0x678]
call fcn.00414010
cmp dword [ebp - 0x62c], 8
lea ecx, [ebp - 0x640]
lea eax, [ebp - 0x658]
mov byte [ebp - 4], 2
cmovae ecx, dword [ebp - 0x640]
cmp dword [ebp - 0x644], 8
push ecx
cmovae eax, dword [ebp - 0x658]
lea ecx, [ebp - 0x678]
push eax
call fcn.00414ca0
lea ecx, [ebp - 0x678]
call fcn.00414130
mov eax, dword [ebp - 0x644]
mov byte [ebp - 4], 0
cmp eax, 8
jb 0x4220a3
inc eax
lea ecx, [ebp - 0x658]
push eax
push dword [ebp - 0x658]
call fcn.00402750
call fcn.00473490
test al, al
je 0x4220bd
cli
mov ebx, 0x7979ed14
sbb al, 0x3f
sub ebx, ebp
wait
jle 0x4220ba
loope 0x42213a
inc edx
call fcn.004733c1
test al, al
je 0x4220e6
mov dh, 0x79
jl 0x422108
push es
xor dword [ecx + ebx*4 + 0x1e], edi
cmpsb byte [esi], byte es:[edi]
sbb al, 1
push ds
cdq
stosb byte es:[edi], al
rol byte [edx], 0xcf
lea esi, [ebp - 0x457ae40f]
push ds
retf 0x8a01
mov ecx, dword [ebp - 0x67c]
call fcn.004203c0
lea eax, [ebp - 0x628]
push eax
call fcn.00458c17
add esp, 4
call fcn.0047362e
test al, al
je 0x422128
pop ds
mov edx, 0x5764935
mov eax, dword [0x77e7217d]
jmp 0x24d64d03
call fcn.00473925
test al, al
je 0x42214b
push cs
dec eax
add ebp, ebx
xchg ebp, eax
std
push ss
adc edi, dword [eax - 0x3b0ece8e]
cmp eax, 0x40fd4b19
jb 0x42216d
int1
les edi, [0x40fd4b19]
int1
pop ss
jmp 0x4221b8
mov eax, dword [ebp - 0x62c]
cmp eax, 8
jb 0x422169
inc eax
lea ecx, [ebp - 0x640]
push eax
push dword [ebp - 0x640]
call fcn.00402750
xor eax, eax
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.0046ce06
mov esp, ebp
pop ebp
ret
hlt
cmp dword [ecx + 0x14], 8
lea esi, [ecx + 0x10]
jb 0x4221c3
mov ecx, dword [ecx]
push eax
push edx
push dword [esi]
push ecx
call fcn.00403560
add esp, 0x10
test eax, eax
sete al
pop esi
pop ebp
ret