Function at 0x428c8d
Capabilities:
Clear file content
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x67c
mov eax, dword [0x42d0b4]
xor eax, esp
mov dword [esp + 0x678], eax
or dword [esp + 4], 0xffffffff
lea eax, [esp + 0x2c]
push ebx
push esi
push edi
mov ebx, 0x104
mov dword [esp + 0x30], edx
xor esi, esi
mov byte [esp + 0x244], 1
push ebx
push esi
push eax
mov edi, ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x24c], esi
mov dword [esp + 0x254], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x670], esi
lea eax, [esp + 0x468]
mov byte [esp + 0x674], 1
mov dword [esp + 0x678], ebx
push ebx
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x458], esi
lea eax, [esp + 0x250]
mov byte [esp + 0x45c], 1
mov dword [esp + 0x460], ebx
push ebx
push esi
push eax
call sub.msvcrt.dll_memset
xor eax, eax
lea ecx, [esp + 0x44]
add esp, 0xc
cmp byte [esp + 0x244], al
sete al
dec eax
and eax, 0x7ee3
add eax, ebx
push eax
call fcn.0040e3f0
test eax, eax
js 0x429469
xor eax, eax
lea ecx, [esp + 0x468]
cmp byte [esp + 0x674], al
sete al
dec eax
and eax, 0x7ee3
add eax, ebx
push eax
call fcn.0040e3f0
test eax, eax
js 0x429469
xor eax, eax
lea ecx, [esp + 0x250]
cmp byte [esp + 0x45c], al
sete al
dec eax
and eax, 0x7ee3
add eax, ebx
push eax
call fcn.0040e3f0
test eax, eax
js 0x429469
push esi
lea eax, [esp + 0x18]
mov ecx, 0xfe00
push eax
call fcn.0041522c
mov dword [esp + 0x20], eax
test eax, eax
je 0x429469
cmp dword [0x435708], esi
je 0x428e01
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x28]
push 1
push eax
mov ecx, ebx
mov dword [esp + 0x24], ebx
call fcn.0041522c
mov dword [esp + 0x2c], eax
test eax, eax
je 0x429469
cmp ebx, dword [esp + 0x28]
jb 0x428e09
mov eax, dword [esp + 0x28]
jmp 0x428e05
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov ebx, dword [edi + 0x20]
mov dword [esp + 0x28], ebx
mov ecx, dword [ebx]
call fcn.00407334
test eax, eax
jne 0x428e2b
mov ebx, dword [ebx + 0x20]
mov dword [esp + 0x28], ebx
test ebx, ebx
jne 0x428e10
jmp 0x429444
mov edx, dword [ebx]
lea eax, [esp + 0x18]
push eax
push dword [ebx + 0x18]
mov ecx, fcn.004159d0
push esi
push 0x21
call fcn.0041589a
mov edi, dword [esp + 0x1c]
and dword [ebx + 0x1c], 0xffff3fff
mov eax, dword [ebx + 0x1c]
test al, 4
je 0x428e5d
and eax, 0xfffffffb
or eax, 2
mov dword [ebx + 0x1c], eax
cmp dword [0x43159c], esi
jne 0x429438
mov edx, dword [esp + 0x670]
test edx, edx
jne 0x428e7b
lea edx, [esp + 0x468]
push dword [esp + 0x678]
mov ecx, ebx
call fcn.00414d28
cmp eax, 1
je 0x429438
push dword [ebx + 4]
push 0x402280
call fcn.00409950
mov eax, dword [esp + 0x248]
pop ecx
pop ecx
test eax, eax
jne 0x428eb0
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x30]
mov ecx, ebx
push esi
push dword [esp + 0x24c]
push eax
call fcn.00413cd0
cmp eax, 1
je 0x429438
mov edx, dword [esp + 0x240]
mov eax, edx
test edx, edx
jne 0x428ede
lea eax, [esp + 0x38]
cmp word [eax], si
je 0x429336
test edx, edx
jne 0x428eef
lea edx, [esp + 0x38]
mov ecx, dword [ebx + 4]
call fcn.004295b4
mov ecx, dword [ebx + 4]
test eax, eax
je 0x428f17
push edi
push dword [esp + 0x24]
mov edx, ebx
call fcn.004294a2
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
jmp 0x42914e
mov edx, dword [ebx + 0x1c]
push ecx
and edx, 0x800
push ecx
shl edx, 0xa
call fcn.0041654b
mov edi, eax
cmp edi, 0xffffffff
je 0x42942d
mov ecx, edi
call fcn.0040dd98
test eax, eax
je 0x428f4b
mov ecx, 0x80
mov dword [esp + 0x1c], ecx
jmp 0x428f4f
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x428f5e
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x14]
lea eax, [esp + 0x2c]
push ebx
push eax
push ecx
mov ecx, edi
call fcn.00414ca0
mov dword [esp + 0x34], eax
cmp dword [0x4357a8], esi
jne 0x429427
mov ecx, dword [esp + 0x240]
test ecx, ecx
jne 0x428f94
lea ecx, [esp + 0x38]
push ecx
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
mov ecx, dword [esp + 0x240]
test al, 2
jne 0x428fd9
test ecx, ecx
jne 0x428fae
lea ecx, [esp + 0x38]
call fcn.00415643
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x42941a
push eax
call dword [sym.imp.msvcrt.dll__get_osfhandle]
pop ecx
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetEndOfFile]
mov ecx, dword [esp + 0x10]
jmp 0x428ff5
test ecx, ecx
jne 0x428fe1
lea ecx, [esp + 0x38]
push ecx
xor edx, edx
push ecx
inc edx
call fcn.0041654b
mov ecx, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xffffffff
je 0x42941a
cmp dword [0x4357a0], esi
je 0x42908a
cmp dword [esp + 0x24], esi
jle 0x42907e
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x42901f
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x20]
push edi
push eax
push dword [esp + 0x2c]
call fcn.004297cb
mov ecx, dword [esp + 0x10]
cmp dword [0x435708], esi
je 0x42907e
call fcn.0040dd98
test eax, eax
jne 0x42907a
mov edx, dword [esp + 0x240]
test edx, edx
jne 0x429052
lea edx, [esp + 0x38]
push dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.00428b2c
cmp eax, 1
je 0x4293af
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x42907e
mov ecx, dword [esp + 0x10]
cmp dword [0x4357a0], esi
jne 0x42913d
mov eax, dword [esp + 0x34]
jmp 0x429094
mov ecx, dword [esp + 0x10]
cmp eax, 1
jne 0x42913d
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x4290ac
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x20]
push edi
push eax
push dword [esp + 0x2c]
call fcn.004297cb
mov ecx, dword [esp + 0x10]
cmp dword [0x435708], esi
je 0x42910b
call fcn.0040dd98
test eax, eax
jne 0x429107
mov edx, dword [esp + 0x240]
test edx, edx
jne 0x4290df
lea edx, [esp + 0x38]
push dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.00428b2c
cmp eax, 1
je 0x4293d2
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x42910b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x42911a
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x20]
push eax
push ecx
push ebx
lea eax, [esp + 0x30]
mov ecx, edi
push eax
push dword [esp + 0x2c]
call fcn.00414ca0
cmp dword [0x4357a0], esi
je 0x429090
mov ecx, edi
mov dword [0x4357a0], esi
call fcn.0040a16c
mov edi, dword [esp + 0x1c]
mov ebx, dword [ebx + 0x20]
mov dword [0x43570c], esi
test ebx, ebx
je 0x429322
mov eax, dword [ebx + 0x1c]
test al, 4
je 0x42916f
and eax, 0xfffffffb
or eax, 2
mov dword [ebx + 0x1c], eax
mov ecx, dword [esp + 0x458]
test ecx, ecx
jne 0x429181
lea ecx, [esp + 0x250]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x460]
push dword [eax + 4]
push dword [ebx]
call fcn.00413719
test eax, eax
je 0x4291a3
push esi
push eax
call fcn.004063bd
jmp 0x4291c0
mov eax, dword [esp + 0x458]
test eax, eax
jne 0x4291b5
lea eax, [esp + 0x250]
push eax
push 0x402280
call fcn.00409950
pop ecx
pop ecx
mov ecx, dword [esp + 0x458]
test ecx, ecx
jne 0x4291d4
lea ecx, [esp + 0x250]
call fcn.00407334
test eax, eax
je 0x429313
mov edx, dword [esp + 0x240]
test edx, edx
jne 0x4291f0
lea edx, [esp + 0x38]
mov ecx, dword [esp + 0x458]
test ecx, ecx
jne 0x429202
lea ecx, [esp + 0x250]
call fcn.004295b4
test eax, eax
je 0x42921d
push esi
push 0x2340
call fcn.004063bd
pop ecx
pop ecx
jmp 0x429313
mov ecx, dword [esp + 0x458]
test ecx, ecx
jne 0x42922f
lea ecx, [esp + 0x250]
push ecx
push ecx
xor edx, edx
call fcn.0041654b
mov edi, eax
cmp edi, 0xffffffff
je 0x4293fe
mov ecx, edi
call fcn.0040dd98
test eax, eax
je 0x4292f6
mov ecx, 0x80
mov dword [esp + 0x1c], ecx
jmp 0x4292fa
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x42926f
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x14]
lea eax, [esp + 0x2c]
push ebx
push eax
push ecx
mov ecx, edi
call fcn.00414ca0
test eax, eax
je 0x429306
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x429299
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edi
push eax
push dword [esp + 0x2c]
call fcn.004297cb
cmp dword [0x435708], esi
je 0x4292f6
mov ecx, dword [esp + 0x10]
call fcn.0040dd98
test eax, eax
jne 0x4292f6
mov edx, dword [esp + 0x240]
test edx, edx
jne 0x4292d0
lea edx, [esp + 0x38]
push dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.00428b2c
cmp eax, 1
je 0x4293e8
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
cmp dword [0x4357a0], esi
je 0x429260
mov ecx, edi
mov dword [0x4357a0], esi
call fcn.0040a16c
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x42915f
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov ecx, ebx
mov edx, dword [esp + 0x30]
push esi
push dword [esp + 0x14]
call fcn.00414c40
push dword [esp + 0x18]
mov edx, dword [ebx + 0x18]
mov ecx, fcn.004159d0
push 0x21
call fcn.00415851
test al, al
jne 0x428e46
mov ecx, dword [esp + 0x18]
call fcn.00408b4d
mov eax, dword [esp + 0x458]
mov dword [esp + 0x458], esi
test eax, eax
je 0x429374
push eax
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
mov eax, dword [esp + 0x670]
mov dword [esp + 0x670], esi
test eax, eax
je 0x42938e
push eax
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
mov eax, dword [esp + 0x240]
mov dword [esp + 0x240], esi
test eax, eax
je 0x4293a8
push eax
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
xor eax, eax
jmp 0x42948d
mov ecx, dword [esp + 0x18]
call fcn.00408b4d
mov ecx, edi
call fcn.0040a16c
mov ecx, dword [esp + 0x14]
call fcn.0040a16c
xor edx, edx
xor ecx, ecx
inc edx
call fcn.00428c10
mov ecx, dword [esp + 0x18]
call fcn.00408b4d
mov ecx, edi
call fcn.0040a16c
mov ecx, dword [esp + 0x14]
jmp 0x4293c3
mov ecx, dword [esp + 0x18]
call fcn.00408b4d
mov ecx, edi
call fcn.0040a16c
mov ecx, dword [esp + 0x14]
jmp 0x4293c3
mov ecx, dword [esp + 0x18]
call fcn.00408b4d
mov ecx, dword [esp + 0x10]
call fcn.0040a16c
push 0x6e
pop ecx
call fcn.00429e9d
jmp 0x4293c8
mov ecx, dword [esp + 0x18]
call fcn.00408b4d
mov ecx, edi
jmp 0x42940b
mov ecx, dword [esp + 0x18]
jmp 0x42941e
mov ecx, dword [esp + 0x18]
call fcn.00408b4d
jmp 0x429410
mov ecx, dword [esp + 0x18]
call fcn.00408b4d
xor esi, esi
inc esi
lea ecx, [esp + 0x250]
call fcn.004161e6
lea ecx, [esp + 0x468]
call fcn.004161e6
lea ecx, [esp + 0x38]
call fcn.004161e6
mov eax, esi
jmp 0x42948d
lea ecx, [esp + 0x250]
call fcn.004161e6
lea ecx, [esp + 0x468]
call fcn.004161e6
lea ecx, [esp + 0x38]
call fcn.004161e6
xor eax, eax
inc eax
mov ecx, dword [esp + 0x684]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00416b50
mov esp, ebp
pop ebp
ret