Function at 0x428b0b
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.0040e330
test eax, eax
js 0x4292e7
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.0040e330
test eax, eax
js 0x4292e7
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.0040e330
test eax, eax
js 0x4292e7
push esi
lea eax, [esp + 0x18]
mov ecx, 0xfe00
push eax
call fcn.004151ae
mov dword [esp + 0x20], eax
test eax, eax
je 0x4292e7
cmp dword [0x4356f8], esi
je 0x428c7f
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x28]
push 1
push eax
mov ecx, ebx
mov dword [esp + 0x24], ebx
call fcn.004151ae
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4292e7
cmp ebx, dword [esp + 0x28]
jb 0x428c87
mov eax, dword [esp + 0x28]
jmp 0x428c83
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.00407284
test eax, eax
jne 0x428ca9
mov ebx, dword [ebx + 0x20]
mov dword [esp + 0x28], ebx
test ebx, ebx
jne 0x428c8e
jmp 0x4292c2
mov edx, dword [ebx]
lea eax, [esp + 0x18]
push eax
push dword [ebx + 0x18]
mov ecx, fcn.00415950
push esi
push 0x21
call fcn.0041581a
mov edi, dword [esp + 0x1c]
and dword [ebx + 0x1c], 0xffff3fff
mov eax, dword [ebx + 0x1c]
test al, 4
je 0x428cdb
and eax, 0xfffffffb
or eax, 2
mov dword [ebx + 0x1c], eax
cmp dword [0x43158c], esi
jne 0x4292b6
mov edx, dword [esp + 0x670]
test edx, edx
jne 0x428cf9
lea edx, [esp + 0x468]
push dword [esp + 0x678]
mov ecx, ebx
call fcn.00414ca8
cmp eax, 1
je 0x4292b6
push dword [ebx + 4]
push 0x402270
call fcn.00409890
mov eax, dword [esp + 0x248]
pop ecx
pop ecx
test eax, eax
jne 0x428d2e
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x30]
mov ecx, ebx
push esi
push dword [esp + 0x24c]
push eax
call fcn.00413c50
cmp eax, 1
je 0x4292b6
mov edx, dword [esp + 0x240]
mov eax, edx
test edx, edx
jne 0x428d5c
lea eax, [esp + 0x38]
cmp word [eax], si
je 0x4291b4
test edx, edx
jne 0x428d6d
lea edx, [esp + 0x38]
mov ecx, dword [ebx + 4]
call fcn.00429432
mov ecx, dword [ebx + 4]
test eax, eax
je 0x428d95
push edi
push dword [esp + 0x24]
mov edx, ebx
call fcn.00429320
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
jmp 0x428fcc
mov edx, dword [ebx + 0x1c]
push ecx
and edx, 0x800
push ecx
shl edx, 0xa
call fcn.004164cb
mov edi, eax
cmp edi, 0xffffffff
je 0x4292ab
mov ecx, edi
call fcn.0040dcd8
test eax, eax
je 0x428dc9
mov ecx, 0x80
mov dword [esp + 0x1c], ecx
jmp 0x428dcd
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x428ddc
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.00414c20
mov dword [esp + 0x34], eax
cmp dword [0x435798], esi
jne 0x4292a5
mov ecx, dword [esp + 0x240]
test ecx, ecx
jne 0x428e12
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 0x428e57
test ecx, ecx
jne 0x428e2c
lea ecx, [esp + 0x38]
call fcn.004155c5
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x429298
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 0x428e73
test ecx, ecx
jne 0x428e5f
lea ecx, [esp + 0x38]
push ecx
xor edx, edx
push ecx
inc edx
call fcn.004164cb
mov ecx, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xffffffff
je 0x429298
cmp dword [0x435790], esi
je 0x428f08
cmp dword [esp + 0x24], esi
jle 0x428efc
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x428e9d
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x20]
push edi
push eax
push dword [esp + 0x2c]
call fcn.00429649
mov ecx, dword [esp + 0x10]
cmp dword [0x4356f8], esi
je 0x428efc
call fcn.0040dcd8
test eax, eax
jne 0x428ef8
mov edx, dword [esp + 0x240]
test edx, edx
jne 0x428ed0
lea edx, [esp + 0x38]
push dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.004289ac
cmp eax, 1
je 0x42922d
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x428efc
mov ecx, dword [esp + 0x10]
cmp dword [0x435790], esi
jne 0x428fbb
mov eax, dword [esp + 0x34]
jmp 0x428f12
mov ecx, dword [esp + 0x10]
cmp eax, 1
jne 0x428fbb
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x428f2a
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x20]
push edi
push eax
push dword [esp + 0x2c]
call fcn.00429649
mov ecx, dword [esp + 0x10]
cmp dword [0x4356f8], esi
je 0x428f89
call fcn.0040dcd8
test eax, eax
jne 0x428f85
mov edx, dword [esp + 0x240]
test edx, edx
jne 0x428f5d
lea edx, [esp + 0x38]
push dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.004289ac
cmp eax, 1
je 0x429250
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x428f89
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x428f98
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.00414c20
cmp dword [0x435790], esi
je 0x428f0e
mov ecx, edi
mov dword [0x435790], esi
call fcn.0040a0ab
mov edi, dword [esp + 0x1c]
mov ebx, dword [ebx + 0x20]
mov dword [0x4356fc], esi
test ebx, ebx
je 0x4291a0
mov eax, dword [ebx + 0x1c]
test al, 4
je 0x428fed
and eax, 0xfffffffb
or eax, 2
mov dword [ebx + 0x1c], eax
mov ecx, dword [esp + 0x458]
test ecx, ecx
jne 0x428fff
lea ecx, [esp + 0x250]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x460]
push dword [eax + 4]
push dword [ebx]
call fcn.00413699
test eax, eax
je 0x429021
push esi
push eax
call fcn.0040630a
jmp 0x42903e
mov eax, dword [esp + 0x458]
test eax, eax
jne 0x429033
lea eax, [esp + 0x250]
push eax
push 0x402270
call fcn.00409890
pop ecx
pop ecx
mov ecx, dword [esp + 0x458]
test ecx, ecx
jne 0x429052
lea ecx, [esp + 0x250]
call fcn.00407284
test eax, eax
je 0x429191
mov edx, dword [esp + 0x240]
test edx, edx
jne 0x42906e
lea edx, [esp + 0x38]
mov ecx, dword [esp + 0x458]
test ecx, ecx
jne 0x429080
lea ecx, [esp + 0x250]
call fcn.00429432
test eax, eax
je 0x42909b
push esi
push 0x2340
call fcn.0040630a
pop ecx
pop ecx
jmp 0x429191
mov ecx, dword [esp + 0x458]
test ecx, ecx
jne 0x4290ad
lea ecx, [esp + 0x250]
push ecx
push ecx
xor edx, edx
call fcn.004164cb
mov edi, eax
cmp edi, 0xffffffff
je 0x42927c
mov ecx, edi
call fcn.0040dcd8
test eax, eax
je 0x429174
mov ecx, 0x80
mov dword [esp + 0x1c], ecx
jmp 0x429178
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x4290ed
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.00414c20
test eax, eax
je 0x429184
mov eax, dword [esp + 0x240]
test eax, eax
jne 0x429117
lea eax, [esp + 0x38]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edi
push eax
push dword [esp + 0x2c]
call fcn.00429649
cmp dword [0x4356f8], esi
je 0x429174
mov ecx, dword [esp + 0x10]
call fcn.0040dcd8
test eax, eax
jne 0x429174
mov edx, dword [esp + 0x240]
test edx, edx
jne 0x42914e
lea edx, [esp + 0x38]
push dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.004289ac
cmp eax, 1
je 0x429266
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
cmp dword [0x435790], esi
je 0x4290de
mov ecx, edi
mov dword [0x435790], esi
call fcn.0040a0ab
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x428fdd
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.00414bc0
push dword [esp + 0x18]
mov edx, dword [ebx + 0x18]
mov ecx, fcn.00415950
push 0x21
call fcn.004157d1
test al, al
jne 0x428cc4
mov ecx, dword [esp + 0x18]
call fcn.00408a9a
mov eax, dword [esp + 0x458]
mov dword [esp + 0x458], esi
test eax, eax
je 0x4291f2
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 0x42920c
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 0x429226
push eax
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
xor eax, eax
jmp 0x42930b
mov ecx, dword [esp + 0x18]
call fcn.00408a9a
mov ecx, edi
call fcn.0040a0ab
mov ecx, dword [esp + 0x14]
call fcn.0040a0ab
xor edx, edx
xor ecx, ecx
inc edx
call fcn.00428a90
mov ecx, dword [esp + 0x18]
call fcn.00408a9a
mov ecx, edi
call fcn.0040a0ab
mov ecx, dword [esp + 0x14]
jmp 0x429241
mov ecx, dword [esp + 0x18]
call fcn.00408a9a
mov ecx, edi
call fcn.0040a0ab
mov ecx, dword [esp + 0x14]
jmp 0x429241
mov ecx, dword [esp + 0x18]
call fcn.00408a9a
mov ecx, dword [esp + 0x10]
call fcn.0040a0ab
push 0x6e
pop ecx
call fcn.00429d18
jmp 0x429246
mov ecx, dword [esp + 0x18]
call fcn.00408a9a
mov ecx, edi
jmp 0x429289
mov ecx, dword [esp + 0x18]
jmp 0x42929c
mov ecx, dword [esp + 0x18]
call fcn.00408a9a
jmp 0x42928e
mov ecx, dword [esp + 0x18]
call fcn.00408a9a
xor esi, esi
inc esi
lea ecx, [esp + 0x250]
call fcn.00416164
lea ecx, [esp + 0x468]
call fcn.00416164
lea ecx, [esp + 0x38]
call fcn.00416164
mov eax, esi
jmp 0x42930b
lea ecx, [esp + 0x250]
call fcn.00416164
lea ecx, [esp + 0x468]
call fcn.00416164
lea ecx, [esp + 0x38]
call fcn.00416164
xor eax, eax
inc eax
mov ecx, dword [esp + 0x684]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00416ad0
mov esp, ebp
pop ebp
ret