Function at 0x422718
Capabilities:
Check if file exists
Delete file

Disassembly:
pop ebx
call fcn.0043671f
mov esp, ebp
pop ebp
ret
push 0x2a4
mov eax, 0x5a3f28
call fcn.00437119
mov eax, dword [ebp + 8]
push eax
mov dword [ebp - 0x2ac], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x422def
add byte [eax], al
call fcn.00425114
test al, al
je 0x422763
mov bl, 0x38
xchg edi, eax
fisubr dword [esi - 0x6c]
dec ebx
stosd dword es:[edi], eax
pop ss
sub ecx, dword [edi - 0x74986f3d]
jg 0x42273d
dec edx
or byte [edi - 0x25], bh
adc dword [edx*8 - 0x48e607], esi
mov ch, 0x54
std
xor al, 0xd5
stc
sbb dword [edi - 0x2ab4a01], esi
push dword [ebp - 0x2ac]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x4227a4
invalid
call fcn.00424d09
test al, al
je 0x422def
jbe 0x42270e
adc ebx, dword [ebx]
jne 0x422759
enter 0xffffffffffffa64a, 0x15
adc ah, dl
push es
sahf
xlatb
aas
dec ebp
jb 0x42275e
int 0xe6
jle 0x4227c8
invalid
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00446a10
add esp, 0xc
mov dword [ebp - 0x234], 7
xor eax, eax
mov dword [ebp - 0x238], ebx
popfd
enter 0xfffffffffffffffd, 0xffffffffffffffff
lea ecx, [ebp - 0x248]
mov word [ebp - 0x248], ax
push ebx
push 0x622454
call fcn.00401ac0
mov dword [ebp - 4], ebx
call fcn.00425000
test al, al
je 0x422802
add byte [eax + eax*8 + 0x35741174], al
je 0x422828
jbe 0x4227ec
push esi
invalid
call fcn.00424d09
test al, al
je 0x42282a
cmpsb byte [esi], byte es:[edi]
or ah, byte [esi + 0x965ed74]
adc dword cs:[ebx - 0x537f7c32], 0x3d
cmp al, 0x34
or dword [ecx - 0x26be0af5], edx
ljmp 0xd4c6
aam 0x35
call fcn.00424b26
test al, al
je 0x422849
pop edx
and dword [ebx], 0xffffffac
and eax, 0xabaf8523
lodsd eax, dword [esi]
and al, 0x48
inc esp
dec ecx
cli
div dword [ebx + 0x3c]
rcl byte [edx + 0x56], 0xd8
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x2a8]
push eax
call fcn.00424305
pop ecx
pop ecx
mov byte [ebp - 4], 1
call fcn.00425114
test al, al
je 0x42288f
sub ah, dl
dec ebp
xchg edx, eax
push ss
add al, 0x27
xchg ecx, eax
mov ch, byte [edi - 0x32]
push ebp
sbb dword [eax - 0x1ed46168], ebp
ljmp 0x8400
call fcn.0042508a
test al, al
je 0x4228b3
adc byte ds:[edi - 0x4b196078], 0xd0
std
and al, 0x26
xchg esi, eax
cmp dl, byte [ecx - 0x64]
pop ecx
imul ebx, dword [edx + 0x2342f7a], 0x2d
imul eax, dword [ebx - 0x721758ca], 0x84000027
sal byte [ecx + ebx + 0x1c], 0x39
call fcn.00425045
test al, al
je 0x4228d5
sbb al, 0x39
push edx
adc byte [edi + 0x142e832c], dl
sbb ebx, dword [esi - 0x4c]
invalid
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x278]
push eax
call fcn.004246d8
pop ecx
pop ecx
mov byte [ebp - 4], 2
call fcn.00424ae1
test al, al
je 0x42290a
wait
sub edx, eax
and eax, 0xc24c2062
invalid
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.004246d8
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 3
push eax
call fcn.004216ec
add esp, 0xc
call fcn.00424d4e
test al, al
je 0x422949
push ebx
dec ebp
clc
clc
in al, 0xef
or eax, 0xc5c95daa
aas
push eax
xchg esi, eax
pop eax
call fcn.004250cf
test al, al
je 0x422972
pop ebp
xchg ebx, eax
xchg byte [ebx - 0x105918a8], dl
xchg byte [edi], bh
outsb dx, byte [esi]
rol bh, 1
clc
mov bl, 0xc
push es
lodsb al, byte [si]
stosb byte es:[edi], al
pop ss
adc ebp, ebx
pushfd
inc esi
dec ebp
std
mov esp, 0x5095f891
call fcn.00424ae1
test al, al
je 0x422999
xchg ecx, eax
mov esp, 0x6147c06d
aas
aaa
sbb byte [eax - 0x22], ch
pop es
mov dl, 6
mov bl, 0xaf
cmp eax, 0xbd595609
fcom st(5)
mov ebp, 0x79ed2019
push 0xfda0858d
invalid
lea eax, [ebp - 0x260]
push eax
call fcn.004216ec
pop ecx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.00403040
test eax, eax
jne 0x422a06
mov byte [esi], al
invalid
call fcn.00424fbb
test al, al
je 0x4229d6
adc dword [edx + 0x7ba45510], eax
stc
adc byte [eax], 0x55
movsb byte es:[edi], byte [esi]
jnp 0x4229c4
and al, 0xf8
invalid
cmp word [ebp - 0x218], 0
jne 0x4229e4
xor eax, eax
jmp 0x4229f1
lea eax, [ebp - 0x218]
push eax
call fcn.004549af
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00401ac0
jmp 0x422a84
call fcn.00424f31
test al, al
je 0x422a2c
xor eax, 0xb34f014d
dec esp
lds eax, [ebx + 0x437a0bf4]
ja 0x4229b4
xchg edi, eax
cmp byte [edx - 0x5f], 0xdb
sub dword [ecx + ecx], ebx
ljmp 0xe899
call fcn.00424d09
test al, al
je 0x422a55
je 0x422a58
pop es
xchg ecx, eax
into
mov bh, 0x76
salc
insb byte es:[edi], dx
adc al, 0x94
add dword [edi - 0x7534c20f], esp
imul ecx, esp, 0x48195e9a
rol byte [edx + 0x412e2a7e], 1
mov ch, 0x85
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x290]
push eax
call fcn.004245a0
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.004052f0
push 0
push 1
lea ecx, [ebp - 0x290]
call fcn.00401a00
std
invalid
and dword [ebp - 0x2b0], 0
call fcn.0042508a
test al, al
je 0x422aaa
invalid
and dword [ebp - 0x220], 0
lea ecx, [ebp - 0x230]
xor eax, eax
mov dword [ebp - 0x21c], 7
push eax
push 0x622454
mov word [ebp - 0x230], ax
call fcn.00401ac0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x230]
call fcn.00401bc0
call fcn.00425000
test al, al
je 0x422b17
test dword [edi + 0x6b9e4fc4], edi
mov eax, 0xd91fea62
movsb byte es:[edi], byte [esi]
adc edi, dword [eax + 0x75]
or byte [edx + edi], cl
adc ecx, esp
cmp eax, 0x8f337684
dec esi
test eax, 0xe88db67f
sbb byte [edi], 0
add byte [eax + eax*8 - 0x3917e68c], al
mov bl, 0x10
or ch, byte [ebx + 0x47]
mov bh, byte [eax + ecx*4]
idiv byte [edi + 0x18cb244a]
call fcn.00424a9c
test al, al
je 0x422b39
call 0xa52deeb
imul eax, dword [edi - 0x76], 0x3c
mov dh, dh
mov edi, 0x18cb244a
jne 0x422b12
xchg edx, eax
invalid
call fcn.00424d4e
test al, al
je 0x422b5e
fistp word [ebx + 0x78]
or dword cs:[eax - 0x4a711704], esi
push edi
sbb byte [eax + ecx*2 + 0x7f], ah
mov edx, 0x87510a5e
add bh, byte [ebp + 0x499c82c6]
std
shr dword [edx - 1], 0x33
fisttp dword [ebp - 0x2a77b]
call dword [ebx + 0x50]
push 0xffffffffffffffff
xor ebx, ebx
lea eax, [ebp - 0x2a8]
push ebx
push eax
lea ecx, [ebp - 0x230]
call fcn.00405660
mov esi, str..fcb
push esi
call fcn.004549af
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.00405530
mov eax, dword [ebp - 0x2b0]
test eax, eax
jle 0x422bcf
cdq
push edx
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.00421b44
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.00405660
push ebx
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 4
call fcn.00401a00
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x422cb2
call fcn.00424d09
test al, al
je 0x422c16
dec ecx
dec esi
lds ebx, [ebx + 0x1b]
cmp dword [eax + 0x29], 0x29
dec esp
mov ebp, 0x949f412c
into
invalid
jp 0x422c7c
mov byte [0x1f95e8], al
add byte [eax + eax*8 + 0xe7e1e74], al
call fcn.00424bb0
test al, al
je 0x422c3d
jle 0x422c2f
jns 0x422c13
xlatb
cmpsd dword [esi], dword es:[edi]
hlt
push esp
xchg esi, eax
mov dword [0xb509d012], eax
bound ebx, qword [edi]
hlt
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x422cb2
call fcn.00424bb0
test al, al
je 0x422c84
add byte [edx + eax], bl
test byte [ebx - 0x4f], al
xchg dword [ebx], ecx
xchg edx, eax
sub dword [edx], edi
xor al, 0x54
mov al, 0x1f
push eax
cmp dword [edx - 0x34d97378], esp
idiv ebp
std
mov bl, 0xe8
inc edi
and ecx, ebx
mov byte [0x509d8b22], al
std
invalid
mov ebx, dword [ebp - 0x2b0]
cmp ebx, 0xa
jge 0x422da9
push 0
inc ebx
mov byte [ebp - 4], 3
push 1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x2b0], ebx
call fcn.00401a00
jmp 0x422aaa
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push dword [ebp - 0x2ac]
call fcn.004557ce
pop ecx
pop ecx
call fcn.00424e62
test al, al
je 0x422cf4
pushal
and dword [edx + 0x3b], 0xaed570e4
leave
insd dword es:[edi], dx
add eax, eax
sub al, 0xea
mov ch, 0x97
unpckhps xmm2, xmmword [edx + edi*4]
xor ch, byte [edi + eax*2 - 0x18]
cld
push ds
add byte [eax], al
call fcn.00424bf5
test al, al
je 0x422d15
xchg esp, eax
lodsd eax, dword [esi]
in eax, dx
and edx, edx
sub ah, byte [esp + 0x1a738f66]
inc ebx
mov ebp, 0x885c2d8b
adc eax, 0x356bbf25
xor ebp, eax
pop ds
add byte [eax], al
call fcn.00424c7f
test al, al
je 0x422d36
mov cl, 0x54
lcall 0x7f9b, 0xde846b09
cli
adc byte [edx], cl
into
loope 0x422d2a
sbb al, ch
insd dword es:[edi], dx
xchg ah, bl
insd dword es:[edi], dx
rcr dword [edi + 2], cl
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x230]
push eax
call esi
test eax, eax
je 0x422d76
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
push 5
cmovae eax, dword [ebp - 0x230]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ebx, dword [ebp - 0x2ac]
push ebx
call esi
test eax, eax
je 0x422da9
call fcn.00424e1d
test al, al
je 0x422d9e
add byte [eax + eax*8 - 0x1fbbed8c], al
clc
inc esp
loopne 0x422d87
test eax, 0x662b1b10
or eax, 0x360c883
retf
push 5
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
xor ebx, ebx
lea ecx, [ebp - 0x230]
xor esi, esi
push ebx
inc esi
push esi
call fcn.00401a00
push ebx
push esi
lea ecx, [ebp - 0x260]
call fcn.00401a00
push ebx
push esi
lea ecx, [ebp - 0x278]
call fcn.00401a00
push ebx
push esi
lea ecx, [ebp - 0x2a8]
call fcn.00401a00
push ebx
push esi
lea ecx, [ebp - 0x248]
call fcn.00401a00
call fcn.004370d4
ret