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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x674
mov eax, dword [0x42d0b4]
xor eax, esp
mov dword [esp + 0x670], eax
or dword [esp], 0xffffffff
xor eax, eax
push ebx
push esi
push edi
mov edi, 0x104
mov dword [esp + 0x28], eax
push edi
push eax
mov dword [esp + 0x240], eax
xor ebx, ebx
lea eax, [esp + 0x38]
mov dword [esp + 0x34], edx
inc ebx
mov dword [esp + 0x248], edi
push eax
mov esi, ecx
mov byte [esp + 0x248], bl
call sub.msvcrt.dll_memset
add esp, 0xc
mov byte [esp + 0x66c], bl
xor eax, eax
mov dword [esp + 0x670], edi
mov dword [esp + 0x668], eax
push edi
push eax
lea eax, [esp + 0x468]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov byte [esp + 0x454], bl
xor eax, eax
mov dword [esp + 0x458], edi
mov dword [esp + 0x450], eax
push edi
push eax
lea eax, [esp + 0x250]
push eax
call sub.msvcrt.dll_memset
xor eax, eax
lea ecx, [esp + 0x3c]
add esp, 0xc
cmp byte [esp + 0x23c], al
sete al
dec eax
and eax, 0x7ee3
add eax, edi
push eax
call fcn.0040fba0
test eax, eax
js 0x428bdd
xor eax, eax
lea ecx, [esp + 0x460]
cmp byte [esp + 0x66c], al
sete al
dec eax
and eax, 0x7ee3
add eax, edi
push eax
call fcn.0040fba0
test eax, eax
js 0x428bdd
xor eax, eax
lea ecx, [esp + 0x248]
cmp byte [esp + 0x454], al
sete al
dec eax
and eax, 0x7ee3
add eax, edi
push eax
call fcn.0040fba0
test eax, eax
js 0x428bdd
xor eax, eax
mov ecx, 0xfe00
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004068dd
mov dword [esp + 0x1c], eax
test eax, eax
je 0x428bdd
cmp dword [0x42d568], 0
je 0x4285ad
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x24]
push ebx
push eax
mov ecx, edi
mov dword [esp + 0x20], edi
call fcn.004068dd
mov dword [esp + 0x28], eax
test eax, eax
je 0x428bdd
cmp edi, dword [esp + 0x24]
jb 0x4285b5
mov eax, dword [esp + 0x24]
jmp 0x4285b1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov edi, dword [esi + 0x20]
mov ecx, dword [edi]
call fcn.00404f35
test eax, eax
jne 0x4285d1
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x4285b8
mov ebx, eax
jmp 0x428bdd
mov edx, dword [edi]
lea eax, [esp + 0x14]
push eax
push dword [edi + 0x18]
xor eax, eax
mov ecx, fcn.0040aea0
push eax
push 0x21
call fcn.0040ad5f
mov esi, dword [esp + 0x18]
and dword [edi + 0x1c], 0xffff3fff
mov eax, dword [edi + 0x1c]
test al, 4
je 0x428605
and eax, 0xfffffffb
or eax, 2
mov dword [edi + 0x1c], eax
cmp dword [0x42d54c], 0
jne 0x428bd4
mov edx, dword [esp + 0x668]
test edx, edx
jne 0x428624
lea edx, [esp + 0x460]
push dword [esp + 0x670]
mov ecx, edi
call fcn.00407799
cmp eax, ebx
je 0x428bd4
push dword [edi + 4]
push 0x402244
call fcn.0040c37c
mov eax, dword [esp + 0x240]
pop ecx
pop ecx
test eax, eax
jne 0x428658
lea eax, [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ecx, edi
push 0
push dword [esp + 0x244]
push eax
call fcn.00407232
cmp eax, ebx
je 0x428bd4
mov edx, dword [esp + 0x238]
mov eax, edx
test edx, edx
jne 0x428686
lea eax, [esp + 0x30]
xor ecx, ecx
cmp word [eax], cx
je 0x428af7
test edx, edx
jne 0x428699
lea edx, [esp + 0x30]
mov ecx, dword [edi + 4]
call fcn.00428d2d
test eax, eax
je 0x4286c1
mov ecx, dword [edi + 4]
mov edx, edi
push esi
push dword [esp + 0x20]
call fcn.00428c15
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
jmp 0x4288ff
mov edx, dword [edi + 0x1c]
push ecx
and edx, 0x800
push ecx
mov ecx, dword [edi + 4]
shl edx, 0xa
call fcn.004061ee
mov esi, eax
cmp esi, 0xffffffff
je 0x428bc9
mov ecx, esi
call fcn.0040f521
test eax, eax
je 0x4286f8
mov ecx, 0x80
mov dword [esp + 0x18], ecx
jmp 0x4286fc
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x238]
test eax, eax
jne 0x42870b
lea eax, [esp + 0x30]
mov edx, dword [esp + 0x1c]
push eax
push dword [esp + 0x10]
lea eax, [esp + 0x28]
push edi
push eax
push ecx
mov ecx, esi
call fcn.0040770c
cmp dword [0x443d00], 0
mov dword [esp + 0x24], eax
jne 0x428bc3
mov ecx, dword [esp + 0x238]
test ecx, ecx
jne 0x428742
lea ecx, [esp + 0x30]
push ecx
call dword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetFileAttributesW]
mov ecx, dword [esp + 0x238]
test al, 2
jne 0x428787
test ecx, ecx
jne 0x42875c
lea ecx, [esp + 0x30]
call fcn.0040680b
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
cmp eax, 0xffffffff
je 0x428bb6
push eax
call dword [sym.imp.msvcrt.dll__get_osfhandle]
pop ecx
push eax
call dword [sym.imp.api_ms_win_core_file_l1_2_1.dll_SetEndOfFile]
mov ecx, dword [esp + 0xc]
jmp 0x4287a2
test ecx, ecx
jne 0x42878f
lea ecx, [esp + 0x30]
push ecx
push ecx
mov edx, ebx
call fcn.004061ee
mov ecx, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ecx
cmp ecx, 0xffffffff
je 0x428bb6
cmp dword [0x42d5d4], 0
je 0x42883a
cmp dword [esp + 0x20], 0
jle 0x42882d
mov eax, dword [esp + 0x238]
test eax, eax
jne 0x4287ce
lea eax, [esp + 0x30]
mov edx, dword [esp + 0x1c]
push esi
push eax
push dword [esp + 0x28]
call fcn.00428f33
cmp dword [0x42d568], 0
mov ecx, dword [esp + 0xc]
je 0x42882d
call fcn.0040f521
test eax, eax
jne 0x428829
mov edx, dword [esp + 0x238]
test edx, edx
jne 0x428802
lea edx, [esp + 0x30]
push dword [esp + 0x28]
lea ecx, [esp + 0x14]
push dword [esp + 0x20]
push dword [esp + 0x28]
call fcn.004282ce
cmp eax, ebx
je 0x428b4c
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
jmp 0x42882d
mov ecx, dword [esp + 0xc]
cmp dword [0x42d5d4], 0
jne 0x4288ed
mov eax, dword [esp + 0x24]
jmp 0x428844
mov ecx, dword [esp + 0xc]
cmp eax, ebx
jne 0x4288ed
mov eax, dword [esp + 0x238]
test eax, eax
jne 0x42885b
lea eax, [esp + 0x30]
mov edx, dword [esp + 0x1c]
push esi
push eax
push dword [esp + 0x28]
call fcn.00428f33
cmp dword [0x42d568], 0
mov ecx, dword [esp + 0xc]
je 0x4288ba
call fcn.0040f521
test eax, eax
jne 0x4288b6
mov edx, dword [esp + 0x238]
test edx, edx
jne 0x42888f
lea edx, [esp + 0x30]
push dword [esp + 0x28]
lea ecx, [esp + 0x14]
push dword [esp + 0x20]
push dword [esp + 0x28]
call fcn.004282ce
cmp eax, ebx
je 0x428b6e
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
jmp 0x4288ba
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x238]
test eax, eax
jne 0x4288c9
lea eax, [esp + 0x30]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edi
lea eax, [esp + 0x2c]
mov ecx, esi
push eax
push dword [esp + 0x28]
call fcn.0040770c
cmp dword [0x42d5d4], 0
je 0x428840
xor eax, eax
mov ecx, esi
mov dword [0x42d5d4], eax
call fcn.0040caaa
mov esi, dword [esp + 0x18]
mov edx, dword [edi + 0x20]
xor eax, eax
mov dword [0x42d56c], eax
mov dword [esp + 0x24], edx
test edx, edx
je 0x428ae7
mov eax, dword [edx + 0x1c]
test al, 4
je 0x428925
and eax, 0xfffffffb
or eax, 2
mov dword [edx + 0x1c], eax
mov ecx, dword [esp + 0x450]
test ecx, ecx
jne 0x428937
lea ecx, [esp + 0x248]
push dword [edi + 4]
push dword [edx]
mov edx, dword [esp + 0x460]
call fcn.00407408
test eax, eax
je 0x428957
xor esi, esi
push esi
push eax
call fcn.00415469
jmp 0x428976
mov eax, dword [esp + 0x450]
test eax, eax
jne 0x428969
lea eax, [esp + 0x248]
push eax
push 0x402244
call fcn.0040c37c
xor esi, esi
pop ecx
pop ecx
mov ecx, dword [esp + 0x450]
test ecx, ecx
jne 0x42898a
lea ecx, [esp + 0x248]
call fcn.00404f35
test eax, eax
je 0x428ace
mov edx, dword [esp + 0x238]
test edx, edx
jne 0x4289a6
lea edx, [esp + 0x30]
mov ecx, dword [esp + 0x450]
test ecx, ecx
jne 0x4289b8
lea ecx, [esp + 0x248]
call fcn.00428d2d
test eax, eax
je 0x4289d3
push esi
push 0x2340
call fcn.00415469
pop ecx
pop ecx
jmp 0x428ace
mov ecx, dword [esp + 0x450]
test ecx, ecx
jne 0x4289e5
lea ecx, [esp + 0x248]
push ecx
push ecx
xor edx, edx
call fcn.004061ee
mov esi, eax
cmp esi, 0xffffffff
je 0x428b9a
mov ecx, esi
call fcn.0040f521
test eax, eax
je 0x428aaf
mov ecx, 0x80
mov dword [esp + 0x18], ecx
jmp 0x428ab3
mov eax, dword [esp + 0x238]
test eax, eax
jne 0x428a25
lea eax, [esp + 0x30]
mov edx, dword [esp + 0x1c]
push eax
push dword [esp + 0x10]
lea eax, [esp + 0x28]
push dword [esp + 0x2c]
push eax
push ecx
mov ecx, esi
call fcn.0040770c
test eax, eax
je 0x428ac0
mov eax, dword [esp + 0x238]
test eax, eax
jne 0x428a52
lea eax, [esp + 0x30]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
push esi
push eax
push dword [esp + 0x28]
call fcn.00428f33
cmp dword [0x42d568], 0
je 0x428aaf
mov ecx, dword [esp + 0xc]
call fcn.0040f521
test eax, eax
jne 0x428aaf
mov edx, dword [esp + 0x238]
test edx, edx
jne 0x428a8a
lea edx, [esp + 0x30]
push dword [esp + 0x28]
lea ecx, [esp + 0x14]
push dword [esp + 0x20]
push dword [esp + 0x28]
call fcn.004282ce
cmp eax, ebx
je 0x428b84
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x18]
cmp dword [0x42d5d4], 0
je 0x428a16
xor eax, eax
mov ecx, esi
mov dword [0x42d5d4], eax
call fcn.0040caaa
mov edx, dword [esp + 0x24]
mov edx, dword [edx + 0x20]
mov dword [esp + 0x24], edx
test edx, edx
jne 0x428915
mov esi, dword [esp + 0x18]
xor eax, eax
mov edx, dword [esp + 0x2c]
mov ecx, edi
push eax
push dword [esp + 0x10]
call fcn.004076a8
push dword [esp + 0x14]
mov edx, dword [edi + 0x18]
mov ecx, fcn.0040aea0
push 0x21
call fcn.0040aebc
test al, al
jne 0x4285ee
mov ecx, dword [esp + 0x14]
call fcn.00412323
push dword [esp + 0x450]
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
push dword [esp + 0x668]
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
push dword [esp + 0x238]
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
xor eax, eax
jmp 0x428c00
mov ecx, dword [esp + 0x14]
call fcn.00412323
mov ecx, esi
call fcn.0040caaa
mov ecx, dword [esp + 0x10]
call fcn.0040caaa
mov edx, ebx
xor ecx, ecx
call fcn.004283b9
mov ecx, dword [esp + 0x14]
call fcn.00412323
mov ecx, esi
call fcn.0040caaa
mov ecx, dword [esp + 0x10]
jmp 0x428b60
mov ecx, dword [esp + 0x14]
call fcn.00412323
mov ecx, esi
call fcn.0040caaa
mov ecx, dword [esp + 0x10]
jmp 0x428b60
mov ecx, dword [esp + 0x14]
call fcn.00412323
mov ecx, dword [esp + 0xc]
call fcn.0040caaa
push 0x6e
pop ecx
call fcn.0042961f
jmp 0x428b65
mov ecx, dword [esp + 0x14]
call fcn.00412323
mov ecx, esi
jmp 0x428ba7
mov ecx, dword [esp + 0x14]
jmp 0x428bba
mov ecx, dword [esp + 0x14]
call fcn.00412323
jmp 0x428bac
mov ecx, dword [esp + 0x14]
call fcn.00412323
lea ecx, [esp + 0x248]
call fcn.0040fd18
lea ecx, [esp + 0x460]
call fcn.0040fd18
lea ecx, [esp + 0x30]
call fcn.0040fd18
mov eax, ebx
mov ecx, dword [esp + 0x67c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00416ce0
mov esp, ebp
pop ebp
ret