Function at 0x421ba0
Capabilities:
Delete file
Move file
Read file on windows
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov ecx, dword [0x444364]
mov dword [ebp - 0x80], ecx
mov ecx, dword [0x463b30]
add ecx, dword [0x448724]
xor eax, eax
add ecx, dword [0x453150]
push ebx
add ecx, dword [0x448bac]
push esi
push edi
mov dword [0x448844], eax
mov dword [0x444364], eax
mov eax, dword [0x453180]
lea edi, [ecx + eax + 2]
imul edi, dword [0x453160]
add edi, dword [0x448664]
lea esi, [eax + 1]
add edi, edi
add edi, edi
add edi, edi
call fcn.00406e80
mov ecx, eax
mov eax, dword [0x453160]
mov edx, eax
imul edx, dword [0x453180]
lea edi, [eax*8]
mov dword [ebp - 0x20], ecx
add ecx, edi
mov dword [ebp - 0x5c], ecx
add ecx, edi
lea edx, [ecx + edx*8]
mov dword [ebp - 0x40], ecx
mov ecx, dword [0x448bac]
mov ebx, ecx
imul ebx, eax
mov dword [ebp - 0x8c], edx
lea edx, [edx + ebx*8]
mov ebx, dword [0x453150]
imul ebx, eax
mov dword [ebp - 0x84], edx
lea edx, [edx + ebx*8]
mov ebx, dword [0x448724]
imul ebx, eax
mov dword [ebp - 0x3c], edx
lea edx, [edx + ebx*8]
mov ebx, dword [0x463b30]
imul ebx, eax
cmp dword [0x448c00], 0
lea eax, [edx + ebx*8]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x50], eax
je 0x421c82
call fcn.00406e80
mov ecx, dword [0x448bac]
mov dword [ebp - 0x54], eax
mov eax, dword [0x448720]
xor edx, edx
cmp dword [0x443908], edx
sete dl
mov dword [ebp - 0x14], edx
test eax, eax
je 0x421ca0
sub ecx, edx
add ecx, 3
jmp 0x421ca6
mov ecx, dword [0x453180]
mov ebx, dword [0x45315c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], ebx
test eax, eax
je 0x421daf
mov eax, 1
mov ecx, 3
mov dword [ebp - 0x38], ecx
cmp esi, eax
jle 0x421ce0
mov edx, dword [0x448bcc]
cmp dword [edx + eax*4], 0
jle 0x421cd8
inc ecx
inc eax
cmp eax, esi
jl 0x421cd1
mov dword [ebp - 0x38], ecx
mov edi, dword [ebp - 0x38]
inc edi
imul edi, edi, 0xd
call fcn.00406e80
mov esi, eax
mov dword [0x45315c], eax
mov ecx, ebx
sub esi, ebx
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x421cf7
mov edx, dword [str.NONLINWT]
mov dword [eax + 0xd], edx
mov ecx, dword [0x43f7d8]
mov dword [eax + 0x11], ecx
mov edx, dword [0x43f7dc]
mov dword [eax + 0x15], edx
mov cl, byte [0x43f7e0]
mov byte [eax + 0x19], cl
mov ecx, dword [0x4444cc]
inc ecx
imul ecx, ecx, 0xd
add ecx, ebx
mov esi, eax
sub esi, ecx
mov dl, byte [ecx]
mov byte [esi + ecx + 0x1a], dl
inc ecx
test dl, dl
jne 0x421d35
mov ecx, dword [str._______Z]
mov dword [eax + 0x27], ecx
mov edx, dword [0x43f7e8]
mov dword [eax + 0x2b], edx
mov ecx, dword [0x43f7ec]
mov dword [eax + 0x2f], ecx
mov dl, byte [0x43f7f0]
xor edi, edi
mov byte [eax + 0x33], dl
cmp dword [0x453180], edi
jle 0x421dce
mov esi, dword [ebp - 0x30]
lea ebx, [eax + 0x34]
mov eax, dword [0x448bcc]
add esi, 0xd
add eax, 4
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx], 0
jle 0x421d9d
mov edx, ebx
add ebx, 0xd
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x421d93
add dword [ebp - 0x1c], 4
inc edi
add esi, 0xd
cmp edi, dword [0x453180]
jl 0x421d82
jmp 0x421dce
cmp dword [0x448c00], 0
je 0x421dce
mov edx, dword [0x443920]
push 0
push 0
push 0
push edx
call dword [sym.imp.MSVCR100.dll__fseeki64]
add esp, 0x10
mov ecx, dword [0x4596c4]
mov eax, 0x43c71c
call fcn.004066f0
mov ecx, dword [0x448bc8]
mov esi, eax
mov eax, 0x43cf38
mov dword [ebp - 8], esi
call fcn.004066f0
fld qword [0x441b30]
mov dword [ebp - 0xc], eax
fstp qword [ebp - 0x64]
mov eax, dword [0x448664]
lea ecx, [eax*8]
push esi
mov dword [0x44872c], esi
mov dword [ebp - 0x88], ecx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
cmp dword [0x453198], 0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x58], 0
jle 0x422501
mov ecx, dword [0x453180]
mov esi, dword [0x448bac]
mov edi, dword [0x448724]
lea ecx, [ecx]
mov ebx, dword [ebp - 0x58]
mov edx, dword [0x443990]
imul esi, ebx
mov eax, dword [edx + ebx*4]
mov edx, dword [0x443a44]
mov dword [ebp - 0x18], eax
mov eax, dword [edx + ebx*4]
cdq
mov dword [ebp - 0x74], eax
imul eax, dword [0x453150]
mov dword [ebp - 0x70], edx
mov edx, dword [0x4439e4]
mov edx, dword [edx + ebx*4]
mov ebx, dword [0x4439c8]
imul edi, edx
cmp dword [0x448720], 0
lea esi, [ebx + esi*8]
mov dword [ebp - 0x34], esi
mov esi, dword [0x443a90]
lea eax, [esi + eax*8]
mov esi, dword [sym.imp.MSVCR100.dll__fseeki64]
mov dword [ebp - 0x68], edx
mov edx, dword [0x4439b0]
mov dword [ebp - 0x28], eax
lea eax, [edx + edi*8]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], eax
jne 0x421ed0
push 1
push 0
push 0xc
push edi
call esi
mov ecx, dword [0x453180]
add esp, 0x10
imul ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x40]
add ecx, ecx
add ecx, ecx
add ecx, ecx
je 0x421eed
push edi
push 1
push ecx
push ebx
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp dword [0x448720], 0
jne 0x421f07
mov eax, dword [ebp - 0x88]
cdq
push 1
push edx
push eax
push edi
call esi
add esp, 0x10
cmp dword [0x448520], 0
push 1
push 0
je 0x421f1f
mov ecx, dword [0x443a78]
push 8
push ecx
jmp 0x421f28
mov edx, dword [0x443a78]
push 0xd
push edx
call esi
mov eax, dword [0x448664]
add eax, eax
add eax, eax
add esp, 0x10
add eax, eax
je 0x421f51
mov ecx, dword [0x443a78]
mov edx, dword [ebp - 0x50]
push ecx
push 1
push eax
push edx
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov edi, dword [ebp - 0xc]
mov esi, dword [sym.imp.MSVCR100.dll_fwrite]
push edi
push 1
lea eax, [ebp - 0x18]
push 4
push eax
call esi
add esp, 0x10
cmp eax, 1
jne 0x4225cc
push edi
push eax
lea ecx, [ebp - 0x74]
push 4
push ecx
call esi
add esp, 0x10
cmp eax, 1
jne 0x422654
push edi
push eax
lea edx, [ebp - 0x68]
push 4
push edx
call esi
add esp, 0x10
cmp eax, 1
jne 0x4226d7
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x48], edi
test eax, eax
jle 0x422084
mov esi, dword [ebp - 0x54]
fld qword [ebp - 0x64]
mov eax, dword [ebp - 0x20]
mov edx, dword [0x448c00]
mov ecx, dword [0x448720]
sub eax, esi
mov dword [ebp - 0x1c], eax
mov eax, dword [0x453180]
imul eax, edi
test ecx, ecx
jne 0x421fd9
fld qword [ebx + eax*8 + 8]
jmp 0x421fe2
add eax, dword [0x4444cc]
fld qword [ebx + eax*8]
mov eax, dword [ebp - 0x1c]
fst qword [ebp - 0x4c]
fst qword [eax + esi]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x421ffd
fstp st(1)
fld st(0)
fst qword [ebp - 0x64]
fxch st(1)
test ecx, ecx
jne 0x422030
test edx, edx
je 0x422030
mov ecx, dword [0x443920]
fstp st(0)
push ecx
fstp st(0)
push 1
push 8
push esi
call dword [sym.imp.MSVCR100.dll_fread]
fld qword [ebp - 0x64]
mov edx, dword [0x448c00]
fld qword [ebp - 0x4c]
mov ecx, dword [0x448720]
add esp, 0x10
cmp dword [ebp + 8], 0
je 0x42206e
cmp dword [0x448bb4], 2
jne 0x42205e
test edx, edx
je 0x42205e
fcom st(1)
fnstsw ax
test ah, 5
jp 0x422055
fstp st(0)
fdiv qword [esi]
fst qword [ebp - 0x64]
jmp 0x422070
fstp st(1)
fdiv qword [esi]
fst qword [ebp - 0x64]
jmp 0x422070
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x42206e
fstp st(1)
fst qword [ebp - 0x64]
jmp 0x422070
fstp st(0)
mov eax, dword [ebp - 0x18]
inc edi
add esi, 8
cmp edi, eax
jl 0x421fc7
fstp st(0)
mov dword [ebp - 0x48], edi
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x6c]
push edx
mov edx, dword [ebp - 0x50]
push esi
push edi
push ecx
mov ecx, dword [ebp - 0x40]
push 0
push edx
mov edx, dword [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x74]
push edx
push ecx
push eax
call fcn.00401a10
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x5c]
lea eax, [edx*8]
push eax
push ecx
push ebx
call sub.MSVCR100.dll_memcpy
mov edx, dword [ebp - 0x6c]
mov eax, dword [0x463b30]
mov ecx, dword [ebp - 0x18]
add esp, 0x34
push edx
mov edx, dword [0x443944]
push 1
push eax
push ecx
mov eax, ebx
call fcn.00405c60
mov edx, dword [ebp - 0x18]
push esi
mov esi, dword [0x448bac]
push 1
push esi
push edx
mov edx, dword [ebp - 0x34]
mov eax, ebx
call fcn.00405c60
mov eax, dword [0x453150]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
push edi
push 1
push eax
push ecx
mov eax, ebx
call fcn.00405c60
mov edx, dword [ebp - 0x3c]
mov edi, dword [0x448724]
mov eax, dword [ebp - 0x18]
push edx
mov edx, dword [ebp - 0x10]
push 1
push edi
push eax
mov eax, ebx
call fcn.00405c60
add esp, 0x40
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x34], 0
jle 0x4225bb
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x48]
sub ebx, eax
mov dword [ebp - 0x10], ebx
mov ebx, dword [sym.imp.MSVCR100.dll_fwrite]
mov dword [ebp - 0x1c], eax
lea esp, [esp]
cmp dword [0x448720], 0
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x1c]
fld qword [ecx + esi]
mov eax, dword [0x448bb4]
fst qword [ebp - 0x2c]
je 0x42222b
fld st(0)
fst qword [ebp - 0x2c]
cmp eax, 1
jne 0x4221d7
fld qword [0x441a28]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4221a0
fstp st(2)
fstp st(0)
fst qword [ebp - 0x2c]
jmp 0x4221bc
fstp st(0)
fld qword [0x441b70]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x4221ba
fstp st(0)
fst qword [ebp - 0x2c]
jmp 0x4221bc
fstp st(1)
fld1
fsub st(1)
fdivp st(1)
call sub.MSVCR100.dll__CIlog
fld1
fld qword [ebp - 0x2c]
fsub st(1), st(0)
fmul st(1), st(0)
fxch st(1)
jmp 0x422383
fld qword [0x441ae0]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x4221ef
fstp st(0)
fst qword [ebp - 0x2c]
jmp 0x4221f1
fstp st(1)
fldz
fld qword [ebp - 0x64]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x42221c
fcom st(1)
fnstsw ax
test ah, 5
jp 0x42221c
fstp st(1)
fst qword [ebp - 0x2c]
call sub.MSVCR100.dll__CIlog
fld qword [ebp - 0x2c]
jmp 0x422381
fstp st(0)
call sub.MSVCR100.dll__CIlog
fld qword [ebp - 0x2c]
jmp 0x422381
cmp eax, 1
jne 0x422347
fld qword [0x441b68]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x422304
cmp dword [0x453158], 7
fstp st(0)
fld qword [0x441ae8]
fst qword [ebp - 0x2c]
jle 0x42232b
push str.HLM_HCM
fstp st(0)
push str._s_cannot_estimate_the_model_you_have_specified._n
call dword [sym.imp.MSVCR100.dll_printf]
mov ecx, dword [0x453188]
push str.HLM_HCM
push str._s_cannot_estimate_the_model_you_have_specified._n
push ecx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x14
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call esi
mov eax, dword [0x448bc8]
add esp, 4
push eax
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x4222fc
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
jmp 0x4222e0
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, esi
cmp ecx, 3
jbe 0x4222e0
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
fld qword [0x441b60]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x42232b
cmp dword [0x453158], 7
fstp st(0)
fld qword [0x441a40]
fst qword [ebp - 0x2c]
jg 0x42275a
fchs
call sub.MSVCR100.dll__CIexp
fld1
fadd st(1), st(0)
fld st(0)
fdivrp st(2)
fld qword [ebp - 0x2c]
fxch st(2)
fsub st(1), st(0)
fmul st(1), st(0)
fxch st(1)
jmp 0x422383
call sub.MSVCR100.dll__CIexp
cmp dword [ebp + 8], 0
je 0x42237c
fldz
fld qword [ebp - 0x64]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x42237a
fcom st(1)
fnstsw ax
test ah, 5
jp 0x42237a
fstp st(1)
fst qword [ebp - 0x2c]
call sub.MSVCR100.dll__CIlog
fld qword [ebp - 0x2c]
jmp 0x422381
fstp st(0)
fld qword [ebp - 0x2c]
fxch st(1)
fld st(0)
cmp dword [0x448c00], 0
fst qword [ebp - 0x7c]
je 0x42239d
mov eax, dword [ebp - 0x54]
fmul qword [eax + edi*8]
fst qword [ebp - 0x7c]
fld qword [eax + edi*8]
fmulp st(2)
fld qword [esi]
fsubrp st(2)
fdiv st(1), st(0)
fxch st(1)
faddp st(2)
fxch st(1)
fstp qword [ebp - 0x94]
fld qword [0x441b58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x4223c5
fstp qword [ebp - 0x7c]
jmp 0x4223c7
fstp st(0)
mov esi, dword [ebp - 0xc]
push esi
push 1
lea edx, [ebp - 0x7c]
push 8
push edx
call ebx
add esp, 0x10
cmp eax, 1
jne 0x4227fa
push esi
push eax
mov eax, dword [ebp - 0x1c]
push 8
push eax
call ebx
add esp, 0x10
cmp eax, 1
jne 0x422884
push esi
push eax
lea ecx, [ebp - 0x94]
push 8
push ecx
call ebx
add esp, 0x10
cmp eax, 1
jne 0x422907
mov ecx, dword [0x453180]
mov edx, ecx
imul edx, dword [ebp - 0x34]
cmp dword [0x448720], 0
je 0x422465
mov eax, dword [ebp - 0x40]
xor edi, edi
lea esi, [eax + edx*8]
test ecx, ecx
jle 0x422493
mov edx, dword [0x448bcc]
cmp dword [edx + edi*4 + 4], 0
jle 0x42245b
mov eax, dword [ebp - 0xc]
push eax
push 1
push 8
push esi
call ebx
add esp, 0x10
cmp eax, 1
jne 0x42298a
mov ecx, dword [0x453180]
inc edi
add esi, 8
cmp edi, ecx
jl 0x422431
jmp 0x422493
mov esi, dword [ebp - 0x40]
lea eax, [ecx*8 - 0x18]
lea edx, [esi + edx*8 + 0x18]
test eax, eax
je 0x422493
mov ecx, dword [ebp - 0xc]
push ecx
push 1
push eax
push edx
call ebx
add esp, 0x10
cmp eax, 1
jne 0x422a14
mov ecx, dword [0x453180]
mov eax, dword [ebp - 0x34]
add dword [ebp - 0x1c], 8
inc eax
mov dword [ebp - 0x34], eax
cmp eax, dword [ebp - 0x18]
jl 0x422160
mov esi, dword [0x448bac]
mov edi, dword [0x448724]
mov eax, dword [0x448664]
add eax, eax
add eax, eax
add eax, eax
je 0x4224eb
mov edx, dword [ebp - 0xc]
push edx
push 1
push eax
mov eax, dword [ebp - 0x50]
push eax
call ebx
add esp, 0x10
cmp eax, 1
jne 0x422a97
mov ecx, dword [0x453180]
mov esi, dword [0x448bac]
mov edi, dword [0x448724]
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp eax, dword [0x453198]
jl 0x421e50
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x422512
push eax
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov edi, dword [sym.imp.MSVCR100.dll_fclose]
push ecx
call edi
add esp, 4
push esi
call edi
mov edx, dword [0x4596c4]
add esp, 4
push edx
call dword [sym.imp.MSVCR100.dll_remove]
mov eax, dword [0x4596c4]
mov ecx, dword [0x448bc8]
add esp, 4
push eax
push ecx
call dword [sym.imp.MSVCR100.dll_rename]
add esp, 8
cmp dword [0x448720], 0
mov dword [0x448844], 1
mov dword [0x4444cc], 2
je 0x42307f
cmp dword [0x448c00], 0
je 0x422587
mov edx, dword [0x443920]
push edx
call dword [sym.imp.MSVCR100.dll_fflush]
add esp, 4
fld qword [0x4444d8]
mov dword [0x453194], 4
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x422b1a
fstp st(0)
fld qword [0x443a50]
fstp qword [0x443a68]
jmp 0x422b26
mov ecx, dword [0x453180]
mov ebx, dword [sym.imp.MSVCR100.dll_fwrite]
jmp 0x4224b3
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x42264c
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
jmp 0x422630
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x422630
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x4226cf
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x4226b3
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x422752
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x422736
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push str.HLM_HCM
fstp st(0)
push str._s_cannot_estimate_the_model_you_have_specified._n
call dword [sym.imp.MSVCR100.dll_printf]
mov edx, dword [0x453188]
push str.HLM_HCM
push str._s_cannot_estimate_the_model_you_have_specified._n
push edx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x14
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call esi
mov ecx, dword [0x448bc8]
add esp, 4
push ecx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x4227f2
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x4227d6
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x42287c
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
lea esp, [esp]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x422860
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x4228ff
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x4228e3
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x422982
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x422966
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x422a0c
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
lea esp, [esp]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x4229f0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x422a8f
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x422a73
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call esi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x422b12
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x422af6
push 5
call dword [sym.imp.MSVCR100.dll_exit]
fst qword [0x443a68]
fstp qword [0x443a50]
mov esi, dword [ebp - 0x38]
mov eax, dword [0x448bcc]
mov ecx, dword [0x4530c0]
inc esi
lea edi, [esi + esi*2]
add edi, edi
add edi, edi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x28], ecx
jne 0x422b4b
xor eax, eax
jmp 0x422bf2
push edi
call dword [sym.imp.MSVCR100.dll_malloc]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x422be4
push str._Out_of_memory._Please_run_a_smaller_problem_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call esi
mov eax, dword [0x448bc8]
add esp, 4
push eax
call esi
add esp, 4
cmp dword [0x443e58], ebx
je 0x422bdc
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
lea esp, [esp]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, esi
cmp ecx, 3
jbe 0x422bc0
push 3
call dword [sym.imp.MSVCR100.dll_exit]
push edi
push 0
push ebx
call sub.MSVCR100.dll_memset
add esp, 0xc
mov eax, ebx
cmp dword [ebp - 0x14], 0
lea ecx, [eax + esi*4]
lea edx, [ecx + esi*4]
mov dword [0x448bcc], eax
mov dword [0x448bd4], ecx
mov dword [0x4530c0], edx
je 0x422c15
mov dword [eax], 1
mov ecx, dword [0x4444cc]
mov dword [eax + ecx*4], 0xffffffff
cmp esi, 4
jle 0x422c34
lea edi, [eax + 0x10]
lea ecx, [esi - 4]
mov eax, 1
rep stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp byte [eax + 0x448cf0], 0
je 0x422d06
cmp dword [eax + 0x448ca4], 0
mov dword [ebp - 0xc], 0
jle 0x422d06
lea ecx, [eax + 0x448cbc]
mov dword [ebp - 8], ecx
cmp dword [ecx - 0x10], 0
jne 0x422ced
mov esi, dword [ecx]
mov ebx, dword [0x453180]
imul esi, esi, 0xd
mov edx, dword [0x45315c]
add esi, dword [ebp - 0x30]
mov eax, 8
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], edx
call fcn.00406820
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x422c96
sub eax, edx
mov ecx, 0xc
sub ecx, eax
mov edi, esi
sub edi, ecx
cmp edi, esi
jae 0x422cbc
sub esi, edi
push esi
push 0x20
push edi
call sub.MSVCR100.dll_memset
add esp, 0xc
xor esi, esi
test ebx, ebx
js 0x422cdf
mov ebx, dword [ebp - 0x14]
push 8
push ebx
push edi
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x422ce2
inc esi
add ebx, 0xd
cmp esi, dword [ebp - 0x10]
jle 0x422cc5
or esi, 0xffffffff
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov dword [eax], esi
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
inc edx
add ecx, 4
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
cmp edx, dword [eax + 0x448ca4]
jl 0x422c63
cmp byte [eax + 0x463df0], 0
je 0x422dd2
cmp dword [eax + 0x463da4], 0
mov dword [ebp - 0xc], 0
jle 0x422dd2
lea ecx, [eax + 0x463dbc]
mov dword [ebp - 8], ecx
cmp dword [ecx - 0x10], 0
jne 0x422db9
mov esi, dword [ecx]
mov ebx, dword [0x453180]
imul esi, esi, 0xd
mov ecx, dword [0x45315c]
add esi, dword [ebp - 0x30]
mov eax, 8
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ecx
call fcn.00406820
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x422d63
sub eax, edx
mov ecx, 0xc
sub ecx, eax
mov edi, esi
sub edi, ecx
cmp edi, esi
jae 0x422d89
sub esi, edi
push esi
push 0x20
push edi
call sub.MSVCR100.dll_memset
add esp, 0xc
xor esi, esi
test ebx, ebx
js 0x422dac
mov ebx, dword [ebp - 0x14]
push 8
push ebx
push edi
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x422daf
inc esi
add ebx, 0xd
cmp esi, dword [ebp - 0x10]
jle 0x422d92
or esi, 0xffffffff
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov dword [edx], esi
mov ecx, edx
mov edx, dword [ebp - 0xc]
inc edx
add ecx, 4
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
cmp edx, dword [eax + 0x463da4]
jl 0x422d30
cmp byte [eax + 0x459750], 0
je 0x422e9e
cmp dword [eax + 0x459704], 0
mov dword [ebp - 0xc], 0
jle 0x422e9e
lea ecx, [eax + 0x45971c]
mov dword [ebp - 8], ecx
cmp dword [ecx - 0x10], 0
jne 0x422e85
mov esi, dword [ecx]
mov eax, dword [0x45315c]
imul esi, esi, 0xd
mov ebx, dword [0x453180]
add esi, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov eax, 8
mov dword [ebp - 0x10], ebx
call fcn.00406820
mov eax, esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x422e30
sub eax, edx
mov ecx, 0xc
sub ecx, eax
mov edi, esi
sub edi, ecx
cmp edi, esi
jae 0x422e56
sub esi, edi
push esi
push 0x20
push edi
call sub.MSVCR100.dll_memset
add esp, 0xc
xor esi, esi
test ebx, ebx
js 0x422e7a
mov ebx, dword [ebp - 0x14]
nop
push 8
push ebx
push edi
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x422e7d
inc esi
add ebx, 0xd
cmp esi, dword [ebp - 0x10]
jle 0x422e60
or esi, 0xffffffff
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov dword [ecx], esi
mov edx, dword [ebp - 0xc]
inc edx
add ecx, 4
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
cmp edx, dword [eax + 0x459704]
jl 0x422dfc
add eax, 0x54
mov dword [ebp - 0x20], eax
cmp eax, 0xa410
jl 0x422c39
mov ecx, 0x453324
mov dword [ebp - 0x3c], ecx
jmp 0x422ec0
cmp byte [ecx + 0x4c], 0
je 0x422f7c
cmp dword [ecx], 0
mov dword [ebp - 0xc], 0
jle 0x422f7c
lea eax, [ecx + 0x18]
mov dword [ebp - 8], eax
cmp dword [eax - 0x10], 0
jne 0x422f67
mov esi, dword [eax]
mov ebx, dword [0x453180]
imul esi, esi, 0xd
mov edx, dword [0x45315c]
add esi, dword [ebp - 0x30]
mov eax, 8
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], edx
call fcn.00406820
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x422f13
sub eax, edx
mov ecx, 0xc
sub ecx, eax
mov edi, esi
sub edi, ecx
cmp edi, esi
jae 0x422f39
sub esi, edi
push esi
push 0x20
push edi
call sub.MSVCR100.dll_memset
add esp, 0xc
xor esi, esi
test ebx, ebx
js 0x422f5c
mov ebx, dword [ebp - 0x14]
push 8
push ebx
push edi
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x422f5f
inc esi
add ebx, 0xd
cmp esi, dword [ebp - 0x10]
jle 0x422f42
or esi, 0xffffffff
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], esi
mov edx, dword [ebp - 0xc]
inc edx
add eax, 4
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
cmp edx, dword [ecx]
jl 0x422ee0
add ecx, 0x54
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x459594
jl 0x422ec0
cmp dword [0x448bbc], 0
je 0x423049
cmp dword [0x4440f0], 0
mov dword [ebp - 0x48], 0
jle 0x423049
nop
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x48]
mov esi, dword [ecx + edx*4]
mov eax, dword [0x45315c]
imul esi, esi, 0xd
mov ebx, dword [0x453180]
add esi, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov eax, 8
mov dword [ebp - 0x10], ebx
call fcn.00406820
mov eax, esi
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x422fe0
sub eax, ecx
mov ecx, 0xc
sub ecx, eax
mov edi, esi
sub edi, ecx
cmp edi, esi
jae 0x423006
sub esi, edi
push esi
push 0x20
push edi
call sub.MSVCR100.dll_memset
add esp, 0xc
xor esi, esi
test ebx, ebx
js 0x42302a
mov ebx, dword [ebp - 0x14]
nop
push 8
push ebx
push edi
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x42302d
inc esi
add ebx, 0xd
cmp esi, dword [ebp - 0x10]
jle 0x423010
or esi, 0xffffffff
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x4530c0]
mov dword [ecx + eax*4], esi
inc eax
mov dword [ebp - 0x48], eax
cmp eax, dword [0x4440f0]
jl 0x422fb0
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x38]
mov dword [0x453180], esi
test eax, eax
je 0x423063
push eax
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x423074
push eax
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
mov edx, dword [0x448c78]
mov dword [edx + 4], esi
jmp 0x42308b
fld qword [0x443a50]
fstp qword [0x443a68]
mov eax, dword [0x463b30]
mov edx, dword [0x443944]
lea ecx, [eax*8]
mov eax, dword [0x443aa4]
push ecx
push edx
push eax
call sub.MSVCR100.dll_memcpy
mov eax, dword [0x448bac]
mov ecx, dword [0x443a28]
imul eax, eax
mov edx, dword [0x443a74]
add eax, eax
add eax, eax
add esp, 0xc
add eax, eax
push eax
push ecx
push edx
call sub.MSVCR100.dll_memcpy
mov eax, dword [0x453150]
mov ecx, dword [0x443a2c]
imul eax, eax
add eax, eax
add eax, eax
add esp, 0xc
add eax, eax
push eax
mov eax, dword [0x4439dc]
push eax
push ecx
call sub.MSVCR100.dll_memcpy
mov eax, dword [0x448724]
mov edx, dword [0x443a38]
imul eax, eax
add eax, eax
add eax, eax
add esp, 0xc
add eax, eax
push eax
mov eax, dword [0x443a40]
push edx
push eax
call sub.MSVCR100.dll_memcpy
mov ecx, dword [0x4596c4]
add esp, 0xc
mov eax, 0x43c71c
call fcn.004066f0
cmp dword [0x448c00], 0
mov ecx, dword [ebp - 0x80]
mov dword [0x44872c], eax
mov dword [0x453154], 0
mov dword [0x444364], ecx
je 0x42315c
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x42315c
push eax
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret