Function at 0x4277a0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push 0
mov dword [ebp - 8], 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 4], eax
call fcn.00460579
test al, al
je 0x4277d7
sal al, 0x62
jnp 0x427832
arpl word [ecx - 0x3d2f40a6], cx
mov edi, 0x58560ab6
inc edi
in al, 0x69
call fcn.00460351
test al, al
je 0x4277ff
or ah, byte [edx + 0x1d]
pop eax
sub eax, 0x407d79f6
mov bl, 0x79
inc esp
popal
into
sar edx, cl
jmp 0xb03e3138
sti
scasd eax, dword es:[edi]
pop esp
pop ebp
push ebx
and bh, byte [edx + 0x6d1bc89f]
push ebx
call fcn.0046082b
test al, al
je 0x427820
mov byte [edx], ch
movsd dword es:[edi], dword [esi]
test byte [esi], ah
int3
call fcn.0046082b
test al, al
je 0x427841
and dword [ebx + esi*2 - 0x49cb9c04], ebp
jnp 0x4277f3
ficomp dword [edx]
ror dword [eax + 0x11370463], 0x39
add cl, byte [edi]
daa
or byte [ebx - 0xd], bh
call fcn.00460282
test al, al
je 0x427868
push eax
cdq
lds esp, [esp + ebp - 0x65]
into
jo 0x4278af
test byte [edi + 0x2c], dl
std
bnd jae 0x427890
popfd
wait
mov esi, 0x411fb6bf
out dx, eax
rcr dword [edx + 0x3e], 1
test al, cl
fld qword [ebx + 0xf00fc7d]
cmp dword [ebp - 4], 0
jl 0x427b58
mov esi, fs
add al, byte [eax]
add al, ch
mov ebp, 0x8400038c
sal byte [esi + edx + 0x6f], 0xd7
call fcn.00460534
test al, al
je 0x427891
outsd dx, dword [esi]
xlatb
dec esp
invalid
pop esp
call fcn.00460420
test al, al
je 0x4278af
xchg edi, esi
in eax, 0x40
push esi
sal dword [edx*2 - 0x110c96b5], 0x84
jmp 0x4278d9
call fcn.004607a1
test al, al
je 0x4278cf
jmp 0x4278be
sar al, 0x2c
inc edi
movsb byte es:[edi], byte [esi]
ja 0x42786d
or edi, ecx
pop ebp
sahf
shl ebx, 1
clc
sub eax, 0x458d5cef
cld
lea eax, [ebp - 4]
push eax
push 0x5ca430
push 1
push 0
add dword [edx], ebp
push 0x5ca440
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x427b0d
mov eax, dword [ebp - 4]
push dword [ebp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
call fcn.004606d2
test al, al
je 0x42791a
inc eax
xchg esi, eax
mov esp, 0x15e2ed62
cmp esp, dword [edi - 0x1e9f4283]
jo 0x42796a
mov ecx, 0x5592a0ea
bound edi, qword [ebp - 0x18]
inc esi
mov eax, dword [ebx]
add byte [eax + eax*8 + 0x41bb1974], al
pushfd
push edx
call fcn.00460465
test al, al
je 0x42793c
mov ebx, 0x1c529c41
mov esp, 0xa22f674
sbb al, 0xbc
je 0x427921
and cl, byte [edx]
call 0xb8d314f8
fcomp dword [edi + 0x22]
cwde
std
insd dword es:[edi], dx
mov ebp, 0xe8cc5f8c
inc ecx
mov dword [ebx], eax
add byte [eax + eax*8 - 0x1f86eb8c], al
call fcn.00460282
test al, al
je 0x427959
jns 0x427927
aas
mov ah, byte [edx + 0x5e]
fisubr dword [esi + 0x16016cbd]
cwde
sbb edx, esi
mov eax, 0x8b4e1b53
push ebp
adc byte [ebp - 0x74f58b2e], al
inc ebp
cld
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x42796a
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
call fcn.0046068d
test al, al
je 0x427989
int3
call fcn.0046023d
test al, al
je 0x4279ab
sbb eax, dword [esi + 0x518e446f]
fmul qword [eax + 0x4a]
and al, 0x7c
in al, 0x63
pop esi
out 0x28, al
maxps xmm3, xmmword [edx - 0x21]
dec ebx
xor cl, byte [0x558bc289]
sbb byte [ebp - 0x74f58b2e], al
inc ebp
cld
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4279bc
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
call fcn.00460351
test al, al
je 0x4279d8
dec edi
mov esi, 0x385c88cc
outsb dx, byte [esi]
fcom qword [eax]
and eax, 0x9923f243
add al, 0x67
push 0x3a
push es
call fcn.004602c7
test al, al
je 0x4279f8
sbb dh, byte [eax]
or dword [edx + 0x73], edx
xchg esp, eax
test eax, 0x27f0a895
ljmp 0xc28
mov edx, dword [ebp + 0x1c]
test dx, dx
je 0x427a0a
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x427a28
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x427a28
mov eax, dword [ebp - 4]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
call fcn.004600e4
test al, al
je 0x427a41
and dword [edi + ebx*2 - 0x31861245], ebp
in al, dx
sbb edx, dword [esi + 0x20]
jns 0x427a39
cdq
cmp bh, byte [ebx + 0x3876de8]
add byte [eax + eax*8 - 0x7f73eb8c], al
mov cl, 0xb8
lea ebp, [edx + ecx*2 + 0x3f]
call fcn.004601b3
test al, al
je 0x427a5e
mov word [eax + 0x6c8db8b1], es
dec edx
aas
cmpsb byte [esi], byte es:[edi]
dec eax
int1
and al, 0x4a
inc edi
dec esi
dec eax
cmp bh, byte [esi - 0x3c]
or eax, 0x8520558b
sal byte [edx + ecx - 0x75], cl
inc ebp
cld
mov edx, dword [ebp + 0x20]
test edx, edx
je 0x427a6f
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov edx, dword [ebp + 0x24]
test edx, edx
je 0x427a80
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 4]
lea edx, [ebp + 0xc]
push edx
push 0x5ca420
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x427ace
mov eax, dword [ebp + 0xc]
push 0
push dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
call fcn.004601b3
test al, al
je 0x427abe
scasd eax, dword es:[edi]
xchg ebp, eax
lodsb al, byte [esi]
test al, 0x48
cdq
mov esp, 0xb77a64d1
adc dword [esi + 0x24], edi
mov esi, dword [esi - 0x3c]
xchg edx, eax
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [ebp - 8], 1
call fcn.004601f8
test al, al
je 0x427aeb
lds si, [edi - 0x26]
les ecx, [ebx + 0x5bc84da4]
shl dword [ebx], 1
sub al, 0x39
popal
inc esi
push ecx
ljmp 3
call fcn.004607a1
test al, al
je 0x427b04
aad 0xd1
adc dword [edx + 0x415efc54], 0x59
dec ecx
xor al, 0xaa
pushal
bound eax, qword [ebp - 0x3ba7450]
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.00460420
test al, al
je 0x427b2c
pop ss
cdq
fisubr dword [edx - 0x726ab6e7]
cmpsb byte [esi], byte es:[edi]
lcall 0x5291, 0x138056b
call fcn.004603db
test al, al
je 0x427b4c
rol byte [ecx - 0x67], 1
jl 0x427b84
ror byte [edx + 0x13], 0xac
mov bh, 0xcc
mul dword [ecx - 0x38]
mov bl, 0x8d
std
jae 0x427b9a
cmp dword [esp], edx
test eax, 0x5ff8458b
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp byte [ebp + 0x5c], dl
add byte [ebx - 0xb8a7610], cl
call fcn.004601b3
test al, al
je 0x427bac
sbb byte [ebx + ebx], ch
xchg ebp, eax
wait
push esp
xchg dword [ebp + ecx*2 + 0x2b], esi
or byte [esi], 0x40
int3
call fcn.004604aa
test al, al
je 0x427bd5
mov dh, 0x1c
mov bl, 5
jle 0x427c2a
xchg al, ah
or eax, 0x51514d73
loopne 0x427bcb
jae 0x427c0d
push ecx
push ecx
pop edi
pop ebx
xchg esi, eax
sbb eax, 0x659f7652
fild qword [esi]
fild qword [esi]
xor eax, 0x5b5a3416
invalid
test esi, esi
js 0x427dc3
lea eax, [ebp - 4]
push eax
push 0x5ca430
push 1
push 0
push 0x5ca440
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x427dbd
call fcn.004601b3
test al, al
je 0x427c19
mov fs, eax
mov edx, 0x2aba63d4
leave
nop
mov es, word [esi]
and eax, 0xd4e0f5f3
dec eax
dec ecx
call fcn.004604aa
call fcn.004604aa
test al, al
je 0x427c42
in al, 0xfb
ficom word [esi - 0x2560e0b5]
cli
mov ch, 0xb8
jl 0x427bbc
int3
mov eax, dword [ebp - 4]
push dword [ebp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x427c5f
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x427c70
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov edx, dword [ebp + 0x18]
test dx, dx
je 0x427c82
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x427c93
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
call fcn.004606d2
test al, al
je 0x427cb5
ljmp 0x1270:0x33fe5d06
invalid
call fcn.00460648
test al, al
je 0x427cde
mov bh, ch
xor dword [ecx], eax
cwde
das
dec ebx
jl 0x427c7d
adc byte [edi - 0x52e87f5d], bl
cmp dword [ebp + 0x414a1e17], esi
or byte [edx - 0x469863f8], bh
cli
invalid
call fcn.004607e6
test al, al
je 0x427cff
js 0x427cb2
fsub st(2)
pushal
hlt
mov edx, dword [ebp + 0x20]
test edx, edx
je 0x427d10
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 4]
lea edx, [ebp - 0xc]
push edx
push 0x5ca420
push eax
mov ecx, dword [eax]
call dword [ecx]
mov dword [ebp + 0xc], eax
call fcn.004607e6
test al, al
je 0x427d3f
sub edi, ecx
sahf
or al, 0xb2
adc byte [ebp + 0x37b18984], cl
inc edi
mov dword [0x4f530fa9], eax
sbb byte [ebx + 0x7c000c7d], al
push ds
cmp dword [ebp + 0xc], 0
jl 0x427d63
mov eax, dword [ebp - 0xc]
push 0
push dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [ebp - 8], 1
call fcn.004607e6
test al, al
je 0x427d7c
jg 0x427dd9
lodsb al, byte [esi]
mov gs, word [esi + 0x50b31bdd]
fbstp tbyte [eax + 0x53]
dec esp
mov cl, 0x84
mov dl, 0xe8
arpl word [ebx - 0x3f7bfffd], ax
call fcn.004600e4
test al, al
je 0x427d96
daa
xor dword [eax + 0x6b], ebp
xor byte [edx + ebx*8 + 0x3c], ah
push edi
lodsd eax, dword [esi]
xlatb
mov bl, 0xee
aaa
xchg ebx, eax
in eax, 0xf
call fcn.00460129
test al, al
je 0x427db4
movsb byte es:[edi], byte [esi]
or al, 0xd2
invalid
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.00460579
test al, al
je 0x427de5
cld
insd dword es:[edi], dx
cld
mov bl, 0xb8
add edx, esi
salc
stosb byte es:[edi], al
test al, 0xe3
mov ch, 0xb9
dec edi
lodsb al, byte [esi]
ljmp 0xe99a
call fcn.0046082b
test al, al
je 0x427e08
pop esi
pop esi
xor byte [ecx + 0x17], dl
je 0x427e27
test byte [edi - 0x7c], al
outsb dx, byte [esi]
adc dword [edx - 0x5309c890], ebx
mov ecx, 0xfb59bb0e
xchg edi, eax
dec esi
stc
test dword [ebx + 0x5e5ff845], ecx
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
fistp dword [ebx]