Function at 0x423526
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x62aa54]
push esp
stosb byte es:[edi], al
bound eax, qword [eax]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x20c]
push esi
push edi
push 0x208
push 0
push eax
mov dword [ebp - 0x210], ebx
call fcn.0056f390
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x214], eax
call fcn.0042ab6b
test al, al
je 0x42358c
std
invalid
loope 0x423530
test ebx, edi
mov al, byte [0xf73cf3]
or bl, byte cs:[eax]
sub eax, 0xee8c24ec
dec edi
cmp byte [eax - 0x3e], al
sal byte [edi - 0x38], 7
mov eax, 0x7481e8db
add byte [eax], al
inc eax
ret 0x77c0
call fcn.0042aa12
test al, al
je 0x4235b3
loopne 0x423616
loopne 0x423540
push cs
sbb al, 0xd7
aaa
mov ss, word [ebp - 0x13]
inc esi
das
movsd dword es:[edi], dword [esi]
or al, 0x76
out dx, al
and edx, dword [edx + 3]
and dh, dl
inc ebp
xchg edi, eax
bound ebp, qword [ebp + 0x26e11764]
cmp dword [ebp - 0x214], 0
jne 0x423764
push dword [ebp - 0x210]
lea eax, [ebp - 0x20c]
push 0x5a0b58
push eax
call fcn.00408d5e
lea eax, [ebp - 0x20c]
push str..fcb
push eax
call fcn.00572b2d
add esp, 0x14
mov dword [ebp - 0x214], eax
call fcn.0042ae62
test al, al
je 0x42360b
clc
ja 0x4235cc
je 0x423584
aaa
push edx
inc ebp
and dword [ecx + edx*2 + 0x44], esi
cmpsb byte [esi], byte es:[edi]
mov dh, 0x5d
sub eax, 0x5b
call fcn.0042ab6b
test al, al
je 0x423633
jne 0x42360f
add byte [eax + eax*8 - 0x6c8ce08c], al
jae 0x4235a9
jge 0x423672
wait
xchg dword fs:[ebx - 0x65957f81], eax
cmc
and bl, bh
mov al, 0x17
adc eax, edi
mov edx, 0x81204e36
and byte [ebx + 0x37d187ac], al
jmp 0xb5871f
call fcn.0042a988
test al, al
je 0x423652
pop eax
jb 0x42360d
into
cmp dword [ebx - 0x66399440], ecx
invalid
cmp dword [ebp - 0x214], 0
je 0x42366a
push 5
push 0
push dword [ebp - 0x210]
jmp 0x42375e
std
invalid
call fcn.0042ab6b
test al, al
je 0x42368e
sbb edx, dword [ecx]
aam 0xb7
mov cl, 0x1a
jg 0x4236f8
adc esp, edx
mov bh, 0xb1
sbb bh, byte [edi + 0x7e]
mov ah, 0x76
pushfd
jge 0x42363e
stosb byte es:[edi], al
sbb al, 0x91
mov esi, 0xc9eab8fa
rcr byte [eax - 0x4e], cl
xchg edx, eax
pop ecx
sub byte [edx + 0x737fe8], ah
add byte [eax + eax*8 - 0x6422e18c], al
push 0xf
insb byte es:[edi], dx
fld dword [ebx + 0x25a2fde7]
and dword es:[ebx + esi - 0x79], edi
dec esi
mov dword [0xe5f8b670], eax
xchg esi, eax
call fcn.0042aa12
test al, al
je 0x4236b5
fstp qword [ebx - 0x2693f096]
and edi, 0xfffffffd
mov byte [0x21f32625], al
jl 0x4236da
xchg dword [esi - 0x5d], ecx
jo 0x423662
clc
in eax, 0x96
mov ch, 0x9f
and bl, byte [ecx - 0x80]
lodsb al, byte [esi]
xor esi, esi
mov edi, str..fcb
call fcn.0042aa12
test al, al
je 0x4236e4
loop 0x4236a7
retf 0x7257
add al, 0x2d
cmpsd dword [esi], dword es:[edi]
test dword [edi], esi
invalid
mov ebx, dword [ebp - 0x210]
lea eax, [ebp - 0x20c]
test esi, esi
jne 0x423706
push edi
push ebx
push 0x5a0ac0
or bl, byte [edx]
push eax
call fcn.00408d5e
add esp, 0x10
jmp 0x423717
push esi
push edi
push ebx
push str._s_s_d
push eax
call fcn.00408d5e
add esp, 0x14
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x423744
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x423744
cmp esi, 0xa
jg 0x423764
inc esi
jmp 0x4236bc
lea eax, [ebp - 0x20c]
push eax
push ebx
call fcn.0057c21a
pop ecx
pop ecx
push 5
push 0
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0056935c
mov esp, ebp
pop ebp
ret 4