Function at 0x615800
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x4c
push 0
push 0
dec ecx
jne 0x615809
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 9], cl
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00404e3c
xor eax, eax
push ebp
push 0x6164f9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x18
mov edx, dword [ebp - 8]
call fcn.004049e0
mov byte [ebp - 0xa], 0
xor eax, eax
push ebp
push 0x61589c
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x9c]
mov eax, 0x616518
call fcn.00541944
mov edx, dword [ebp - 0x9c]
lea eax, [ebp - 0x28]
call fcn.00405cec
lea edx, [ebp - 0xa0]
mov eax, 0x616534
call fcn.00541944
mov edx, dword [ebp - 0xa0]
lea eax, [ebp - 0x38]
call fcn.00405cec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6158b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0055f0e8
test al, al
jne 0x6158d2
mov eax, dword [ebp - 4]
mov byte [eax + 8], 2
jmp 0x61645a
mov eax, dword [ebp - 8]
call fcn.0040a1c8
test al, al
je 0x615904
mov eax, dword [ebp - 8]
call fcn.00404e4c
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, dword [ebp - 8]
call fcn.0040a1c8
test al, al
je 0x615904
mov eax, dword [ebp - 4]
mov byte [eax + 8], 3
jmp 0x61645a
xor eax, eax
push ebp
push 0x61641b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x616540
push 0x616548
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00405c28
add esp, 0xc
push 0x616558
lea eax, [ebp - 0x38]
push eax
push 0
call fcn.00405c28
add esp, 0xc
push 0x616564
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00405c28
add esp, 0xc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00614e60
push eax
push 1
push 0x616574
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00405c28
add esp, 0x14
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push 1
push 1
push 0x616574
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.00405c28
add esp, 0x14
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push 0x616580
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00405c28
add esp, 0x2c
push 0x61658c
lea eax, [ebp - 0x58]
push eax
push 0
call fcn.00405c28
add esp, 0xc
push 0x616598
lea eax, [ebp - 0x58]
push eax
push 0
call fcn.00405c28
add esp, 0xc
mov eax, dword [ebp - 4]
add eax, 0x10
push eax
push 0x6165a4
lea eax, [ebp - 0x58]
push eax
push 0
call fcn.00405c28
add esp, 0x10
push 3
push 0x6165b0
lea eax, [ebp - 0x58]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
add eax, 0x1c
push eax
push 0x6165c8
push 0x6165d4
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0xe0]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp byte [eax + 0x20], 1
cmc
sbb eax, eax
push eax
push 0x6165dc
push 0x6165d4
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0xf0]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
add eax, 0x24
push eax
push 0x6165e8
push 0x6165d4
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x100]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp dword [eax + 0x14], 0
je 0x615c6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00614e60
push eax
push 2
push 0x616574
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.00405c28
add esp, 0x14
push dword [ebp - 0x104]
push dword [ebp - 0x108]
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push 1
push 2
push 0x616574
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.00405c28
add esp, 0x14
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push 0x616580
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00405c28
add esp, 0x2c
push 0x61658c
lea eax, [ebp - 0x58]
push eax
push 0
call fcn.00405c28
add esp, 0xc
push 0x616598
lea eax, [ebp - 0x58]
push eax
push 0
call fcn.00405c28
add esp, 0xc
mov eax, dword [ebp - 4]
add eax, 0x14
push eax
push 0x6165a4
lea eax, [ebp - 0x58]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
add eax, 0x34
push eax
push 0x6165c8
push 0x6165d4
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp byte [eax + 0x38], 1
cmc
sbb eax, eax
push eax
push 0x6165dc
push 0x6165d4
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x140]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c], 0x1fffffff
je 0x615c6c
mov eax, dword [ebp - 4]
add eax, 0x3c
push eax
push 0x6165e8
push 0x6165d4
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x150]
push eax
push 0
call fcn.00405c28
add esp, 0x10
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0055fb88
mov esi, eax
dec esi
test esi, esi
jl 0x615e25
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x30]
mov edx, edi
call fcn.0055491c
mov ebx, eax
cmp byte [ebp - 9], 0
jne 0x615cac
cmp byte [ebx + 0x44], 0
je 0x615e1d
inc dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x30]
mov edx, edi
call fcn.0055491c
call fcn.00555558
push eax
push 0x6165f4
lea eax, [ebp - 0x10]
push eax
push 0x616604
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.00405c28
add esp, 0x10
lea eax, [ebp - 0x160]
push eax
push 0
call fcn.00405c28
add esp, 0x10
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 4]
call fcn.0061550c
push eax
push 0x616610
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.00405c28
add esp, 0x14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x30]
mov edx, edi
call fcn.0055491c
lea edx, [ebp - 0x164]
call fcn.005554dc
mov eax, dword [ebp - 0x164]
push eax
push 0x61661c
lea eax, [ebp - 0x68]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
add eax, 0x28
push eax
push 0x6165c8
push 0x6165d4
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x174]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2c], 1
cmc
sbb eax, eax
push eax
push 0x6165dc
push 0x6165d4
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x184]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp dword [eax + 0x30], 0x1fffffff
je 0x615dfd
mov eax, dword [ebp - 4]
add eax, 0x30
push eax
push 0x6165e8
push 0x6165d4
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x194]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov al, byte [ebx + 0x40]
sub al, 3
je 0x615e08
sub al, 3
jne 0x615e1d
push 4
push 0x6165b0
lea eax, [ebp - 0x68]
push eax
push 0
call fcn.00405c28
add esp, 0x10
inc edi
dec esi
jne 0x615c8a
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00561340
jmp 0x615fe5
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0055fb88
mov esi, eax
dec esi
test esi, esi
jl 0x615fd7
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x30]
mov edx, edi
call fcn.0055491c
mov ebx, eax
cmp byte [ebx + 0x44], 0
je 0x615fcf
inc dword [ebp - 0x10]
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 4]
call fcn.00615524
add eax, dword [ebp - 0x14]
push eax
push 0x616610
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00405c28
add esp, 0x14
mov eax, dword [ebp - 4]
add eax, 0x34
push eax
push 0x6165c8
push 0x6165d4
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x1a4]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp byte [eax + 0x38], 1
cmc
sbb eax, eax
push eax
push 0x6165dc
push 0x6165d4
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1b4]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x1b4]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c], 0x1fffffff
je 0x615f4b
mov eax, dword [ebp - 4]
add eax, 0x3c
push eax
push 0x6165e8
push 0x6165d4
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1c4]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x1c4]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov al, byte [ebx + 0x40]
sub al, 3
je 0x615f58
sub al, 3
je 0x615f74
jmp 0x615f90
mov eax, dword [ebx + 0xe0]
push eax
push 0x616628
lea eax, [ebp - 0x78]
push eax
push 0
call fcn.00405c28
add esp, 0x10
jmp 0x615fa8
mov eax, dword [ebx + 0xe0]
push eax
push 0x616628
lea eax, [ebp - 0x78]
push eax
push 0
call fcn.00405c28
add esp, 0x10
jmp 0x615fa8
push 0x616648
push 0x616628
lea eax, [ebp - 0x78]
push eax
push 0
call fcn.00405c28
add esp, 0x10
lea edx, [ebp - 0x1c8]
mov eax, ebx
call fcn.00555518
mov eax, dword [ebp - 0x1c8]
push eax
push 0x61661c
lea eax, [ebp - 0x78]
push eax
push 0
call fcn.00405c28
add esp, 0x10
inc edi
dec esi
jne 0x615e58
inc dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00561658
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
cmp byte [eax + 0xa1], 0
je 0x615e3a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.00561340
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [eax]
call dword [edx + 0x14c]
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.00615524
add ebx, eax
mov edx, ebx
lea eax, [ebp - 0x88]
mov cl, 0xfc
call fcn.00405c90
xor eax, eax
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0055fb88
mov esi, eax
dec esi
test esi, esi
jl 0x616206
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x30]
mov edx, edi
call fcn.0055491c
mov ebx, eax
cmp byte [ebx + 0x44], 0
je 0x6161fe
inc dword [ebp - 0x10]
mov edx, dword [ebx + 0x38]
mov eax, dword [ebp - 4]
call fcn.0061553c
test al, al
je 0x6161fe
mov byte [ebp - 0x15], 1
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x88]
push eax
push 0x61664c
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00405c28
add esp, 0x14
lea ecx, [ebp - 0x1cc]
mov edx, dword [ebx + 0x38]
mov eax, dword [ebp - 4]
call fcn.006155e8
mov eax, dword [ebp - 0x1cc]
push eax
push 0x61661c
lea eax, [ebp - 0x98]
push eax
push 0
call fcn.00405c28
add esp, 0x10
lea ecx, [ebp - 0x1d4]
mov edx, dword [ebx + 0x38]
mov eax, dword [ebp - 4]
call fcn.00615594
mov eax, dword [ebp - 0x1d4]
lea edx, [ebp - 0x1d0]
call fcn.00409874
cmp dword [ebp - 0x1d0], 0
je 0x61612e
lea ecx, [ebp - 0x1d8]
mov edx, dword [ebx + 0x38]
mov eax, dword [ebp - 4]
call fcn.00615594
mov eax, dword [ebp - 0x1d8]
push eax
push 0x616628
lea eax, [ebp - 0x98]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
add eax, 0x40
push eax
push 0x6165c8
push 0x6165d4
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x1e8]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp byte [eax + 0x44], 1
cmc
sbb eax, eax
push eax
push 0x6165dc
push 0x6165d4
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x1f8]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x1f8]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0x1fffffff
je 0x6161e6
mov eax, dword [ebp - 4]
add eax, 0x48
push eax
push 0x6165e8
push 0x6165d4
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x208]
push eax
push 0
call fcn.00405c28
add esp, 0x10
push 4
push 0x6165b0
lea eax, [ebp - 0x98]
push eax
push 0
call fcn.00405c28
add esp, 0x10
inc edi
dec esi
jne 0x61604e
cmp byte [ebp - 0x15], 0
je 0x61631c
push 1
lea eax, [ebp - 0x88]
push eax
push 0x616658
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00405c28
add esp, 0x14
push 0x61666c
push 0x61661c
lea eax, [ebp - 0x98]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
add eax, 0x40
push eax
push 0x6165c8
push 0x6165d4
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp byte [eax + 0x44], 1
cmc
sbb eax, eax
push eax
push 0x6165dc
push 0x6165d4
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0x1fffffff
je 0x616304
mov eax, dword [ebp - 4]
add eax, 0x48
push eax
push 0x6165e8
push 0x6165d4
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x238]
push eax
push 0
call fcn.00405c28
add esp, 0x10
push 4
push 0x6165b0
lea eax, [ebp - 0x98]
push eax
push 0
call fcn.00405c28
add esp, 0x10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [eax]
call dword [edx + 0x14c]
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.00615524
add ebx, eax
mov edx, ebx
lea eax, [ebp - 0x88]
mov cl, 0xfc
call fcn.00405c90
push 0x61658c
push 1
lea edx, [ebp - 0x88]
lea eax, [ebp - 0x258]
call fcn.00405c38
lea eax, [ebp - 0x268]
mov edx, 3
mov cl, 1
call fcn.00405c90
lea edx, [ebp - 0x268]
lea eax, [ebp - 0x258]
call fcn.00405d0c
push dword [ebp - 0x24c]
push dword [ebp - 0x250]
push dword [ebp - 0x254]
push dword [ebp - 0x258]
push 0x616674
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.00405c28
add esp, 0x20
lea eax, [ebp - 0x248]
push eax
push 0
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 8]
push eax
push 0x616680
lea eax, [ebp - 0x38]
push eax
push 0
call fcn.00405c28
add esp, 0x10
push 0x61668c
lea eax, [ebp - 0x38]
push eax
push 0
call fcn.00405c28
add esp, 0xc
push 0x616698
lea eax, [ebp - 0x28]
push eax
push 0
call fcn.00405c28
add esp, 0xc
lea eax, [ebp - 0x28]
call fcn.0041522c
mov eax, dword [ebp - 4]
mov byte [eax + 8], 0
mov byte [ebp - 0xa], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x61645a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x616503
lea eax, [ebp - 0x268]
mov edx, dword [0x401154]
mov ecx, 9
call fcn.00405740
lea eax, [ebp - 0x1d8]
mov edx, 5
call fcn.004049b0
lea eax, [ebp - 0x1c4]
mov edx, dword [0x401154]
mov ecx, 6
call fcn.00405740
lea eax, [ebp - 0x164]
call fcn.0040498c
lea eax, [ebp - 0x160]
mov edx, dword [0x401154]
mov ecx, 0xc
call fcn.00405740
lea eax, [ebp - 0xa0]
mov edx, dword [0x401218]
mov ecx, 2
call fcn.00405740
lea eax, [ebp - 0x98]
mov edx, dword [0x401154]
mov ecx, 8
call fcn.00405740
lea eax, [ebp - 8]
call fcn.0040498c
ret