Function at 0x401cf6
Capabilities:
Clear file content

Disassembly:
push ecx
or dword [0x421550], 0xffffffff
push ebx
push ebp
push esi
xor ebp, ebp
push edi
xor edi, edi
inc ebp
cmp byte [0x429792], 0
mov dword [esp + 0x10], edi
mov dword [0x42156c], edi
mov dword [0x421568], edi
mov dword [0x421570], edi
mov dword [0x421650], ebp
jne 0x401e06
call fcn.004046d3
test eax, eax
je 0x401d72
push ebp
mov esi, 0x421a7c
push esi
mov ebx, 0x42167c
push ebx
call fcn.00403c7e
call fcn.004046d3
test eax, eax
je 0x401d72
push esi
push ebx
push 0x42b0a4
push 0x42aca4
mov ecx, 0x42698c
call fcn.00401aad
push 0x34
pop eax
jmp 0x4020bf
cmp byte [0x429792], 0
jne 0x401e06
mov esi, dword [0x41092c]
mov ebx, dword [0x410928]
push edi
push 0x800
push esi
push ebx
call fcn.00401070
cmp edx, dword [0x410924]
jg 0x401e06
jl 0x401daa
cmp eax, dword [0x410920]
jae 0x401e06
cmp esi, edi
jl 0x401dd5
jg 0x401db8
cmp ebx, 0x5f5e100
jbe 0x401dd5
mov ecx, dword [0x421578]
call fcn.00403783
cmp edx, dword [0x410924]
jl 0x401e06
jg 0x401dd5
cmp eax, dword [0x410920]
jbe 0x401e06
push edi
push dword [0x410928]
push dword [0x421664]
call fcn.0040927d
push dword [0x421664]
call fcn.00403aac
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push edi
push edi
push dword [0x421664]
call fcn.0040927d
call fcn.00403eee
mov cx, word [0x4215b4]
movzx eax, cx
cmp eax, edi
je 0x401e98
add eax, 0xfffffff8
cmp eax, ebp
ja 0x401e4f
xor eax, eax
cmp cx, 9
sete al
push eax
call fcn.00406c45
cmp eax, edi
je 0x401f7f
xor ecx, ecx
cmp eax, 3
sete cl
lea ecx, [ecx*4 + 2]
mov dword [esp + 0x10], ecx
jmp 0x401f7f
push 0x42227c
call fcn.0040c7be
push eax
push 0x6c
call fcn.004090ab
push eax
push 0x42b0a4
call fcn.0040a354
add esp, 0xc
call fcn.00403e66
cmp byte [0x429792], 0
jne 0x401e91
call fcn.0040d4f0
push 0x421a7c
push 0x42167c
call fcn.004039a8
mov eax, ebp
jmp 0x4020bf
mov esi, 0x41154c
mov dword [0x421678], edi
xor ebp, ebp
mov ebx, 0x10000
mov dword [0x421674], esi
add dword [0x421560], 0xffffffff
adc dword [0x421564], 0xffffffff
js 0x401edb
jg 0x401ecb
cmp dword [0x421560], 0
jb 0x401edb
mov eax, dword [0x421558]
movzx eax, byte [eax]
inc dword [0x421558]
jmp 0x401ee0
call fcn.00404146
cmp eax, 0xffffffff
je 0x401f6a
cmp dword [0x42164c], 0
jne 0x401f6a
mov ecx, dword [0x421674]
mov byte [ecx], al
inc dword [0x421674]
inc dword [0x421678]
cmp dword [0x421678], ebx
jne 0x401eb0
push dword [0x421584]
mov eax, dword [0x411548]
push dword [0x421580]
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 [0x41092c]
push dword [0x410928]
push ebp
push edi
call fcn.0040a3b1
call fcn.0040990c
cmp byte [0x42584a], 0
jne 0x401f6a
push 0
push dword [0x421678]
push esi
call fcn.004047da
and dword [0x421678], 0
jmp 0x401eaa
mov eax, dword [0x421678]
test eax, eax
je 0x401f7c
push 0
push eax
push esi
call fcn.004047da
xor ebp, ebp
inc ebp
mov cl, byte [0x429792]
xor bl, bl
cmp byte [0x42584a], bl
je 0x401f95
test cl, cl
jne 0x401f95
inc bl
mov eax, dword [0x42164c]
mov esi, 0x42b0a4
test eax, eax
je 0x401fde
cmp eax, ebp
jle 0x401fda
cmp byte [0x429730], 0
jne 0x401fb6
test cl, cl
jne 0x401fb6
mov bl, 1
push 0x421a7c
push 0x42167c
push esi
push 0x42aca4
mov ecx, 0x42698c
call fcn.00401b65
mov dword [esp + 0x10], 0x32
jmp 0x401fef
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x10], 6
jne 0x401fef
mov ecx, 0x42698c
call fcn.0040190c
cmp byte [0x422705], 0
je 0x402001
cmp byte [0x422706], 0
je 0x402010
mov eax, dword [0x421550]
not eax
cmp eax, dword [0x4215bc]
jne 0x40201b
cmp byte [0x429792], 0
je 0x40207c
jmp 0x402073
cmp dword [esp + 0x10], ebp
push 2
pop edi
jle 0x40202a
cmp dword [esp + 0x10], edi
jne 0x40205b
mov eax, dword [0x411548]
test byte [eax + 0x28], 1
push 0x42227c
je 0x402044
call fcn.0040c7be
push eax
push 0x70
jmp 0x40204c
call fcn.0040c7be
push eax
push 0x71
call fcn.004090ab
push eax
push esi
call fcn.0040a354
add esp, 0xc
cmp byte [0x429730], 0
jne 0x40206f
cmp byte [0x429792], 0
jne 0x40206f
mov bl, 1
mov dword [esp + 0x10], edi
cmp byte [0x429792], 0
jne 0x4020a3
cmp dword [esp + 0x10], 0
je 0x402095
push dword [0x421664]
call fcn.00403aac
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x429792], 0
jne 0x4020a3
call fcn.0040d4f0
test bl, bl
je 0x4020b6
push 0x421a7c
push 0x42167c
call fcn.004039a8
call fcn.00403e66
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret