Function at 0x401d98
Capabilities:
Clear file content

Disassembly:
push ecx
push ecx
or dword [0x421b50], 0xffffffff
push ebx
push ebp
xor ebx, ebx
xor ebp, ebp
inc ebp
push esi
push edi
mov dword [esp + 0x14], ebx
mov dword [0x421b6c], ebx
mov dword [0x421b68], ebx
mov dword [0x421b70], ebx
mov dword [0x421c60], ebp
cmp byte [0x4295c2], bl
jne 0x401ea6
call fcn.0040496c
mov edi, 0x421c8c
test eax, eax
je 0x401e0e
push ebp
push edi
call fcn.00403e6f
call fcn.0040496c
test eax, eax
je 0x401e0e
push edi
push ebx
push 0x42aeda
push 0x42aada
mov ecx, 0x4267b8
call fcn.00401b44
push 0x34
pop eax
jmp 0x402153
cmp byte [0x4295c2], bl
jne 0x401eab
mov esi, dword [0x41092c]
push ebx
push 0x800
push esi
push dword [0x410928]
call fcn.00401070
cmp edx, dword [0x410924]
jg 0x401eab
jl 0x401e44
cmp eax, dword [0x410920]
jae 0x401eab
cmp esi, ebx
jl 0x401e73
jg 0x401e56
cmp dword [0x410928], 0x5f5e100
jbe 0x401e73
mov ecx, dword [0x421b78]
call fcn.00403a74
cmp edx, dword [0x410924]
jl 0x401eab
jg 0x401e73
cmp eax, dword [0x410920]
jbe 0x401eab
push ebx
push dword [0x410928]
push dword [0x421c74]
call fcn.00409615
push dword [0x421c74]
call fcn.00403ddf
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push ebx
push ebx
push dword [0x421c74]
call fcn.00409615
jmp 0x401eab
mov edi, 0x421c8c
call fcn.00404155
mov cx, word [0x421bc4]
movzx eax, cx
cmp eax, ebx
je 0x401f29
add eax, 0xfffffff8
cmp eax, ebp
ja 0x401ef4
xor eax, eax
cmp cx, 9
sete al
push eax
call fcn.00406be9
cmp eax, ebx
je 0x402024
xor ecx, ecx
cmp eax, 3
sete cl
lea ecx, [ecx*4 + 2]
mov dword [esp + 0x14], ecx
jmp 0x402024
push edi
push 0x6c
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
add esp, 0xc
call fcn.004040cd
cmp byte [0x4295c2], bl
jne 0x401f22
call fcn.0040dab7
push edi
call fcn.00403c99
mov eax, ebp
jmp 0x402153
mov esi, 0x411b4c
mov dword [0x421c88], ebx
xor ebp, ebp
mov edi, 0x10000
mov dword [0x421c84], esi
add dword [0x421b60], 0xffffffff
adc dword [0x421b64], 0xffffffff
js 0x401f6c
jg 0x401f5c
cmp dword [0x421b60], 0
jb 0x401f6c
mov eax, dword [0x421b58]
movzx eax, byte [eax]
inc dword [0x421b58]
jmp 0x401f71
call fcn.00404412
cmp eax, 0xffffffff
je 0x402008
cmp dword [0x421c5c], 0
jne 0x402008
mov ecx, dword [0x421c84]
mov byte [ecx], al
inc dword [0x421c84]
inc dword [0x421c88]
cmp dword [0x421c88], edi
jne 0x401f41
push dword [0x421b8c]
mov ecx, dword [0x421b78]
push dword [0x421b88]
add ebp, edi
adc ebx, 0
call fcn.0040360f
add eax, dword [0x421b90]
adc edx, dword [0x421b94]
push edx
push eax
push dword [0x41092c]
push dword [0x410928]
push ebx
push ebp
call fcn.0040a799
call fcn.00409cf4
cmp byte [0x425672], 0
jne 0x402008
push 0
push dword [0x421c88]
push esi
call fcn.004049e1
and dword [0x421c88], 0
jmp 0x401f3b
mov eax, dword [0x421c88]
test eax, eax
je 0x40201a
push 0
push eax
push esi
call fcn.004049e1
xor ebp, ebp
xor ebx, ebx
inc ebp
mov edi, 0x421c8c
cmp byte [0x425672], 0
mov cl, byte [0x4295c2]
mov byte [esp + 0x13], 0
je 0x402041
test cl, cl
jne 0x402041
mov byte [esp + 0x13], 1
mov eax, dword [0x421c5c]
mov esi, 0x42aeda
cmp eax, ebx
je 0x402085
cmp eax, ebp
jle 0x402081
cmp byte [0x429560], 0
jne 0x402065
test cl, cl
jne 0x402065
mov byte [esp + 0x13], 1
push edi
push ebx
push esi
push 0x42aada
mov ecx, 0x4267b8
call fcn.00401c0d
mov dword [esp + 0x14], 0x32
jmp 0x402096
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x14], 6
jne 0x402096
mov ecx, 0x4267b8
call fcn.0040190d
cmp byte [0x42252d], 0
je 0x4020a8
cmp byte [0x42252e], 0
je 0x4020b7
mov eax, dword [0x421b50]
not eax
cmp eax, dword [0x421bcc]
jne 0x4020c2
cmp byte [0x4295c2], 0
je 0x402117
jmp 0x40210e
cmp dword [esp + 0x14], 1
push 2
pop ebp
jle 0x4020d2
cmp dword [esp + 0x14], ebp
jne 0x4020f3
mov eax, dword [0x411b48]
test byte [eax + 0x40], 1
push edi
je 0x4020e2
push 0x70
jmp 0x4020e4
push 0x71
call fcn.004093c8
push eax
push esi
call fcn.0040a73c
add esp, 0xc
cmp byte [0x429560], 0
jne 0x40210a
cmp byte [0x4295c2], 0
jne 0x40210a
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], ebp
cmp byte [0x4295c2], 0
jne 0x40213d
cmp dword [esp + 0x14], ebx
je 0x40212f
push dword [0x421c74]
call fcn.00403ddf
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x4295c2], 0
jne 0x40213d
call fcn.0040dab7
cmp byte [esp + 0x13], 0
je 0x40214a
push edi
call fcn.00403c99
call fcn.004040cd
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret