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.0040497c
mov edi, 0x421c8c
test eax, eax
je 0x401e0e
push ebp
push edi
call fcn.00403e7f
call fcn.0040497c
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.00403a84
cmp edx, dword [0x410924]
jl 0x401eab
jg 0x401e73
cmp eax, dword [0x410920]
jbe 0x401eab
push ebx
push dword [0x410928]
push dword [0x421c74]
call fcn.00409647
push dword [0x421c74]
call fcn.00403def
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push ebx
push ebx
push dword [0x421c74]
call fcn.00409647
jmp 0x401eab
mov edi, 0x421c8c
call fcn.00404165
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.00406bf9
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.004093fa
push eax
push 0x42aeda
call fcn.0040a76e
add esp, 0xc
call fcn.004040dd
cmp byte [0x4295c2], bl
jne 0x401f22
call fcn.0040dae9
push edi
call fcn.00403ca9
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.00404422
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.0040361f
add eax, dword [0x421b90]
adc edx, dword [0x421b94]
push edx
push eax
push dword [0x41092c]
push dword [0x410928]
push ebx
push ebp
call fcn.0040a7cb
call fcn.00409d26
cmp byte [0x425672], 0
jne 0x402008
push 0
push dword [0x421c88]
push esi
call fcn.004049f1
and dword [0x421c88], 0
jmp 0x401f3b
mov eax, dword [0x421c88]
test eax, eax
je 0x40201a
push 0
push eax
push esi
call fcn.004049f1
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.004093fa
push eax
push esi
call fcn.0040a76e
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.00403def
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x4295c2], 0
jne 0x40213d
call fcn.0040dae9
cmp byte [esp + 0x13], 0
je 0x40214a
push edi
call fcn.00403ca9
call fcn.004040dd
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret