Function at 0x3ad52c
Capabilities:
Clear file content

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.003057b4
xor eax, eax
push ebp
push 0x3ad877
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x3c0278]
mov byte [eax], 0
mov eax, dword [0x15c330c]
mov eax, dword [eax + 0x2fc]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov eax, dword [0x15c330c]
mov ebx, dword [eax + 0x2fc]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, eax
lea ecx, [ebp - 8]
mov eax, dword [ebx + 0x218]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 8]
call fcn.00393874
xor ebx, ebx
mov bl, al
dec ebx
cmp ebx, 0xff
jbe 0x3ad5b2
call fcn.00304494
mov eax, dword [ebp - 4]
call fcn.003055c4
mov esi, eax
lea eax, [ebp - 4]
call fcn.0030581c
dec esi
test eax, eax
je 0x3ad5ce
cmp esi, dword [eax - 4]
jb 0x3ad5d3
call fcn.00304494
inc esi
mov edx, ebx
add dl, 0x30
mov byte [eax + esi - 1], dl
mov eax, dword [ebp - 4]
call fcn.003927d8
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 4]
call fcn.003055c4
mov esi, eax
lea eax, [ebp - 4]
call fcn.0030581c
dec esi
test eax, eax
je 0x3ad607
cmp esi, dword [eax - 4]
jb 0x3ad60c
call fcn.00304494
inc esi
mov byte [eax + esi - 1], 0x30
mov edx, dword [ebp - 4]
xor eax, eax
call fcn.003923b8
test eax, eax
jbe 0x3ad854
lea edx, [ebp - 0x18]
call fcn.003953a8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
xor eax, eax
mov al, bl
xor edx, edx
cmp edx, dword [ebp - 0x1c]
jne 0x3ad644
cmp eax, dword [ebp - 0x20]
jb 0x3ad66a
jmp 0x3ad646
jl 0x3ad66a
xor eax, eax
mov al, bl
xor edx, edx
cmp edx, dword [ebp - 0x1c]
jne 0x3ad682
cmp eax, dword [ebp - 0x20]
jne 0x3ad682
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x24]
jne 0x3ad668
cmp eax, dword [ebp - 0x28]
jbe 0x3ad682
jmp 0x3ad66a
jle 0x3ad682
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
xor eax, eax
mov al, bl
xor edx, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 4]
call fcn.003055c4
mov esi, eax
lea eax, [ebp - 4]
call fcn.0030581c
dec esi
test eax, eax
je 0x3ad69e
cmp esi, dword [eax - 4]
jb 0x3ad6a3
call fcn.00304494
inc esi
lea eax, [eax + esi - 1]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
add eax, 0x30
adc edx, 0
pop edx
mov byte [edx], al
mov edx, 0x20
mov eax, dword [ebp - 4]
call fcn.00309f28
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.00309d64
mov esi, eax
push dword [ebp - 0x14]
push dword [ebp - 0x18]
xor edx, edx
mov eax, esi
call fcn.00309e4c
test esi, esi
jns 0x3ad6ec
call fcn.00304494
push esi
call sub.kernel32.dll_SetEndOfFile_1
mov eax, esi
call fcn.00309e84
jmp 0x3ad72f
mov eax, dword [ebp - 4]
call fcn.003055c4
mov esi, eax
lea eax, [ebp - 4]
call fcn.0030581c
dec esi
test eax, eax
je 0x3ad717
cmp esi, dword [eax - 4]
jb 0x3ad71c
call fcn.00304494
inc esi
mov edx, ebx
add dl, 0x30
mov byte [eax + esi - 1], dl
mov eax, dword [ebp - 4]
call fcn.0030a04c
dec ebx
xor eax, eax
mov al, bl
xor edx, edx
cmp edx, dword [ebp - 0x1c]
jne 0x3ad741
cmp eax, dword [ebp - 0x20]
ja 0x3ad6fb
jmp 0x3ad743
jg 0x3ad6fb
mov eax, dword [ebp - 4]
call fcn.003055c4
mov ebx, eax
lea eax, [ebp - 4]
call fcn.0030581c
dec ebx
test eax, eax
je 0x3ad75f
cmp ebx, dword [eax - 4]
jb 0x3ad764
call fcn.00304494
inc ebx
lea eax, [eax + ebx - 1]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
add eax, 0x30
adc edx, 0
pop edx
mov byte [edx], al
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
cmp edx, 0
jne 0x3ad789
cmp eax, 0xff
jbe 0x3ad790
call fcn.00304494
mov edx, eax
lea ecx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00397574
lea eax, [ebp - 8]
call fcn.0030581c
mov edx, 0x2c
dec edx
test eax, eax
je 0x3ad7b4
cmp edx, dword [eax - 4]
jb 0x3ad7b9
call fcn.00304494
inc edx
lea eax, [eax + edx - 1]
push eax
lea eax, [ebp - 0xc]
call fcn.0030581c
mov edx, 1
dec edx
test eax, eax
je 0x3ad7d6
cmp edx, dword [eax - 4]
jb 0x3ad7db
call fcn.00304494
inc edx
lea eax, [eax + edx - 1]
push eax
mov eax, dword [ebp - 0xc]
call fcn.003055c4
mov ecx, eax
pop eax
pop edx
call fcn.00302d8c
mov eax, dword [0x15c330c]
mov ebx, dword [eax + 0x2fc]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, eax
mov eax, dword [ebx + 0x218]
mov ecx, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea eax, [ebp - 0x2c]
mov ecx, 0x3ad88c
mov edx, dword [0x3bfeac]
call fcn.00305610
mov eax, dword [ebp - 0x2c]
mov dl, 1
call fcn.0039bef4
mov eax, dword [0x15c330c]
mov ebx, dword [eax + 0x2fc]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, eax
mov eax, ebx
mov cl, 1
call fcn.0034384c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x3ad87e
lea eax, [ebp - 0x2c]
call fcn.00305304
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00305328
ret