Function at 0x10001241
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x734
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
push eax
call section..txt2
add esp, 4
and eax, 0xffff
test eax, eax
jne 0x1000126c
mov eax, 0x8000
jmp 0x1000151d
push 0x104
lea ecx, [ebp - 0x628]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
push 0
lea eax, [ebp - 0x72c]
push eax
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x628]
push edx
call fcn.10032480
add esp, 0x14
push 0
push 0
lea eax, [ebp - 0x72c]
push eax
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x524]
push edx
call fcn.100323e0
add esp, 0x14
push 0x10047050
call fcn.1001ba0c
add esp, 4
mov dword [ebp - 0x730], eax
cmp dword [ebp - 0x730], 0
jne 0x100012ea
mov eax, 0x8000
jmp 0x1000151d
lea edi, [ebp - 0x524]
lea edx, [ebp - 0x318]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x730]
lea edx, [ebp - 0x318]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
add edi, 0xffffffff
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x730]
push eax
call fcn.10032600
add esp, 4
lea ecx, [ebp - 0x318]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jne 0x1000137d
mov eax, 0x8000
jmp 0x1000151d
cmp dword [0x10061ff0], 0
jne 0x100013b0
push str.Setup
mov edx, dword [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10061ff0], eax
cmp dword [0x10061ff0], 0
jne 0x100013b0
mov eax, 0x8000
jmp 0x1000151d
push 0x104
lea eax, [ebp - 0x104]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
lea ecx, [ebp - 0x204]
push ecx
push 0
push 0
lea edx, [ebp - 0x104]
push edx
call fcn.10032480
add esp, 0x14
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x204]
push ecx
call dword [0x10061ff0]
add esp, 8
mov dword [ebp - 0x208], eax
mov edx, dword [ebp - 0x208]
mov dword [ebp - 0x734], edx
cmp dword [ebp - 0x734], 0x64
je 0x10001426
cmp dword [ebp - 0x734], 0x65
je 0x10001432
cmp dword [ebp - 0x734], 0x67
je 0x1000143e
jmp 0x1000144a
mov dword [ebp - 0x214], 0x10000
jmp 0x10001454
mov dword [ebp - 0x214], 0x8000
jmp 0x10001454
mov dword [ebp - 0x214], 0x2000
jmp 0x10001454
mov dword [ebp - 0x214], 0x8000
cmp dword [ebp - 0x210], 0
je 0x1000146a
mov eax, dword [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [ebp - 0x318]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x10047078
call fcn.1001ba0c
add esp, 4
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 0
jne 0x1000149d
mov eax, 0x8000
jmp 0x1000151d
lea edi, [ebp - 0x524]
lea edx, [ebp - 0x420]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x31c]
lea edx, [ebp - 0x420]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
add edi, 0xffffffff
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x31c]
push eax
call fcn.10032600
add esp, 4
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x214]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret