Function at 0x56a76c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x10
push 0
push 0
dec ecx
jne 0x56a774
push ecx
push ebx
push esi
xor eax, eax
push ebp
push 0x56ac79
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x6c5aa0
mov edx, 0x56ac90
call fcn.0040579c
mov eax, 0x6c5aa4
mov edx, 0x56ac90
call fcn.0040579c
mov eax, 0x6c5aa8
mov edx, 0x56ac90
call fcn.0040579c
mov eax, 0x6c5aac
mov edx, 0x56ac90
call fcn.0040579c
cmp byte [0x6c591f], 0
je 0x56a7df
mov eax, dword [0x5972a8]
cmp byte [eax], 0
jne 0x56ac41
lea eax, [ebp - 4]
call fcn.00512268
lea edx, [ebp - 0x4c]
mov eax, dword [0x597238]
mov eax, dword [eax]
call fcn.00478b38
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.0040b1ac
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.00409ec0
mov eax, dword [ebp - 0x44]
mov edx, 0x56ac9c
call fcn.00405b68
jne 0x56a853
lea edx, [ebp - 0x58]
mov eax, dword [0x597238]
mov eax, dword [eax]
call fcn.00478b38
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x54]
call fcn.0040b1ac
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.00409ec0
mov eax, dword [ebp - 0x50]
mov edx, 0x56acb4
call fcn.00405b68
je 0x56ac41
lea eax, [ebp - 0x10]
call fcn.0051356c
test al, al
je 0x56ac41
push 0
push 0
push 1
push 1
lea eax, [ebp - 0x5c]
mov ecx, 0x56acd0
mov edx, dword [ebp - 4]
call fcn.00405a68
mov ecx, dword [ebp - 0x5c]
mov eax, dword [0x597630]
mov eax, dword [eax]
mov edx, 0x56ace4
call fcn.0053bef8
test al, al
je 0x56ac3c
mov eax, dword [0x597338]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x56a8bb
mov eax, dword [0x597338]
mov eax, dword [eax]
mov eax, dword [eax + 0x368]
mov edx, 0x56ad10
call fcn.0045a018
lea eax, [ebp - 0x60]
mov ecx, 0x56acd0
mov edx, dword [ebp - 4]
call fcn.00405a68
mov ecx, dword [ebp - 0x60]
mov dl, 1
mov eax, dword [0x426b4c]
call fcn.00426c04
mov ebx, eax
push 0x56ad40
lea eax, [ebp - 8]
push eax
mov ecx, 0x56ad50
mov edx, 0x56ad68
mov eax, ebx
mov esi, dword [eax]
call dword [esi]
push 0x56ac90
lea eax, [ebp - 0x64]
push eax
mov ecx, 0x56ad78
mov edx, 0x56ad68
mov eax, ebx
mov esi, dword [eax]
call dword [esi]
mov edx, dword [ebp - 0x64]
mov eax, 0x6c5aa4
call fcn.0040579c
push 0x56ac90
lea eax, [ebp - 0x68]
push eax
mov ecx, 0x56ad90
mov edx, 0x56ad68
mov eax, ebx
mov esi, dword [eax]
call dword [esi]
mov edx, dword [ebp - 0x68]
mov eax, 0x6c5aac
call fcn.0040579c
mov eax, ebx
call fcn.00404848
lea eax, [ebp - 0x6c]
mov ecx, 0x56acd0
mov edx, dword [ebp - 4]
call fcn.00405a68
mov eax, dword [ebp - 0x6c]
call fcn.00405c1c
push eax
call sub.kernel32.dll_DeleteFileA
lea eax, [ebp - 0xc]
call fcn.00405748
mov dword [ebp - 0x18], 1
mov eax, dword [ebp - 8]
test eax, eax
je 0x56a981
sub eax, 4
mov eax, dword [eax]
mov esi, eax
test esi, esi
jle 0x56aa20
mov ebx, 1
mov eax, dword [ebp - 8]
cmp byte [eax + ebx - 1], 0x2e
jne 0x56a99e
mov al, 1
jmp 0x56a9af
mov eax, dword [ebp - 8]
test eax, eax
je 0x56a9aa
sub eax, 4
mov eax, dword [eax]
cmp eax, ebx
sete al
test al, al
je 0x56a9fd
mov eax, dword [ebp - 8]
test eax, eax
je 0x56a9bf
sub eax, 4
mov eax, dword [eax]
cmp eax, ebx
jne 0x56a9de
lea eax, [ebp - 0x70]
mov edx, dword [ebp - 8]
movzx edx, byte [edx + ebx - 1]
call fcn.00405930
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0xc]
call fcn.00405a24
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
call fcn.00403c18
mov edx, dword [ebp - 0x18]
mov dword [ebp + edx*4 - 0x44], eax
inc dword [ebp - 0x18]
lea eax, [ebp - 0xc]
call fcn.00405748
jmp 0x56aa18
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 8]
movzx edx, byte [edx + ebx - 1]
call fcn.00405930
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 0xc]
call fcn.00405a24
inc ebx
dec esi
jne 0x56a990
lea eax, [ebp - 0xc]
call fcn.00405748
mov dword [ebp - 0x18], 4
mov eax, dword [0x59724c]
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x56aa45
sub eax, 4
mov eax, dword [eax]
mov esi, eax
test esi, esi
jle 0x56ab06
mov ebx, 1
mov eax, dword [0x59724c]
mov eax, dword [eax]
cmp byte [eax + ebx - 1], 0x2e
jne 0x56aa66
mov al, 1
jmp 0x56aa81
mov eax, dword [0x59724c]
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x56aa7c
sub eax, 4
mov eax, dword [eax]
cmp eax, ebx
sete al
test al, al
je 0x56aade
mov eax, dword [0x59724c]
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x56aa9b
sub eax, 4
mov eax, dword [eax]
cmp eax, ebx
jne 0x56aabf
lea eax, [ebp - 0x7c]
mov edx, dword [0x59724c]
mov edx, dword [edx]
movzx edx, byte [edx + ebx - 1]
call fcn.00405930
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 0xc]
call fcn.00405a24
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
call fcn.00403c18
mov edx, dword [ebp - 0x18]
mov dword [ebp + edx*4 - 0x44], eax
inc dword [ebp - 0x18]
lea eax, [ebp - 0xc]
call fcn.00405748
jmp 0x56aafe
lea eax, [ebp - 0x80]
mov edx, dword [0x59724c]
mov edx, dword [edx]
movzx edx, byte [edx + ebx - 1]
call fcn.00405930
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 0xc]
call fcn.00405a24
inc ebx
dec esi
jne 0x56aa54
imul ebx, dword [ebp - 0x40], 0x2710
imul eax, dword [ebp - 0x3c], 0x64
add ebx, eax
add ebx, dword [ebp - 0x38]
imul eax, dword [ebp - 0x34], 0x2710
imul edx, dword [ebp - 0x30], 0x64
add eax, edx
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
cmp ebx, dword [ebp - 0x18]
jle 0x56abf0
mov eax, dword [0x59724c]
mov eax, dword [eax]
mov edx, 0x56ad40
call fcn.00405b68
je 0x56abf0
mov eax, dword [0x5971b0]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x59c9d4]
call fcn.0056ff44
mov eax, dword [0x597338]
mov eax, dword [eax]
mov eax, dword [eax + 0x384]
xor edx, edx
call fcn.004464e8
mov byte [ebp - 0x1d], 0
cmp byte [0x6c591c], 0
jne 0x56abd6
push 0
push 0
push 0x56ada8
mov eax, dword [0x59724c]
push dword [eax]
push 0x56adf0
push 0x56adfc
push dword [ebp - 8]
push 0x56adf0
push 0x56adf0
push 0x56ae20
lea eax, [ebp - 0x84]
mov edx, 8
call fcn.00405adc
mov eax, dword [ebp - 0x84]
movzx ecx, word [0x56ae30]
xor edx, edx
call fcn.0044adf0
cmp eax, 6
jne 0x56abd6
mov byte [ebp - 0x1d], 1
movzx eax, byte [0x6c591c]
or al, byte [ebp - 0x1d]
je 0x56ac25
xor edx, edx
mov eax, dword [0x59c9d4]
call fcn.00569ac4
jmp 0x56ac25
mov word [0x6c5a8e], 0
call fcn.0040cf0c
fstp qword [ebp - 0x28]
wait
push dword [ebp - 0x24]
push dword [ebp - 0x28]
mov edx, dword [0x596e94]
mov edx, dword [edx]
lea eax, [ebp - 0x14]
call fcn.0040db6c
mov eax, 0x6c5a98
mov edx, dword [ebp - 0x14]
call fcn.0040579c
cmp ebx, dword [ebp - 0x18]
jge 0x56ac3c
cmp ebx, 0x2710
jle 0x56ac3c
mov eax, 0x56ae3c
call fcn.0044af4c
call fcn.0056a3b4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56ac80
lea eax, [ebp - 0x84]
mov edx, 3
call fcn.0040576c
lea eax, [ebp - 0x74]
mov edx, 0xd
call fcn.0040576c
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.0040576c
ret