Function at 0x408580
Capabilities:
Delete file
Terminate process

Disassembly:
push ebp
lea ebp, [esp - 0x298]
sub esp, 0x318
mov eax, dword [0x41228c]
xor eax, ebp
mov dword [ebp + 0x294], eax
mov eax, dword [ebp + 0x2a0]
push ebx
mov ebx, dword [sym.imp.MSVCR100.dll_strtok]
push esi
push edi
push 0x40ec3c
push eax
call ebx
pop ecx
pop ecx
push 9
mov edi, str.MOVEFILE
mov esi, eax
pop ecx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x408756
mov esi, 0x103
push esi
xor edi, edi
lea eax, [ebp + 0x191]
push edi
push eax
mov byte [ebp + 0x190], dl
call sub.MSVCR100.dll_memset
push esi
lea eax, [ebp - 0x77]
push edi
push eax
mov byte [ebp - 0x78], 0
call sub.MSVCR100.dll_memset
push 0x40ec4c
push edi
call ebx
push 0x40ec50
push edi
mov dword [ebp - 0x7c], eax
call ebx
push dword [ebp - 0x7c]
mov ebx, dword [sym.imp.MSVCR100.dll_sprintf]
push 0x40ec54
push eax
mov dword [ebp - 0x80], eax
lea eax, [ebp + 0x190]
push 0x40ec68
push eax
call ebx
push esi
lea eax, [ebp + 0x8d]
push edi
push eax
mov byte [ebp + 0x8c], 0
call sub.MSVCR100.dll_memset
mov esi, dword [ebp - 0x7c]
add esp, 0x48
push str.receipts
push esi
call fcn.0040c08e
pop ecx
pop ecx
test eax, eax
je 0x40865d
push 0x412400
push str._slib_bundles_receipts
jmp 0x408695
push str.merged_rt.jar
push esi
call fcn.0040c08e
pop ecx
pop ecx
test eax, eax
je 0x40867a
push 0x412400
push str._slib_bundles_tmpmerged_rt.jar
jmp 0x408695
push str.merged_resources.jar
push esi
call fcn.0040c08e
pop ecx
pop ecx
test eax, eax
je 0x4086d5
push 0x412400
push str._slib_bundles_tmpmerged_resources.jar
lea eax, [ebp + 0x8c]
push eax
call ebx
add esp, 0xc
push 0x40ed34
push dword [ebp - 0x80]
lea eax, [ebp - 0x78]
push 0x40ed48
push eax
call ebx
push 1
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x8c]
push eax
lea eax, [ebp + 0x190]
push eax
call fcn.0040c08e
add esp, 0x20
jmp 0x40880a
push str.finished
push esi
call fcn.0040c08e
pop ecx
pop ecx
test eax, eax
je 0x408808
push 0x412400
lea eax, [ebp + 0x8c]
push str._slib_bundles_tmp_finished
push eax
call ebx
add esp, 0xc
push edi
push 0x80
push 1
push edi
push edi
push 0x40000000
lea eax, [ebp + 0x8c]
push eax
call dword [sym.imp.kernel32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x408732
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x50
jne 0x408808
push esi
call dword [sym.imp.kernel32.dll_CloseHandle]
test eax, eax
je 0x408808
lea eax, [ebp + 0x190]
push eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
xor eax, eax
inc eax
jmp 0x40880a
push 0xb
mov edi, 0x40ed50
mov esi, eax
pop ecx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40876d
push edx
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, eax
push 8
mov edi, str.MOVEDIR
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x408808
mov esi, 0x103
push esi
mov byte [ebp + 0x190], al
xor edi, edi
lea eax, [ebp + 0x191]
push edi
push eax
call sub.MSVCR100.dll_memset
push esi
lea eax, [ebp - 0x77]
push edi
push eax
mov byte [ebp - 0x78], 0
call sub.MSVCR100.dll_memset
push 0x40ed64
push edi
call ebx
push 0x40ed68
push edi
mov esi, eax
call ebx
push esi
mov esi, dword [sym.imp.MSVCR100.dll_sprintf]
mov edi, eax
push 0x40ed6c
push edi
lea eax, [ebp + 0x190]
push str._s_s_s
push eax
call esi
push str.appdatalocallow
push edi
lea eax, [ebp - 0x78]
push str._s_s
push eax
call esi
add esp, 0x4c
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x190]
push 0x412400
push eax
call fcn.0040c08e
add esp, 0xc
jmp 0x40880a
xor eax, eax
mov ecx, dword [ebp + 0x294]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040b376
add ebp, 0x298
leave
ret