Function at 0x401d8e
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 0x401e9e
call fcn.0040481c
test eax, eax
je 0x401e0a
push ebp
mov esi, 0x421a7c
push esi
mov ebx, 0x42167c
push ebx
call fcn.00403dc7
call fcn.0040481c
test eax, eax
je 0x401e0a
push esi
push ebx
push 0x42b0a4
push 0x42aca4
mov ecx, 0x42698c
call fcn.00401b34
push 0x34
pop eax
jmp 0x402157
cmp byte [0x429792], 0
jne 0x401e9e
mov esi, dword [0x41092c]
mov ebx, dword [0x410928]
push edi
push 0x800
push esi
push ebx
call fcn.00401070
cmp edx, dword [0x410924]
jg 0x401e9e
jl 0x401e42
cmp eax, dword [0x410920]
jae 0x401e9e
cmp esi, edi
jl 0x401e6d
jg 0x401e50
cmp ebx, 0x5f5e100
jbe 0x401e6d
mov ecx, dword [0x421578]
call fcn.004038a9
cmp edx, dword [0x410924]
jl 0x401e9e
jg 0x401e6d
cmp eax, dword [0x410920]
jbe 0x401e9e
push edi
push dword [0x410928]
push dword [0x421664]
call fcn.00409445
push dword [0x421664]
call fcn.00403bf5
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push edi
push edi
push dword [0x421664]
call fcn.00409445
call fcn.00404037
mov cx, word [0x4215b4]
movzx eax, cx
cmp eax, edi
je 0x401f30
add eax, 0xfffffff8
cmp eax, ebp
ja 0x401ee7
xor eax, eax
cmp cx, 9
sete al
push eax
call fcn.00406d82
cmp eax, edi
je 0x402017
xor ecx, ecx
cmp eax, 3
sete cl
lea ecx, [ecx*4 + 2]
mov dword [esp + 0x10], ecx
jmp 0x402017
push 0x42227c
call fcn.0040ca14
push eax
push 0x6c
call fcn.00409273
push eax
push 0x42b0a4
call fcn.0040a567
add esp, 0xc
call fcn.00403faf
cmp byte [0x429792], 0
jne 0x401f29
call fcn.0040d804
push 0x421a7c
push 0x42167c
call fcn.00403ace
mov eax, ebp
jmp 0x402157
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 0x401f73
jg 0x401f63
cmp dword [0x421560], 0
jb 0x401f73
mov eax, dword [0x421558]
movzx eax, byte [eax]
inc dword [0x421558]
jmp 0x401f78
call fcn.0040428f
cmp eax, 0xffffffff
je 0x402002
cmp dword [0x42164c], 0
jne 0x402002
mov ecx, dword [0x421674]
mov byte [ecx], al
inc dword [0x421674]
inc dword [0x421678]
cmp dword [0x421678], ebx
jne 0x401f48
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.0040a5c4
call fcn.00409b1f
cmp byte [0x42584a], 0
jne 0x402002
push 0
push dword [0x421678]
push esi
call fcn.00404923
and dword [0x421678], 0
jmp 0x401f42
mov eax, dword [0x421678]
test eax, eax
je 0x402014
push 0
push eax
push esi
call fcn.00404923
xor ebp, ebp
inc ebp
mov cl, byte [0x429792]
xor bl, bl
cmp byte [0x42584a], bl
je 0x40202d
test cl, cl
jne 0x40202d
inc bl
mov eax, dword [0x42164c]
mov esi, 0x42b0a4
test eax, eax
je 0x402076
cmp eax, ebp
jle 0x402072
cmp byte [0x429730], 0
jne 0x40204e
test cl, cl
jne 0x40204e
mov bl, 1
push 0x421a7c
push 0x42167c
push esi
push 0x42aca4
mov ecx, 0x42698c
call fcn.00401bfd
mov dword [esp + 0x10], 0x32
jmp 0x402087
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x10], 6
jne 0x402087
mov ecx, 0x42698c
call fcn.004018fd
cmp byte [0x422705], 0
je 0x402099
cmp byte [0x422706], 0
je 0x4020a8
mov eax, dword [0x421550]
not eax
cmp eax, dword [0x4215bc]
jne 0x4020b3
cmp byte [0x429792], 0
je 0x402114
jmp 0x40210b
cmp dword [esp + 0x10], ebp
push 2
pop edi
jle 0x4020c2
cmp dword [esp + 0x10], edi
jne 0x4020f3
mov eax, dword [0x411548]
test byte [eax + 0x28], 1
push 0x42227c
je 0x4020dc
call fcn.0040ca14
push eax
push 0x70
jmp 0x4020e4
call fcn.0040ca14
push eax
push 0x71
call fcn.00409273
push eax
push esi
call fcn.0040a567
add esp, 0xc
cmp byte [0x429730], 0
jne 0x402107
cmp byte [0x429792], 0
jne 0x402107
mov bl, 1
mov dword [esp + 0x10], edi
cmp byte [0x429792], 0
jne 0x40213b
cmp dword [esp + 0x10], 0
je 0x40212d
push dword [0x421664]
call fcn.00403bf5
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x429792], 0
jne 0x40213b
call fcn.0040d804
test bl, bl
je 0x40214e
push 0x421a7c
push 0x42167c
call fcn.00403ace
call fcn.00403faf
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret