Function at 0x402100
Capabilities:
Check if file exists
Get common file path
Get disk information
Move file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x41d8
call fcn.00410780
mov eax, dword [0x41800c]
xor eax, esp
mov dword [esp + 0x41d4], eax
push esi
push edi
mov edi, dword [ebp + 0x10]
push ecx
lea ecx, [esp + 0xcc]
call fcn.00401e40
movaps xmm0, xmmword [0x415f70]
lea eax, [esp + 0x174]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
mov dword [esp + 0x168], 0xcd
movaps xmm0, xmmword [0x416380]
push eax
movups xmmword [esp + 0x14c], xmm0
lea eax, [esp + 0x13c]
mov dword [esp + 0x170], 0xe0
movaps xmm0, xmmword [0x416170]
push eax
movups xmmword [esp + 0x160], xmm0
mov dword [esp + 0x178], 0xe1
call fcn.004033f0
push ecx
lea ecx, [esp + 0xcc]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0xe4]
call fcn.00401e40
movaps xmm0, xmmword [0x415f80]
lea eax, [esp + 0x178]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
movaps xmm0, xmmword [0x4163b0]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x416040]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x416360]
movups xmmword [esp + 0x170], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0xe4]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x3c]
call fcn.00401e40
movaps xmm0, xmmword [0x415fa0]
lea eax, [esp + 0x1a4]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
mov dword [esp + 0x198], 0x99
movaps xmm0, xmmword [0x416010]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [str._zoh]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x415fc0]
movups xmmword [esp + 0x170], xmm0
mov dword [esp + 0x1a4], 0xf1
movaps xmm0, xmmword [0x4162b0]
movups xmmword [esp + 0x180], xmm0
mov dword [esp + 0x1a8], 0xd9
movaps xmm0, xmmword [0x416110]
movups xmmword [esp + 0x190], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x3c]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x3c]
call fcn.00401e40
movaps xmm0, xmmword [0x415f50]
movups xmmword [esp + 0x138], xmm0
lea eax, [esp + 0x188]
movaps xmm0, xmmword [0x415ff0]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x4162d0]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x415f30]
movups xmmword [esp + 0x170], xmm0
movaps xmm0, xmmword [0x416060]
movups xmmword [esp + 0x180], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x3c]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x3c]
call fcn.00401e40
movaps xmm0, xmmword [0x416280]
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x30], 0xa6
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x38], 0xc7
movups xmmword [esp + 0x24], xmm0
mov dword [esp + 0x3c], 0xa4
call fcn.004033f0
push ecx
lea ecx, [esp + 0x3c]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x60]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
lea eax, [esp + 0x208]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
movaps xmm0, xmmword [0x416230]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x416290]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x416310]
movups xmmword [esp + 0x170], xmm0
movaps xmm0, xmmword [0x4161b0]
movups xmmword [esp + 0x180], xmm0
movaps xmm0, xmmword [0x416090]
movups xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [0x4163c0]
movups xmmword [esp + 0x1a0], xmm0
movaps xmm0, xmmword [0x4162e0]
movups xmmword [esp + 0x1b0], xmm0
movaps xmm0, xmmword [0x4161f0]
movups xmmword [esp + 0x1c0], xmm0
movaps xmm0, xmmword [0x416100]
movups xmmword [esp + 0x1d0], xmm0
movaps xmm0, xmmword [0x416160]
movups xmmword [esp + 0x1e0], xmm0
movaps xmm0, xmmword [0x4162f0]
movups xmmword [esp + 0x1f0], xmm0
movaps xmm0, xmmword [0x416270]
movups xmmword [esp + 0x200], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x60]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x6c]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
lea eax, [esp + 0x200]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
mov dword [esp + 0x1f8], 0x9f
movaps xmm0, xmmword [0x416230]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x416290]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x416310]
movups xmmword [esp + 0x170], xmm0
mov dword [esp + 0x204], 0xa0
movaps xmm0, xmmword [0x4161b0]
movups xmmword [esp + 0x180], xmm0
movaps xmm0, xmmword [0x416090]
movups xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [0x4163c0]
movups xmmword [esp + 0x1a0], xmm0
movaps xmm0, xmmword [0x4162e0]
movups xmmword [esp + 0x1b0], xmm0
movaps xmm0, xmmword [0x416210]
movups xmmword [esp + 0x1c0], xmm0
movaps xmm0, xmmword [0x415fe0]
movups xmmword [esp + 0x1d0], xmm0
movaps xmm0, xmmword [0x415f40]
movups xmmword [esp + 0x1e0], xmm0
movaps xmm0, xmmword [0x416300]
movups xmmword [esp + 0x1f0], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x6c]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x78]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
lea eax, [esp + 0x204]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
mov dword [esp + 0x1f8], 0x97
movaps xmm0, xmmword [0x416230]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x416290]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x416310]
movups xmmword [esp + 0x170], xmm0
mov dword [esp + 0x204], 0xa0
movaps xmm0, xmmword [0x4161b0]
movups xmmword [esp + 0x180], xmm0
mov dword [esp + 0x208], 0xd0
movaps xmm0, xmmword [0x416090]
movups xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [0x4163c0]
movups xmmword [esp + 0x1a0], xmm0
movaps xmm0, xmmword [0x4162e0]
movups xmmword [esp + 0x1b0], xmm0
movaps xmm0, xmmword [0x416350]
movups xmmword [esp + 0x1c0], xmm0
movaps xmm0, xmmword [0x416150]
movups xmmword [esp + 0x1d0], xmm0
movaps xmm0, xmmword [0x416080]
movups xmmword [esp + 0x1e0], xmm0
movaps xmm0, xmmword [0x416120]
movups xmmword [esp + 0x1f0], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x78]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x84]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
lea eax, [esp + 0x1f0]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
mov dword [esp + 0x1e8], 0x97
movaps xmm0, xmmword [0x416230]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x416290]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x416310]
movups xmmword [esp + 0x170], xmm0
mov dword [esp + 0x1f4], 0xd6
movaps xmm0, xmmword [0x4161b0]
movups xmmword [esp + 0x180], xmm0
movaps xmm0, xmmword [0x416090]
movups xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [0x4163c0]
movups xmmword [esp + 0x1a0], xmm0
movaps xmm0, xmmword [0x4162e0]
movups xmmword [esp + 0x1b0], xmm0
movaps xmm0, xmmword [0x416200]
movups xmmword [esp + 0x1c0], xmm0
movaps xmm0, xmmword [0x4160c0]
movups xmmword [esp + 0x1d0], xmm0
movaps xmm0, xmmword [0x416180]
movups xmmword [esp + 0x1e0], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x84]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x90]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
lea eax, [esp + 0x1ec]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
mov dword [esp + 0x1e8], 0x9a
movaps xmm0, xmmword [0x416230]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x416290]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x416310]
movups xmmword [esp + 0x170], xmm0
movaps xmm0, xmmword [0x4161b0]
movups xmmword [esp + 0x180], xmm0
movaps xmm0, xmmword [0x416090]
movups xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [0x4163c0]
movups xmmword [esp + 0x1a0], xmm0
movaps xmm0, xmmword [0x4162e0]
movups xmmword [esp + 0x1b0], xmm0
movaps xmm0, xmmword [0x4161e0]
movups xmmword [esp + 0x1c0], xmm0
movaps xmm0, xmmword [0x416020]
movups xmmword [esp + 0x1d0], xmm0
movaps xmm0, xmmword [0x416070]
movups xmmword [esp + 0x1e0], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x90]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x3c]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
movups xmmword [esp + 0x138], xmm0
movaps xmm0, xmmword [str.7h]
movups xmmword [esp + 0x148], xmm0
movaps xmm0, xmmword [0x416250]
movups xmmword [esp + 0x158], xmm0
lea eax, [esp + 0x1e0]
mov dword [esp + 0x1d8], 0xc7
movaps xmm0, xmmword [0x416050]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x168], xmm0
push eax
movaps xmm0, xmmword [0x4160b0]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x17c], xmm0
push eax
movaps xmm0, xmmword [0x416190]
movups xmmword [esp + 0x190], xmm0
mov dword [esp + 0x1e4], 0xca
movaps xmm0, xmmword [0x416140]
movups xmmword [esp + 0x1a0], xmm0
movaps xmm0, xmmword [0x416220]
movups xmmword [esp + 0x1b0], xmm0
movaps xmm0, xmmword [0x4161c0]
movups xmmword [esp + 0x1c0], xmm0
movaps xmm0, xmmword [0x4160a0]
movups xmmword [esp + 0x1d0], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x3c]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x9c]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
lea eax, [esp + 0x1fc]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
mov dword [esp + 0x1f8], 0x98
movaps xmm0, xmmword [str.7h]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x416250]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x416050]
movups xmmword [esp + 0x170], xmm0
movaps xmm0, xmmword [0x4160b0]
movups xmmword [esp + 0x180], xmm0
movaps xmm0, xmmword [0x416190]
movups xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [0x416140]
movups xmmword [esp + 0x1a0], xmm0
movaps xmm0, xmmword [0x416220]
movups xmmword [esp + 0x1b0], xmm0
movaps xmm0, xmmword [0x416260]
movups xmmword [esp + 0x1c0], xmm0
movaps xmm0, xmmword [0x415fb0]
movups xmmword [esp + 0x1d0], xmm0
movaps xmm0, xmmword [0x4161d0]
movups xmmword [esp + 0x1e0], xmm0
movaps xmm0, xmmword [0x4163d0]
movups xmmword [esp + 0x1f0], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x9c]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0xa8]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
movups xmmword [esp + 0x138], xmm0
movaps xmm0, xmmword [str.7h]
movups xmmword [esp + 0x148], xmm0
movaps xmm0, xmmword [0x416250]
movups xmmword [esp + 0x158], xmm0
movaps xmm0, xmmword [0x416050]
movups xmmword [esp + 0x168], xmm0
movaps xmm0, xmmword [0x4160b0]
movups xmmword [esp + 0x178], xmm0
movaps xmm0, xmmword [0x416190]
movups xmmword [esp + 0x188], xmm0
lea eax, [esp + 0x1f4]
mov dword [esp + 0x1e8], 0x98
movaps xmm0, xmmword [0x416140]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x198], xmm0
push eax
movaps xmm0, xmmword [0x416220]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x1ac], xmm0
push eax
movaps xmm0, xmmword [0x416240]
movups xmmword [esp + 0x1c0], xmm0
mov dword [esp + 0x1f4], 0xd0
movaps xmm0, xmmword [0x4160f0]
movups xmmword [esp + 0x1d0], xmm0
mov dword [esp + 0x1f8], 0xd0
movaps xmm0, xmmword [0x415f10]
movups xmmword [esp + 0x1e0], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0xa8]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0xb4]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
lea eax, [esp + 0x1f8]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
movaps xmm0, xmmword [str.7h]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x416250]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x416050]
movups xmmword [esp + 0x170], xmm0
movaps xmm0, xmmword [0x4160b0]
movups xmmword [esp + 0x180], xmm0
movaps xmm0, xmmword [0x416190]
movups xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [0x416140]
movups xmmword [esp + 0x1a0], xmm0
movaps xmm0, xmmword [0x416220]
movups xmmword [esp + 0x1b0], xmm0
movaps xmm0, xmmword [0x416330]
movups xmmword [esp + 0x1c0], xmm0
movaps xmm0, xmmword [0x416130]
movups xmmword [esp + 0x1d0], xmm0
movaps xmm0, xmmword [0x415f60]
movups xmmword [esp + 0x1e0], xmm0
movaps xmm0, xmmword [str.bw]
movups xmmword [esp + 0x1f0], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0xb4]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0xc0]
call fcn.00401e40
movaps xmm0, xmmword [0x415ee0]
movups xmmword [esp + 0x138], xmm0
movaps xmm0, xmmword [str.7h]
movups xmmword [esp + 0x148], xmm0
movaps xmm0, xmmword [0x416250]
movups xmmword [esp + 0x158], xmm0
movaps xmm0, xmmword [0x416050]
movups xmmword [esp + 0x168], xmm0
movaps xmm0, xmmword [0x4160b0]
movups xmmword [esp + 0x178], xmm0
movaps xmm0, xmmword [0x416190]
movups xmmword [esp + 0x188], xmm0
movaps xmm0, xmmword [0x416140]
movups xmmword [esp + 0x198], xmm0
movaps xmm0, xmmword [0x416220]
movups xmmword [esp + 0x1a8], xmm0
lea eax, [esp + 0x1e4]
mov dword [esp + 0x1d8], 0xd7
movaps xmm0, xmmword [0x416320]
lea ecx, [esp + 0x14]
push eax
movups xmmword [esp + 0x1bc], xmm0
lea eax, [esp + 0x13c]
mov dword [esp + 0x1e0], 0xc7
movaps xmm0, xmmword [0x415f20]
push eax
movups xmmword [esp + 0x1d0], xmm0
mov dword [esp + 0x1e8], 0xe5
call fcn.004033f0
push ecx
lea ecx, [esp + 0xc0]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
push ecx
lea ecx, [esp + 0x48]
call fcn.00401e40
movaps xmm0, xmmword [0x415f90]
lea eax, [esp + 0x1b0]
movups xmmword [esp + 0x138], xmm0
lea ecx, [esp + 0x14]
mov dword [esp + 0x1a8], 0xc1
movaps xmm0, xmmword [0x415ef0]
movups xmmword [esp + 0x148], xmm0
push eax
movaps xmm0, xmmword [0x415f00]
lea eax, [esp + 0x13c]
movups xmmword [esp + 0x15c], xmm0
push eax
movaps xmm0, xmmword [0x4162a0]
movups xmmword [esp + 0x170], xmm0
mov dword [esp + 0x1b4], 0x56
movaps xmm0, xmmword [0x4161a0]
movups xmmword [esp + 0x180], xmm0
movaps xmm0, xmmword [0x416030]
movups xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [0x4163a0]
movups xmmword [esp + 0x1a0], xmm0
call fcn.004033f0
push ecx
lea ecx, [esp + 0x48]
push dword [eax + 4]
push dword [eax]
call fcn.00403470
sub esp, 0xc
lea eax, [esp + 0xd4]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x50]
call fcn.00401cb0
add esp, 0xc
mov ecx, eax
call fcn.00403710
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call esi
lea ecx, [esp + 0x44]
call fcn.00403720
sub esp, 0xc
lea eax, [esp + 0xec]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x50]
call fcn.00401cb0
add esp, 0xc
mov ecx, eax
call fcn.00403710
push eax
call esi
lea ecx, [esp + 0x44]
mov dword [0x419504], eax
call fcn.00403720
push 0x208
push 0
lea eax, [esp + 0x10e0]
push eax
call fcn.00405e70
add esp, 8
lea edx, [esp + 0x10dc]
call fcn.00401e60
add esp, 4
lea ecx, [esp + 0x1c]
push edi
call fcn.00403540
mov esi, eax
lea eax, [esp + 0x10d8]
push ecx
push eax
lea ecx, [esp + 0xd0]
call fcn.00403540
push eax
lea ecx, [esp + 0xe8]
call fcn.00403d40
add esp, 4
lea ecx, [esp + 0x48]
mov edx, eax
call fcn.00403c90
add esp, 4
lea ecx, [esp + 0xf8]
mov edx, eax
push esi
call fcn.00403d20
add esp, 4
lea ecx, [esp + 0x44]
call fcn.004034e0
lea ecx, [esp + 0xe0]
call fcn.004034e0
lea ecx, [esp + 0xc8]
call fcn.004034e0
lea ecx, [esp + 0x1c]
call fcn.004034e0
push 0x3e8
lea eax, [esp + 0x524]
push 0
push eax
call fcn.00405e70
add esp, 0xc
lea eax, [esp + 0x908]
push 0
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea edx, [esp + 0x908]
lea ecx, [esp + 0x16c8]
call fcn.00403e50
lea edx, [esp + 0x908]
lea ecx, [esp + 0x1ab0]
call fcn.00403e50
lea edx, [esp + 0x908]
lea ecx, [esp + 0x2280]
call fcn.00403e50
lea edx, [esp + 0x908]
lea ecx, [esp + 0x2a50]
call fcn.00403e50
lea edx, [esp + 0x908]
lea ecx, [esp + 0x3620]
call fcn.00403e50
push 0x3e8
lea eax, [esp + 0xcf4]
push 0
push eax
call fcn.00405e70
add esp, 0xc
lea eax, [esp + 0xcf0]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x400
lea eax, [esp + 0x3224]
push 0
push eax
call fcn.00405e70
add esp, 0xc
push 3
lea eax, [esp + 0xcf4]
mov dword [esp + 0x124], 0
push eax
lea eax, [esp + 0x118]
xorps xmm0, xmm0
push eax
movaps xmmword [esp + 0x11c], xmm0
call fcn.00407d18
add esp, 0xc
lea eax, [esp + 0xcf0]
push 3
push eax
lea eax, [esp + 0x528]
push eax
call fcn.00407d18
add esp, 0xc
lea edx, [esp + 0x520]
lea ecx, [esp + 0x12e0]
call fcn.00403e50
lea edx, [esp + 0x520]
lea ecx, [esp + 0x1e98]
call fcn.00403e50
lea edx, [esp + 0x520]
lea ecx, [esp + 0x2668]
call fcn.00403e50
lea edx, [esp + 0x520]
lea ecx, [esp + 0x2e38]
call fcn.00403e50
lea edx, [esp + 0x520]
lea ecx, [esp + 0x3a08]
call fcn.00403e50
lea eax, [esp + 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x4033d9
lea eax, [esp + 0xcf0]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403070
sub eax, edx
sar eax, 1
add eax, 0xfffffffc
push eax
lea eax, [esp + 0xcf4]
push eax
lea eax, [esp + 0x3228]
push eax
call fcn.00407d18
add esp, 0xc
lea eax, [esp + 0x3220]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4033d9
push 0x3e8
lea eax, [esp + 0x13c]
push 0
push eax
call fcn.00405e70
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x322c]
add esp, 0xc
push eax
lea eax, [esp + 0x13c]
push 0x415e9c
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x138]
call fcn.00402060
sub esp, 0xc
lea eax, [esp + 0x68]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x16c8]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
sub esp, 0xc
lea eax, [esp + 0x74]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x1ab0]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
sub esp, 0xc
lea eax, [esp + 0x80]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x2280]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
sub esp, 0xc
lea eax, [esp + 0x8c]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x2a50]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
sub esp, 0xc
lea eax, [esp + 0x98]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x3620]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
sub esp, 0xc
lea eax, [esp + 0xa4]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x12e0]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
sub esp, 0xc
lea eax, [esp + 0xb0]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x1e98]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
sub esp, 0xc
lea eax, [esp + 0xbc]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x2668]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
sub esp, 0xc
lea eax, [esp + 0xc8]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x2e38]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
sub esp, 0xc
lea eax, [esp + 0x44]
mov ecx, esp
push eax
call fcn.00403410
lea ecx, [esp + 0x28]
call fcn.00401b20
add esp, 0xc
mov ecx, eax
call fcn.004034d0
mov edx, eax
lea ecx, [esp + 0x3a08]
call fcn.00403e60
lea ecx, [esp + 0x1c]
call fcn.004034e0
push 0x3e8
lea eax, [esp + 0x3df4]
push 0
push eax
call fcn.00405e70
add esp, 0xc
lea eax, [esp + 0x12e0]
push eax
lea eax, [esp + 0x3df4]
push 0x415e9c
push eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
lea eax, [esp + 0x16d4]
add esp, 0xc
push eax
lea eax, [esp + 0x12e4]
push eax
call esi
lea eax, [esp + 0x1ab0]
push eax
lea eax, [esp + 0x1e9c]
push eax
call esi
lea eax, [esp + 0x2280]
push eax
lea eax, [esp + 0x266c]
push eax
call esi
lea eax, [esp + 0x2a50]
push eax
lea eax, [esp + 0x2e3c]
push eax
call esi
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x16c8]
call fcn.00402060
push 0
call fcn.00407c2f
int3