Function at 0x4544d9
Capabilities:
Check if file exists
Delete file
Get common file path
Move file

Disassembly:
push 0x208
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x624], ebx
push 0
push eax
call fcn.004830b0
add esp, 0xc
lea eax, [ebp - 0x20c]
test ebx, ebx
jne 0x45435e
push dword [ebp - 0x620]
push str._s.bak
push eax
call fcn.00407e70
add esp, 0xc
jmp 0x454373
push ebx
push dword [ebp - 0x620]
push str._s.bak_d
push eax
call fcn.00407e70
add esp, 0x10
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x454391
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.004732ad
test al, al
je 0x4543b3
stosd dword es:[edi], eax
outsb dx, byte [esi]
xchg esi, eax
invalid
call fcn.00473742
test al, al
je 0x4543d3
ror dword [ebx + 0xfdc8e8b], 0xef
idiv byte [edi - 0x43442172]
cmc
add dword [0x1b126c06], ebx
sbb eax, 0x1b126c06
fidiv dword [edx - 0x50]
call fcn.004732ad
test al, al
je 0x4543f3
mov esp, 0xde48e755
pop eax
cdq
adc byte [ebx - 0x411ca429], dl
daa
cld
jo 0x4543cb
add ch, bl
xchg edx, eax
adc eax, 0x9d8b9966
loopne 0x4543f0
mov ebx, dword [ebp - 0x620]
lea eax, [ebp - 0x20c]
push eax
push ebx
call fcn.0048fa36
pop ecx
pop ecx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push ebx
push dword [ebp - 0x628]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x4544b7
invalid
call fcn.0047362e
test al, al
je 0x454455
ret 0xfe1
call fcn.0047351a
test al, al
je 0x454475
push esi
cmp ah, bh
jmp 0xf67c6ef4
call fcn.004733c1
test al, al
je 0x454495
fdiv qword [ebx + 0x4630c16b]
test byte [esi], bl
mov esi, 0x4f4b0015
inc esp
sal edx, 0xa7
fcmovbe st(0), st(3)
outsb dx, byte [esi]
hlt
push 5
push 0
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ebx, dword [ebp - 0x624]
cmp ebx, 0xa
jge 0x4544c8
inc ebx
jmp 0x454322
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.0046ce06
mov esp, ebp
pop ebp
ret
push 0x2a4
mov eax, 0x5e396c
call fcn.0046d2ba
mov eax, dword [ebp + 8]
push eax
mov dword [ebp - 0x2ac], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x454bd7
call fcn.004732f2
test al, al
je 0x45451e
pushfd
pop es
sub byte [ecx], 6
jne 0x4544a6
in al, dx
mov al, byte [0xd3de8683]
jmp 0x4544d8
call fcn.004737cc
test al, al
je 0x454544
std
out 0x66, eax
ret 0x1fb2
push dword [ebp - 0x2ac]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x4545b4
call fcn.00473856
test al, al
je 0x454571
mov byte [0xcb9893d6], al
mov edi, 0x1a5e2ecc
sub edx, dword [0x24920027]
mov eax, 0xe81940aa
movsb byte es:[edi], byte [esi]
out dx, eax
add dword [eax], eax
call fcn.0047351a
test al, al
je 0x45458e
invalid
call fcn.004733c1
test al, al
je 0x454bd7
xchg bp, ax
sbb dword [edi - 0x73], ebp
push esp
invalid
sbb eax, 0xa4a48f5
jmp 0x454bd7
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.004830b0
add esp, 0xc
mov dword [ebp - 0x234], 7
xor eax, eax
mov dword [ebp - 0x238], ebx
enter 0xfffffffffffffffd, 0xffffffffffffffff
lea ecx, [ebp - 0x248]
mov word [ebp - 0x248], ax
push ebx
push 0x5e87f0
call fcn.00402650
mov dword [ebp - 4], ebx
call fcn.0047337c
test al, al
je 0x45461b
add byte [eax + eax*8 + 0x4c4b1a74], al
dec ebx
dec esp
imul eax, dword gs:[edi + 0x2418c9ae], 0x54
jo 0x4545aa
leave
fidiv dword [edi + 0x38]
out dx, eax
jo 0x4545d9
fmul st(1)
adc esp, dword [ebp - 0x1739e362]
aas
out dx, eax
add dword [eax], eax
call fcn.0047355f
test al, al
je 0x45463a
xchg edx, esi
add esp, 0x3ee693bd
push eax
add al, 0xf1
jb 0x4546a9
add byte cs:[0x94e76d06], cl
pop es
fucomp st(0)
xchg esi, eax
out dx, al
add dword [eax], eax
call fcn.004734d5
test al, al
je 0x45465b
outsd dx, dword [esi]
mov edx, dword [esi]
sub eax, 0xafd78d33
adc al, 0x8d
les esp, [edi]
or byte [edx + 0x74926105], dl
movsd dword es:[edi], dword [esi]
add dword [esi - 0x50], ebx
jle 0x4545fc
call fcn.00473925
test al, al
je 0x45467e
pushal
push eax
jge 0x45466f
jo 0x4546c4
dec ecx
sbb bl, byte gs:[esi - 0x17f7c9d0]
or al, ch
mov eax, 0x4bfe8447
add edx, ebx
jecxz 0x4546f3
test al, 0x22
lea eax, [ebp - 0x218]
push eax
call 0x51454682
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esi, dword [ebp - 0x2ac]
lea eax, [ebp - 0x2a8]
push esi
push eax
call fcn.00455c7d
pop ecx
pop ecx
mov byte [ebp - 4], 1
call fcn.00473811
test al, al
je 0x4546cc
cmc
jmp 0x454680
mov al, byte [0x54b58b7f]
std
invalid
call fcn.0047396a
test al, al
je 0x4546e6
hlt
lea eax, [ebp - 0x278]
push esi
push eax
call fcn.0045603d
pop ecx
pop ecx
mov byte [ebp - 4], 2
call fcn.004732ad
test al, al
je 0x454717
add al, 0xf6
invalid
call fcn.00473742
test al, al
je 0x45473c
lcall 0x9ee0, 0x7ca15db1
aas
stosb byte es:[edi], al
xchg ebx, eax
enter 0xffffffffffffc243, 0x59
dec ebp
lahf
add ah, byte [eax - 0x5a]
and ch, ch
mov edi, 0xfbb7be67
in al, dx
or byte [ebp - 0x2177b], cl
call dword [eax - 0x73]
test dword [eax + 0x50fffffd], esp
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0045603d
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 3
push eax
call fcn.0045803e
add esp, 0xc
call fcn.0047355f
test al, al
je 0x454780
lodsb al, byte [esi]
push 0x30
dec eax
sub dl, al
rcl dword [eax], 0x57
mov word [ebx + 0x2d3d9331], ss
xchg edx, eax
xchg dword [ecx - 0x7a72e711], esp
mov al, byte [0x50fffffd]
lea eax, [ebp - 0x260]
push eax
std
invalid
call fcn.0045803e
pop ecx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.004556c4
test eax, eax
jne 0x454815
call fcn.0047337c
test al, al
je 0x4547ca
fstp xword [ebx + 0x34]
cmp edi, esi
or eax, 0x51900f1c
sub eax, 0x1d7d0811
jge 0x454783
in al, dx
sbb edi, dword [eax + 0x5823118b]
mov dl, 0xa4
outsd dx, dword [esi]
and dword [edx + 0x71], esp
call fcn.0047351a
test al, al
je 0x4547e5
ret 0x330d
cmp word [ebp - 0x218], 0
jne 0x4547f3
xor eax, eax
jmp 0x454800
lea eax, [ebp - 0x218]
push eax
call fcn.00491757
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00402650
jmp 0x45486b
call fcn.004736fd
test al, al
je 0x45483c
invalid
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x290]
push eax
call fcn.00455f3e
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.00403d40
push 0
push 1
lea ecx, [ebp - 0x290]
call fcn.0041f8c0
xor esi, esi
mov dword [ebp - 0x2b0], esi
call fcn.004737cc
test al, al
je 0x454892
cmp al, 0xf9
pop edi
xchg byte [ebp - 0x53da180f], ch
xchg edi, eax
jno 0x4548a9
sbb dword [edi], edi
or al, 0x8b
mov ch, 0x50
std
invalid
call fcn.004735e9
test al, al
je 0x4548b2
scasd eax, dword es:[edi]
and ebx, dword cs:[ebx + ebx*2 - 0x41]
jns 0x4548f9
push 0xe
loop 0x4548f6
fsub qword [esi]
loop 0x454903
sal bh, 1
sub ebp, dword [0x8343670b]
and dword [ebp - 0x220], 0
lea ecx, [ebp - 0x230]
xor eax, eax
mov dword [ebp - 0x21c], 7
push eax
push 0x5e87f0
mov word [ebp - 0x230], ax
call fcn.00402650
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x230]
call fcn.00402530
call fcn.00473787
movsd dword es:[edi], dword [esi]
loopne 0x4548b3
invalid
invalid
out dx, al
add dword [eax], eax
test al, al
je 0x45491b
ja 0x454924
aas
jb 0x45492f
mul dword [esi]
test eax, 0xd6fb61d
dec edi
push edx
push edx
loop 0x454947
inc esp
ja 0x45490e
push edx
add al, 0xe9
enter 0xffffffffffffee12, 1
call fcn.00473406
test al, al
je 0x454936
dec ebp
sbb bh, byte [edi + 0x3c9fcd0e]
xchg edi, eax
adc eax, 0xfee51c31
in eax, 0xfe
aam 0xe8
rcr al, 0xe9
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x230]
call fcn.00405600
push str..ccc
call fcn.00491757
pop ecx
push eax
push str..ccc
lea ecx, [ebp - 0x230]
call fcn.00405710
test esi, esi
jle 0x4549a7
mov eax, esi
cdq
push edx
push eax
lea eax, [ebp - 0x290]
push eax
call int.0045572d
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.00405600
push 0
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 4
call fcn.0041f8c0
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 0x454a95
call fcn.0047337c
test al, al
je 0x4549f3
lcall 0x2231, 0xe178cb7a
popal
and esi, dword [ebx - 0x5f8a4375]
cmp esi, dword [edx - 0x33]
leave
stosd dword es:[edi], eax
mov al, byte [0xa5a52fd1]
and byte [eax - 0x2af4a75], cl
invalid
call fcn.004736b8
test al, al
je 0x454a0d
lds di, [edx - 0x47733bb0]
test byte [ebx - 0x72dceb0b], dh
enter 0xfffffffffffff7bc, 0x1f
call fcn.00473742
test al, al
je 0x454a2d
in eax, 0xfe
xor dword [edi + 0x69d5da87], ecx
pushal
frstor dword [ebp - 0x3d3beff3]
arpl di, dx
xchg ebp, eax
push edx
mov byte [ebx - 0x427ccb2a], dh
in al, 0xfd
invalid
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 0x454a95
invalid
call fcn.00473856
test al, al
je 0x454a6d
sbb dl, dl
sbb dword [edx + 0x29], edx
enter 0xffffffffffffdc73, 0xffffffffffffffec
rcr byte [ecx], cl
push edx
sub eax, ecx
jae 0x454a38
in al, dx
invalid
cmp esi, 0xa
jge 0x454b91
push 0
inc esi
mov byte [ebp - 4], 3
push 1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x2b0], esi
call fcn.0041f8c0
jmp 0x4548b2
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push dword [ebp - 0x2ac]
call fcn.0048fa36
pop ecx
pop ecx
call fcn.00473337
test al, al
je 0x454add
mov al, byte [edx]
mov cl, 0xc1
push ecx
add cl, al
rcl dword [ecx], 0xc1
scasb al, byte es:[edi]
int 0xbe
loope 0x454a54
add eax, 0x3f55e473
pop esp
iretd
call fcn.00473673
test al, al
je 0x454aff
cli
sub ecx, dword [edi + ebp*2 - 0x6d]
into
xchg ah, cl
push edx
in eax, dx
mov bl, 0xc9
cmc
fdiv st(3)
mov ah, 0x69
out 0x5f, al
mov ch, 4
push edx
invalid
call fcn.00473490
test al, al
je 0x454b20
push ebp
aad 0x53
rcl byte [esi], 0xfa
test eax, 0xc647f467
sar byte [ecx + ecx*2 - 0x40], 1
loop 0x454ac3
jbe 0x454b8c
or ah, byte [ebx + 0x19]
rol dword [ebx + eax*4 - 0x21b43], 0xff
or byte [ebp - 0x22f7b], cl
dec dword [ebx + 0x5e83d035]
add byte [edi], cl
inc ebx
test eax, edx
std
invalid
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 0x454b60
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 0x454b91
call fcn.0047344b
test al, al
je 0x454b86
out dx, al
retf
push 5
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
adc eax, sym.imp.KERNEL32.dll_MoveFileExW
xor ebx, ebx
lea ecx, [ebp - 0x230]
xor esi, esi
push ebx
inc esi
push esi
call fcn.0041f8c0
push ebx
push esi
lea ecx, [ebp - 0x260]
call fcn.0041f8c0
push ebx
push esi
lea ecx, [ebp - 0x278]
call fcn.0041f8c0
push ebx
push esi
lea ecx, [ebp - 0x2a8]
call fcn.0041f8c0
push ebx
push esi
lea ecx, [ebp - 0x248]
call fcn.0041f8c0
call fcn.0046d264
ret