Function at 0x401a90
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 0x401b99
call fcn.004042b0
test eax, eax
je 0x401b05
push ebp
push 0x420a84
mov esi, 0x420684
push esi
call fcn.00403798
call fcn.004042b0
test eax, eax
je 0x401b05
push esi
push 0x427f84
mov ecx, 0x424098
call fcn.004018f1
push 0x34
pop eax
jmp 0x401e37
cmp byte [0x426a72], 0
jne 0x401b99
mov esi, dword [0x40f92c]
mov ebx, dword [0x40f928]
push edi
push 0x800
push esi
push ebx
call fcn.00401070
cmp edx, dword [0x40f924]
jg 0x401b99
jl 0x401b3d
cmp eax, dword [0x40f920]
jae 0x401b99
cmp esi, edi
jl 0x401b68
jg 0x401b4b
cmp ebx, 0x5f5e100
jbe 0x401b68
mov ecx, dword [0x420580]
call fcn.0040341e
cmp edx, dword [0x40f924]
jl 0x401b99
jg 0x401b68
cmp eax, dword [0x40f920]
jbe 0x401b99
push edi
push dword [0x40f928]
push dword [0x42066c]
call fcn.00408b69
push dword [0x42066c]
call fcn.00403728
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push edi
push edi
push dword [0x42066c]
call fcn.00408b69
call fcn.00403b24
mov cx, word [0x4205bc]
movzx eax, cx
cmp eax, edi
je 0x401c25
add eax, 0xfffffff8
cmp eax, ebp
ja 0x401be2
xor eax, eax
cmp cx, 9
sete al
push eax
call fcn.004067a0
cmp eax, edi
je 0x401d0c
xor ecx, ecx
cmp eax, 3
sete cl
lea ecx, [ecx*4 + 2]
mov dword [esp + 0x10], ecx
jmp 0x401d0c
push 0x421284
push 0x6c
call fcn.00408921
push eax
push 0x427f84
call fcn.004099cb
add esp, 0xc
call fcn.00403a9c
cmp byte [0x426a72], 0
jne 0x401c1e
call fcn.0040c7a9
push 0x420a84
push 0x420684
call fcn.0040364e
mov eax, ebp
jmp 0x401e37
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 0x401c68
jg 0x401c58
cmp dword [0x420568], 0
jb 0x401c68
mov eax, dword [0x420560]
movzx eax, byte [eax]
inc dword [0x420560]
jmp 0x401c6d
call fcn.00403d2f
cmp eax, 0xffffffff
je 0x401cf7
cmp dword [0x420654], 0
jne 0x401cf7
mov ecx, dword [0x42067c]
mov byte [ecx], al
inc dword [0x42067c]
inc dword [0x420680]
cmp dword [0x420680], ebx
jne 0x401c3d
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.00409a27
call fcn.004090bc
cmp dword [0x4237e0], 0
jne 0x401cf7
push 0
push dword [0x420680]
push esi
call fcn.004043b7
and dword [0x420680], 0
jmp 0x401c37
mov eax, dword [0x420680]
test eax, eax
je 0x401d09
push 0
push eax
push esi
call fcn.004043b7
xor ebp, ebp
inc ebp
mov cl, byte [0x426a72]
xor bl, bl
cmp dword [0x4237e0], 0
je 0x401d23
test cl, cl
jne 0x401d23
inc bl
mov eax, dword [0x420654]
mov esi, 0x427f84
test eax, eax
je 0x401d62
cmp eax, ebp
jle 0x401d5e
cmp byte [0x4269b8], 0
jne 0x401d44
test cl, cl
jne 0x401d44
mov bl, 1
push 0x420684
push esi
mov ecx, 0x424098
call fcn.00401939
mov dword [esp + 0x10], 0x32
jmp 0x401d73
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x10], 6
jne 0x401d73
mov ecx, 0x424098
call fcn.004018b5
cmp byte [0x42170d], 0
je 0x401d85
cmp byte [0x42170e], 0
je 0x401d94
mov eax, dword [0x420558]
not eax
cmp eax, dword [0x4205c4]
jne 0x401d9f
cmp byte [0x426a72], 0
je 0x401df4
jmp 0x401deb
cmp dword [esp + 0x10], ebp
push 2
pop edi
jle 0x401dae
cmp dword [esp + 0x10], edi
jne 0x401dd3
mov eax, dword [0x410550]
test byte [eax + 0x28], 1
push 0x421284
je 0x401dc2
push 0x70
jmp 0x401dc4
push 0x71
call fcn.00408921
push eax
push esi
call fcn.004099cb
add esp, 0xc
cmp byte [0x4269b8], 0
jne 0x401de7
cmp byte [0x426a72], 0
jne 0x401de7
mov bl, 1
mov dword [esp + 0x10], edi
cmp byte [0x426a72], 0
jne 0x401e1b
cmp dword [esp + 0x10], 0
je 0x401e0d
push dword [0x42066c]
call fcn.00403728
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x426a72], 0
jne 0x401e1b
call fcn.0040c7a9
test bl, bl
je 0x401e2e
push 0x420a84
push 0x420684
call fcn.0040364e
call fcn.00403a9c
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret