Function at 0x5458c0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x5458c8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x545f77
push dword fs:[eax]
mov dword fs:[eax], esp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x58a950]
cmp byte [eax], 0
jne case.default.0x545a30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
cmp byte [eax + 0x24], 0
jne case.default.0x545a30
xor ebx, ebx
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 4
jae 0x5459e6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor edx, edx
call fcn.0040d75c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0040d53c
test al, al
je 0x5459c4
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.004799e4
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x18]
call fcn.00405a0c
jne 0x5459c4
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 1
jne 0x5459c0
mov eax, dword [0x58b1cc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x10]
call fcn.00405638
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0040daf4
mov edx, dword [ebp - 0x10]
mov eax, dword [0x58abe0]
call fcn.00405638
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0040d9b4
mov edx, dword [ebp - 0x14]
mov eax, dword [0x58b304]
call fcn.00405638
mov eax, dword [0x58a9f8]
mov byte [eax], 1
mov bl, 1
jmp 0x545a04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0040d53c
test al, al
je 0x545a04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.00405a74
push eax
call sub.kernel32.dll_DeleteFileA
jmp 0x545a04
mov bl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0040d53c
test al, al
je 0x545a04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor edx, edx
call fcn.0040d75c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
test bl, bl
je 0x545eaf
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 4]
cmp eax, 6
ja case.default.0x545a30
jmp dword [eax*4 + 0x545a37]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040c598
mov eax, dword [ebp - 0x18]
push eax
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.004799e4
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.0040c598
mov eax, dword [ebp - 0x1c]
pop edx
call fcn.0040c7a4
test eax, eax
jne 0x545ad1
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
call fcn.004058fc
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.0054519c
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
jmp case.default.0x545a30
mov eax, dword [ebp - 4]
cmp dword [eax + 0x20], 2
jge case.default.0x545a30
mov eax, dword [ebp - 4]
cmp byte [eax + 0x24], 0
jne case.default.0x545a30
mov eax, dword [ebp - 4]
inc dword [eax + 0x20]
jmp 0x545913
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040c598
mov eax, dword [ebp - 0x28]
push eax
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.004799e4
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
call fcn.0040c598
mov eax, dword [ebp - 0x2c]
pop edx
call fcn.0040c7a4
test eax, eax
jne 0x545c0b
mov dl, 1
mov eax, dword [0x41c38c]
call fcn.00404674
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x545b96
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00421988
push 0
push 0
mov eax, dword [ebp - 8]
call fcn.004211b8
mov eax, dword [0x58b48c]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
call fcn.00484390
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x545bc0
mov eax, dword [ebp - 8]
call fcn.004046a4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x34]
call fcn.004058fc
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.0054519c
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
jmp 0x545c28
mov eax, dword [ebp - 4]
cmp dword [eax + 0x20], 2
jge 0x545c28
mov eax, dword [ebp - 4]
cmp byte [eax + 0x24], 0
jne 0x545c28
mov eax, dword [ebp - 4]
inc dword [eax + 0x20]
jmp 0x545913
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp case.default.0x545a30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040c598
mov eax, dword [ebp - 0x38]
push eax
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.004799e4
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.0040c598
mov eax, dword [ebp - 0x3c]
pop edx
call fcn.0040c7a4
test eax, eax
jne 0x545ce4
mov eax, dword [0x58b1cc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x10]
call fcn.00405638
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0040daf4
mov edx, dword [ebp - 0x44]
mov eax, dword [0x58abe0]
call fcn.00405638
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0040d9b4
mov edx, dword [ebp - 0x48]
mov eax, dword [0x58b304]
call fcn.00405638
mov eax, dword [0x58a9f8]
mov byte [eax], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
jmp 0x545d01
mov eax, dword [ebp - 4]
cmp dword [eax + 0x20], 2
jge 0x545d01
mov eax, dword [ebp - 4]
cmp byte [eax + 0x24], 0
jne 0x545d01
mov eax, dword [ebp - 4]
inc dword [eax + 0x20]
jmp 0x545913
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp case.default.0x545a30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.00545738
test al, al
je 0x545d50
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
jmp 0x545d6d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x20], 2
jge 0x545d6d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x24], 0
jne 0x545d6d
mov eax, dword [ebp - 4]
inc dword [eax + 0x20]
jmp 0x545913
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp case.default.0x545a30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x4c]
call fcn.004058fc
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.0054519c
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp case.default.0x545a30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x50]
call fcn.004058fc
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.0054519c
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp case.default.0x545a30
mov eax, dword [0x58a950]
cmp byte [eax], 0
jne 0x545e96
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.00545738
test al, al
jne 0x545e8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor edx, edx
call fcn.0040d75c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.00405a74
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp case.default.0x545a30
mov eax, dword [0x58a950]
cmp byte [eax], 0
jne case.default.0x545a30
mov eax, dword [ebp - 4]
cmp dword [eax + 0x20], 2
jge case.default.0x545a30
mov eax, dword [ebp - 4]
cmp byte [eax + 0x24], 0
jne case.default.0x545a30
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 1
jne 0x545f19
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor edx, edx
call fcn.0040d75c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.00405a74
push eax
call sub.kernel32.dll_DeleteFileA
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 4]
call fcn.005453c0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
inc dword [eax + 0x20]
jmp 0x545913
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x545f7e
lea eax, [ebp - 0x50]
mov edx, 0x12
call fcn.00405608
ret