Function at 0x48058f
Capabilities:
Delete file

Disassembly:
push ebp
sub esp, 0xcd8
lea ebp, [esp - 4]
mov eax, dword [0x84dfc0]
xor eax, ebp
mov dword [ebp + 0xcd8], eax
push 0xc
mov eax, 0x7647ea
call fcn.0048d201
mov eax, dword [ebp + 0xce8]
mov esi, dword [ebp + 0xce4]
mov edi, 0x31f
xor ebx, ebx
push edi
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x39]
push ebx
push eax
mov dword [ebp - 0x18], ecx
mov byte [ebp + 0x38], bl
call fcn.0048d310
push edi
lea eax, [ebp + 0x359]
push ebx
push eax
mov byte [ebp + 0x358], bl
call fcn.0048d310
push 8
pop ecx
xor eax, eax
push 8
lea edi, [ebp + 0xc91]
mov byte [ebp + 0xc90], bl
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp + 0xcb5]
mov byte [ebp + 0xcb4], bl
rep stosd dword es:[edi], eax
mov edi, 0x206
push edi
mov word [ebp + 0x880], ax
lea eax, [ebp + 0x882]
push ebx
push eax
call fcn.0048d310
xor eax, eax
push edi
mov word [ebp + 0xa88], ax
lea eax, [ebp + 0xa8a]
push ebx
push eax
call fcn.0048d310
xor eax, eax
push edi
mov word [ebp + 0x678], ax
lea eax, [ebp + 0x67a]
push ebx
push eax
call fcn.0048d310
add esp, 0x3c
push 0x208
lea eax, [ebp + 0xa88]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp + 0xa88]
push eax
lea eax, [ebp + 0x880]
push str._s.tmp
push eax
call edi
lea eax, [ebp + 0xcb4]
push eax
lea eax, [ebp + 0xa88]
push eax
call fcn.0047199f
mov ecx, dword [ebp - 0x18]
add esp, 0x14
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x358]
push eax
push ebx
push esi
call fcn.0048022a
mov esi, eax
cmp esi, ebx
je 0x48078d
lea esi, [ebp + 0x358]
lea eax, [ebp + 0xcb4]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x4806ea
cmp cl, bl
je 0x4806e6
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4806ea
inc eax
inc eax
inc esi
inc esi
cmp cl, bl
jne 0x4806cc
xor eax, eax
jmp 0x4806ef
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4806fa
xor eax, eax
jmp 0x48078f
cmp dword [ebp - 0x10], ebx
je 0x480706
push ebx
push ebx
call dword [ebp - 0x10]
pop ecx
pop ecx
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp]
push eax
call fcn.0047205d
pop ecx
pop ecx
cmp dword [ebp + 0x18], 8
mov eax, dword [ebp + 4]
mov dword [ebp - 4], ebx
jae 0x480724
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.004720f1
pop ecx
pop ecx
cmp dword [ebp + 0x34], 0x10
mov eax, dword [ebp + 0x20]
mov byte [ebp - 4], 1
jae 0x480740
lea eax, [ebp + 0x20]
push dword [ebp - 0x10]
lea ecx, [ebp + 0x880]
push ecx
push eax
lea ecx, [ebp - 0x11]
call fcn.00473c39
test eax, eax
jne 0x4807b4
push ebx
push 1
lea ecx, [ebp + 0x1c]
xor esi, esi
call fcn.0041c8f0
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp]
call fcn.00449c25
lea eax, [ebp + 0x880]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x10], ebx
je 0x48078d
push 0x65
push ebx
call dword [ebp - 0x10]
pop ecx
pop ecx
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xcd8]
xor ecx, ebp
call fcn.0048d1f2
add ebp, 0xcdc
leave
ret 8
lea eax, [ebp + 0xc90]
push eax
lea eax, [ebp + 0x880]
push eax
call fcn.0047199f
pop ecx
pop ecx
lea esi, [ebp + 0x358]
lea eax, [ebp + 0xc90]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x4807f3
cmp cl, bl
je 0x4807ef
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4807f3
inc eax
inc eax
inc esi
inc esi
cmp cl, bl
jne 0x4807d5
xor eax, eax
jmp 0x4807f8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x480757
lea eax, [ebp + 0xa88]
push eax
lea eax, [ebp + 0x678]
push str._s.bak
push eax
call edi
add esp, 0xc
lea eax, [ebp + 0x678]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp + 0x678]
push eax
lea eax, [ebp + 0xa88]
push eax
call fcn.004914f5
lea eax, [ebp + 0xa88]
push eax
lea eax, [ebp + 0x880]
push eax
call fcn.004914f5
add esp, 0x10
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp + 0x1c]
call fcn.0041c8f0
or dword [ebp - 4], 0xffffffff
push ebx
push esi
lea ecx, [ebp]
call fcn.00449c25
mov edi, dword [ebp - 0x18]
mov eax, dword [edi]
cmp eax, ebx
je 0x48087b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi], ebx
mov ecx, dword [edi + 0x4c]
cmp ecx, ebx
je 0x480887
call fcn.0045867d
lea eax, [ebp + 0xa88]
push eax
call fcn.00471a37
pop ecx
cmp dword [ebp - 0x10], ebx
je 0x48078d
push 0x64
jmp 0x480787