Function at 0x401a97
Capabilities:
Clear file content

Disassembly:
push ecx
or dword [0x420558], 0xffffffff
push ebx
push ebp
push esi
xor ebp, ebp
push edi
xor edi, edi
inc ebp
cmp byte [0x426a72], 0
mov dword [esp + 0x10], edi
mov dword [0x420574], edi
mov dword [0x420570], edi
mov dword [0x420578], edi
mov dword [0x420658], ebp
jne 0x401ba0
call fcn.004042b7
test eax, eax
je 0x401b0c
push ebp
push 0x420a84
mov esi, 0x420684
push esi
call fcn.0040379f
call fcn.004042b7
test eax, eax
je 0x401b0c
push esi
push 0x427f84
mov ecx, 0x424098
call fcn.004018f8
push 0x34
pop eax
jmp 0x401e3e
cmp byte [0x426a72], 0
jne 0x401ba0
mov esi, dword [0x40f92c]
mov ebx, dword [0x40f928]
push edi
push 0x800
push esi
push ebx
call fcn.00401070
cmp edx, dword [0x40f924]
jg 0x401ba0
jl 0x401b44
cmp eax, dword [0x40f920]
jae 0x401ba0
cmp esi, edi
jl 0x401b6f
jg 0x401b52
cmp ebx, 0x5f5e100
jbe 0x401b6f
mov ecx, dword [0x420580]
call fcn.00403425
cmp edx, dword [0x40f924]
jl 0x401ba0
jg 0x401b6f
cmp eax, dword [0x40f920]
jbe 0x401ba0
push edi
push dword [0x40f928]
push dword [0x42066c]
call fcn.00408c23
push dword [0x42066c]
call fcn.0040372f
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push edi
push edi
push dword [0x42066c]
call fcn.00408c23
call fcn.00403b2b
mov cx, word [0x4205bc]
movzx eax, cx
cmp eax, edi
je 0x401c2c
add eax, 0xfffffff8
cmp eax, ebp
ja 0x401be9
xor eax, eax
cmp cx, 9
sete al
push eax
call fcn.00406858
cmp eax, edi
je 0x401d13
xor ecx, ecx
cmp eax, 3
sete cl
lea ecx, [ecx*4 + 2]
mov dword [esp + 0x10], ecx
jmp 0x401d13
push 0x421284
push 0x6c
call fcn.004089d9
push eax
push 0x427f84
call fcn.00409bef
add esp, 0xc
call fcn.00403aa3
cmp byte [0x426a72], 0
jne 0x401c25
call fcn.0040caf1
push 0x420a84
push 0x420684
call fcn.00403655
mov eax, ebp
jmp 0x401e3e
mov esi, 0x410554
mov dword [0x420680], edi
xor ebp, ebp
mov ebx, 0x10000
mov dword [0x42067c], esi
add dword [0x420568], 0xffffffff
adc dword [0x42056c], 0xffffffff
js 0x401c6f
jg 0x401c5f
cmp dword [0x420568], 0
jb 0x401c6f
mov eax, dword [0x420560]
movzx eax, byte [eax]
inc dword [0x420560]
jmp 0x401c74
call fcn.00403d36
cmp eax, 0xffffffff
je 0x401cfe
cmp dword [0x420654], 0
jne 0x401cfe
mov ecx, dword [0x42067c]
mov byte [ecx], al
inc dword [0x42067c]
inc dword [0x420680]
cmp dword [0x420680], ebx
jne 0x401c44
push dword [0x42058c]
mov eax, dword [0x410550]
push dword [0x420588]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add edi, ebx
adc ebp, 0
add ecx, edi
adc eax, ebp
push eax
push ecx
push dword [0x40f92c]
push dword [0x40f928]
push ebp
push edi
call fcn.00409c4b
call fcn.00409176
cmp dword [0x4237e0], 0
jne 0x401cfe
push 0
push dword [0x420680]
push esi
call fcn.004043be
and dword [0x420680], 0
jmp 0x401c3e
mov eax, dword [0x420680]
test eax, eax
je 0x401d10
push 0
push eax
push esi
call fcn.004043be
xor ebp, ebp
inc ebp
mov cl, byte [0x426a72]
xor bl, bl
cmp dword [0x4237e0], 0
je 0x401d2a
test cl, cl
jne 0x401d2a
inc bl
mov eax, dword [0x420654]
mov esi, 0x427f84
test eax, eax
je 0x401d69
cmp eax, ebp
jle 0x401d65
cmp byte [0x4269b8], 0
jne 0x401d4b
test cl, cl
jne 0x401d4b
mov bl, 1
push 0x420684
push esi
mov ecx, 0x424098
call fcn.00401940
mov dword [esp + 0x10], 0x32
jmp 0x401d7a
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x10], 6
jne 0x401d7a
mov ecx, 0x424098
call fcn.004018bc
cmp byte [0x42170d], 0
je 0x401d8c
cmp byte [0x42170e], 0
je 0x401d9b
mov eax, dword [0x420558]
not eax
cmp eax, dword [0x4205c4]
jne 0x401da6
cmp byte [0x426a72], 0
je 0x401dfb
jmp 0x401df2
cmp dword [esp + 0x10], ebp
push 2
pop edi
jle 0x401db5
cmp dword [esp + 0x10], edi
jne 0x401dda
mov eax, dword [0x410550]
test byte [eax + 0x28], 1
push 0x421284
je 0x401dc9
push 0x70
jmp 0x401dcb
push 0x71
call fcn.004089d9
push eax
push esi
call fcn.00409bef
add esp, 0xc
cmp byte [0x4269b8], 0
jne 0x401dee
cmp byte [0x426a72], 0
jne 0x401dee
mov bl, 1
mov dword [esp + 0x10], edi
cmp byte [0x426a72], 0
jne 0x401e22
cmp dword [esp + 0x10], 0
je 0x401e14
push dword [0x42066c]
call fcn.0040372f
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x426a72], 0
jne 0x401e22
call fcn.0040caf1
test bl, bl
je 0x401e35
push 0x420a84
push 0x420684
call fcn.00403655
call fcn.00403aa3
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret