Function at 0x40e5b0
Capabilities:
Delete file
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x417c
call fcn.004399f0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ecx, 0xd
mov esi, str.Must_specify_raw_data_type_before_input_file_name__n
lea edi, [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x11
mov esi, str.Must_specify_raw_data_type_and_input_file_name_before_variable_names__n
lea edi, [ebp - 0x110]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edx, dword [0x46e418]
movsb byte es:[edi], byte [esi]
mov ecx, 0xd
mov esi, str.Incorrect_specification_of_ASCII_missing_information__n
lea edi, [ebp - 0xc4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor esi, esi
cmp byte [edx], 0
je 0x4100b8
mov eax, 0x43c588
mov ecx, edx
mov dword [0x453154], esi
mov dword [0x448660], 1
mov dword [0x453194], 0xffffffff
mov dword [ebp - 0x4178], esi
call fcn.004066f0
push eax
mov dword [ebp - 0x4158], eax
lea eax, [ebp - 0x4150]
push 0x4000
push eax
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
mov edi, 0x410
call fcn.00406e80
lea ecx, [eax + 0x104]
mov dword [0x4444b4], ecx
add ecx, 0x104
mov dword [0x4444b8], ecx
mov dword [0x4444b0], eax
add ecx, 0x104
mov dword [0x4444bc], ecx
mov byte [eax], 0
mov ecx, dword [0x4444b4]
mov eax, dword [0x448c78]
mov byte [ecx], 0
mov edx, dword [0x4444b8]
mov byte [edx], 0
mov ecx, dword [0x4444bc]
mov ebx, str.HLMHCM_MDM_CREATION_TEMPLATE
mov dword [eax + 4], esi
mov dword [eax + 0x3c], esi
mov dword [eax + 0x74], esi
mov dword [eax + 0xac], esi
mov byte [ecx], 0
lea eax, [ebx + 1]
lea esp, [esp]
mov cl, byte [ebx]
inc ebx
test cl, cl
jne 0x40e6d0
sub ebx, eax
push ebx
lea edx, [ebp - 0x4150]
push str.HLMHCM_MDM_CREATION_TEMPLATE
push edx
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x40e754
push str._s_does_not_seem_to_be_a__s_mdm_template_file__n
call dword [sym.imp.MSVCR100.dll_printf]
mov eax, dword [ebp - 0x4158]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
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 0x40e74c
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [ebp - 0x4158]
push eax
lea ecx, [ebp - 0x4150]
push 0x4000
push ecx
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
test eax, eax
je 0x4100a3
mov esi, dword [ebp - 0x4154]
mov edi, edi
mov edx, dword [ebp - 0x4158]
push edx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
lea eax, [ebp - 0x4150]
push 0xa
push eax
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 8
test eax, eax
je 0x40e7be
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x40e7be
nop
cmp byte [eax], 0x20
jne 0x40e7be
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x40e7b0
mov al, byte [ebp - 0x4150]
lea ecx, [ebp - 0x4150]
mov dword [ebp - 0x416c], ecx
test al, al
je case.0x40f83a.4
cmp al, 0x20
je case.0x40f83a.4
cmp al, 0x23
je case.0x40f83a.4
mov edi, dword [sym.imp.MSVCR100.dll__strnicmp]
push 0xa
mov edx, ecx
push str.L1MISSING:
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x40e9c4
push 1
lea eax, [ebp - 0x4146]
push 0x43c5c8
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x40e821
mov dword [0x453154], eax
push 1
lea ecx, [ebp - 0x4146]
push 0x43c5cc
push ecx
call edi
add esp, 0xc
test eax, eax
jne case.0x40f83a.4
cmp dword [0x453194], 2
mov dword [0x453154], 1
jne case.0x40f83a.4
mov edx, dword [0x448c78]
mov eax, dword [edx + 4]
test eax, eax
je 0x41011c
cmp byte [ebp - 0x4145], 0x2f
jne 0x4100c9
lea edi, [eax*8]
or ebx, 0xffffffff
call fcn.00406e80
push 4
mov dword [0x4444d4], eax
lea eax, [ebp - 0x4144]
push str.SAME
push eax
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40e8fc
mov ecx, dword [ebp - 0x4158]
push ecx
lea edx, [ebp - 0x4150]
push 0x4000
mov edi, 1
push edx
xor ebx, ebx
mov dword [ebp - 0x4178], edi
call dword [sym.imp.MSVCR100.dll_fgets]
lea eax, [ebp - 0x4150]
add esp, 0xc
push eax
call dword [sym.imp.MSVCR100.dll_atof]
mov edx, dword [0x448c78]
mov ecx, dword [0x4444d4]
add esp, 4
fstp qword [ecx]
mov eax, edi
cmp dword [edx + 4], edi
jle 0x40e8fc
mov edx, dword [edx + 4]
fld qword [ecx]
fstp qword [ecx + eax*8]
add eax, edi
cmp eax, edx
jl 0x40e8f1
push 9
lea ecx, [ebp - 0x4144]
push str.DIFFERENT
push ecx
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40e969
mov edx, dword [0x448c78]
mov ebx, dword [edx + 4]
xor edi, edi
test ebx, ebx
jle 0x40e96b
jmp 0x40e930
mov eax, dword [ebp - 0x4158]
push eax
lea ecx, [ebp - 0x4150]
push 0x4000
push ecx
call dword [sym.imp.MSVCR100.dll_fgets]
lea edx, [ebp - 0x4150]
add esp, 0xc
push edx
call dword [sym.imp.MSVCR100.dll_atof]
mov eax, dword [0x4444d4]
fstp qword [eax + edi*8]
inc edi
add esp, 4
cmp edi, ebx
jl 0x40e930
test ebx, ebx
jns case.0x40f83a.4
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call edi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x40e9bc
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push 0xf
lea ecx, [ebp - 0x4150]
push str.TIMEOFDELETION:
push ecx
call edi
add esp, 0xc
test eax, eax
jne 0x40ea6d
push 1
lea edx, [ebp - 0x4141]
push 0x43c5c8
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x40ea00
mov dword [0x448660], 1
push 1
lea eax, [ebp - 0x4141]
push 0x43c5f4
push eax
call edi
add esp, 0xc
test eax, eax
jne case.0x40f83a.4
push str.HLM_HCM
push str._s_cannot_delete_level_1_data_at_analysis_time_yet._n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 0xc
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x40ea65
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push 0xb
lea ecx, [ebp - 0x4150]
push str.RAWDATTYPE:
push ecx
call edi
add esp, 0xc
test eax, eax
jne 0x40ec3e
push 5
lea edx, [ebp - 0x4145]
push str.ASCII
push edx
xor edi, edi
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40eae1
mov edi, 0x1000
mov dword [0x453194], 2
call fcn.00406e80
mov dword [0x444370], eax
add eax, 0x400
mov dword [0x444374], eax
add eax, 0x400
mov dword [0x444378], eax
add eax, 0x400
mov dword [0x44437c], eax
mov edi, 0x1001
push 6
lea eax, [ebp - 0x4145]
push str.SYSTAT
push eax
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40eb4e
or eax, 0xffffffff
xor ecx, ecx
mov dword [0x453194], 3
mov dword [0x444058], eax
mov dword [0x44405c], ecx
mov dword [0x444060], ecx
mov dword [0x444084], eax
mov dword [0x444088], eax
mov dword [0x44408c], eax
mov dword [0x4440b0], ecx
mov dword [0x4440b4], eax
mov dword [0x4440b8], ecx
mov dword [0x4440dc], ecx
mov dword [0x4440e0], ecx
mov dword [0x4440e4], eax
inc edi
push 3
lea ecx, [ebp - 0x4145]
push 0x43c64c
push ecx
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40eb74
mov dword [0x453194], 5
inc edi
push 4
lea edx, [ebp - 0x4145]
push str.SPSS
push edx
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40eb9a
mov dword [0x453194], 6
inc edi
push 4
lea eax, [ebp - 0x4145]
push str.STATA
push eax
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40ebc0
mov dword [0x453194], 8
inc edi
push 5
lea ecx, [ebp - 0x4145]
push str.OTHER
push ecx
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40ebe6
mov dword [0x453194], 9
inc edi
test edi, edi
jne case.0x40f83a.4
push str.Invalid_raw_data_type._n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 4
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x40ec36
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push 8
lea edx, [ebp - 0x4150]
push str.MDMNAME:
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x40ec80
cmp byte [ebp - 0x4148], 0x20
lea eax, [ebp - 0x4148]
jne 0x40ec6a
inc eax
cmp byte [eax], 0x20
je 0x40ec64
mov edx, 0x463b60
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40ec71
jmp case.0x40f83a.4
push 9
lea eax, [ebp - 0x4150]
push str.NUML1VAR:
push eax
call edi
add esp, 0xc
test eax, eax
je 0x40ff8f
push 0xa
lea ecx, [ebp - 0x4150]
push str.NUMROWVAR:
push ecx
call edi
add esp, 0xc
test eax, eax
je 0x40ff8f
push 0xa
lea edx, [ebp - 0x4150]
push str.NUMCOLVAR:
push edx
call edi
add esp, 0xc
test eax, eax
je 0x40ff8f
push 9
lea eax, [ebp - 0x4150]
push str.NUML2VAR:
push eax
call edi
add esp, 0xc
test eax, eax
je 0x40ff8f
push 9
lea ecx, [ebp - 0x4150]
push str.L1FORMAT:
push ecx
call edi
add esp, 0xc
test eax, eax
je 0x40fefc
push 0xa
lea edx, [ebp - 0x4150]
push str.ROWFORMAT:
push edx
call edi
add esp, 0xc
test eax, eax
je 0x40fefc
push 0xa
lea eax, [ebp - 0x4150]
push str.COLFORMAT:
push eax
call edi
add esp, 0xc
test eax, eax
je 0x40fefc
push 9
lea ecx, [ebp - 0x4150]
push str.L2FORMAT:
push ecx
call edi
add esp, 0xc
test eax, eax
je 0x40fefc
push 8
lea edx, [ebp - 0x4150]
push str.L1FNAME:
push edx
call edi
add esp, 0xc
test eax, eax
je 0x40f79f
push 9
lea eax, [ebp - 0x4150]
push str.ROWFNAME:
push eax
call edi
add esp, 0xc
test eax, eax
je 0x40f79f
push 9
lea ecx, [ebp - 0x4150]
push str.COLFNAME:
push ecx
call edi
add esp, 0xc
test eax, eax
je 0x40f79f
push 8
lea edx, [ebp - 0x4150]
push str.L2FNAME:
push edx
call edi
add esp, 0xc
test eax, eax
je 0x40f79f
push 0xd
lea eax, [ebp - 0x4150]
push str.BEGIN_L1VARS
push eax
call edi
add esp, 0xc
test eax, eax
je 0x40ee2a
push 0xe
lea ecx, [ebp - 0x4150]
push str.BEGIN_ROWVARS:
push ecx
call edi
add esp, 0xc
test eax, eax
je 0x40ee2a
push 0xe
lea edx, [ebp - 0x4150]
push str.BEGIN_COLVARS:
push edx
call edi
add esp, 0xc
test eax, eax
je 0x40ee2a
push 0xd
lea eax, [ebp - 0x4150]
push str.BEGIN_L2VARS:
push eax
call edi
add esp, 0xc
test eax, eax
jne case.0x40f83a.4
mov edi, dword [sym.imp.MSVCR100.dll__strnicmp]
mov eax, dword [0x453194]
cmp eax, 2
jne 0x40ee40
mov dword [0x448520], 0
jmp 0x40ee49
cmp eax, 0xffffffff
je 0x4104ea
mov ecx, dword [esi*4 + 0x4444b0]
cmp byte [ecx], 0
je 0x4104ea
cmp byte [ebp - 0x4148], 0x31
jne 0x40eeed
mov ecx, dword [str.END_L1VARS]
mov edx, dword [0x45315c]
mov dword [ebp - 0x58], ecx
mov ecx, dword [0x43c768]
add edx, 0xd
mov dword [ebp - 0x50], ecx
xor esi, esi
mov dword [ebp - 0x415c], edx
mov edx, dword [0x43c764]
mov ecx, eax
sub ecx, 3
mov dword [ebp - 0x4154], esi
mov dword [ebp - 0x54], edx
je 0x40eed3
sub ecx, 2
je 0x40eebf
dec ecx
jne 0x40f0db
mov edx, dword [0x448c78]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x4168], eax
jmp 0x40f0ed
mov ecx, dword [0x448c78]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x4164], edx
jmp 0x40f0ed
mov eax, dword [0x444044]
mov dword [ebp - 0x4160], 0x444040
mov dword [ebp - 0x4170], eax
jmp 0x40f0ed
push 3
lea ecx, [ebp - 0x4149]
push 0x43c6b4
push ecx
call edi
add esp, 0xc
test eax, eax
jne 0x40efa3
mov eax, dword [str.END_ROWVARS]
mov edx, dword [0x4444d0]
mov ecx, dword [0x43c770]
mov dword [ebp - 0x58], eax
mov al, byte [0x43c778]
add edx, 0xd
mov byte [ebp - 0x4c], al
mov eax, dword [0x453194]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x415c], edx
mov edx, dword [0x43c774]
mov ecx, eax
sub ecx, 3
mov esi, 2
mov dword [ebp - 0x4154], esi
mov dword [ebp - 0x50], edx
je 0x40ef88
sub ecx, esi
je 0x40ef72
dec ecx
jne 0x40f0db
mov ecx, dword [0x448c78]
mov edx, dword [ecx + 0x8c]
mov dword [ebp - 0x4168], edx
jmp 0x40f24f
mov eax, dword [0x448c78]
mov ecx, dword [eax + 0x88]
mov dword [ebp - 0x4164], ecx
jmp 0x40f24f
mov edx, dword [0x44409c]
mov dword [ebp - 0x4160], 0x444098
mov dword [ebp - 0x4170], edx
jmp 0x40f24f
push 3
lea eax, [ebp - 0x4149]
push 0x43c6b8
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x40f05a
mov ecx, dword [0x4595a0]
mov eax, dword [0x43c780]
mov edx, dword [str.END_COLVARS]
add ecx, 0xd
mov dword [ebp - 0x415c], ecx
mov ecx, dword [0x43c784]
mov dword [ebp - 0x54], eax
mov eax, dword [0x453194]
mov dword [ebp - 0x50], ecx
mov esi, 3
mov dword [ebp - 0x58], edx
mov dl, byte [0x43c788]
mov ecx, eax
sub ecx, esi
mov dword [ebp - 0x4154], esi
mov byte [ebp - 0x4c], dl
je 0x40f03f
sub ecx, 2
je 0x40f028
dec ecx
jne 0x40f0db
mov eax, dword [0x448c78]
mov ecx, dword [eax + 0xc4]
mov dword [ebp - 0x4168], ecx
jmp 0x40f3a9
mov edx, dword [0x448c78]
mov eax, dword [edx + 0xc0]
mov dword [ebp - 0x4164], eax
jmp 0x40f3a9
mov ecx, dword [0x4440c8]
mov dword [ebp - 0x4160], 0x4440c4
mov dword [ebp - 0x4170], ecx
jmp 0x40f3a9
mov eax, dword [str.END_L2VARS]
mov edx, dword [0x448bc0]
mov ecx, dword [0x43c790]
add edx, 0xd
mov dword [ebp - 0x58], eax
mov eax, dword [0x453194]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x415c], edx
mov edx, dword [0x43c794]
mov ecx, eax
sub ecx, 3
mov esi, 1
mov dword [ebp - 0x4154], esi
mov dword [ebp - 0x50], edx
je 0x40f0c3
sub ecx, 2
je 0x40f0b2
dec ecx
jne 0x40f0db
mov eax, dword [0x448c78]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x4168], ecx
jmp 0x40f0ed
mov edx, dword [0x448c78]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x4164], eax
jmp 0x40f0ed
mov ecx, dword [0x444070]
mov dword [ebp - 0x4160], 0x44406c
mov dword [ebp - 0x4170], ecx
jmp 0x40f0ed
cmp eax, 2
je case.0x40f42f.4
cmp esi, 2
jge case.0x40f173.4
mov edx, dword [ebp - 0x4158]
push edx
lea eax, [ebp - 0x4150]
push 0x4000
push eax
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
lea ecx, [ebp - 0x4150]
push 0xa
push ecx
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 8
test eax, eax
je 0x40f124
call fcn.00406b70
push 9
lea edx, [ebp - 0x4150]
push str.level2id:
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x410210
lea eax, [ebp - 0x4147]
mov ecx, eax
push ecx
mov ecx, esi
mov dword [ebp - 0x416c], eax
call fcn.00408c60
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x41016f
mov eax, dword [0x453194]
add eax, 0xfffffffe
cmp eax, 7
ja case.0x40f173.4
jmp dword [eax*4 + 0x410738]
mov edx, dword [ebp - 0x4160]
lea eax, [ebp - 0x4147]
push 0x24
push eax
mov dword [edx + 0x18], ebx
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 8
test eax, eax
jmp 0x40f239
mov edx, dword [ebp - 0x4164]
lea ecx, [ebx*8]
sub ecx, ebx
lea eax, [edx + ecx*4]
jmp 0x40f22e
mov eax, dword [ebp - 0x4168]
lea edx, [ebx + ebx*2]
or ecx, 0xffffffff
add edx, edx
mov word [eax + edx*8 + 0x20], cx
mov ecx, 1
cmp word [eax + edx*8 + 0x1c], cx
jne case.0x40f173.4
add dword [0x448520], ecx
jmp case.0x40f173.4
lea eax, [esi + esi*8]
shl eax, 4
cmp dword [ebp - 0x4174], 0
je 0x40f1f4
mov edx, dword [eax + 0x443aec]
cmp byte [ebx + edx], 0xfa
jbe 0x40f206
jmp 0x40f200
mov ecx, dword [eax + 0x443aec]
cmp byte [ebx + ecx], 0x7f
jae 0x40f206
inc dword [0x448520]
mov edx, dword [eax + 0x443af4]
mov dword [edx + ebx*4], 0xffffffff
jmp case.0x40f173.4
mov edx, dword [0x448c78]
lea eax, [esi*8]
sub eax, esi
mov eax, dword [edx + eax*8 + 0x30]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
or ecx, 0xffffffff
mov word [eax + 4], cx
cmp word [eax], 1
jne case.0x40f173.4
inc dword [0x448520]
cmp esi, 1
je 0x40f24f
cmp esi, 2
jne case.0x40f2d5.4
mov edx, dword [ebp - 0x4158]
push edx
lea eax, [ebp - 0x4150]
push 0x4000
push eax
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
lea ecx, [ebp - 0x4150]
push 0xa
push ecx
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 8
test eax, eax
je 0x40f286
call fcn.00406b70
push 6
lea edx, [ebp - 0x4150]
push str.rowid:
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x4103f2
lea eax, [ebp - 0x414a]
mov ecx, eax
push ecx
mov ecx, esi
mov dword [ebp - 0x416c], eax
call fcn.00408c60
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x410260
mov eax, dword [0x453194]
add eax, 0xfffffffe
cmp eax, 7
ja case.0x40f2d5.4
jmp dword [eax*4 + 0x410758]
mov edx, dword [ebp - 0x4160]
lea eax, [ebp - 0x414a]
push 0x24
push eax
mov dword [edx + 0x1c], ebx
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 8
test eax, eax
jmp 0x40f393
mov edx, dword [ebp - 0x4164]
lea ecx, [ebx*8]
sub ecx, ebx
lea eax, [edx + ecx*4]
jmp 0x40f386
mov eax, dword [ebp - 0x4168]
lea edx, [ebx + ebx*2]
add edx, edx
cmp word [eax + edx*8 + 0x1c], 1
mov ecx, 0xfffffffe
mov word [eax + edx*8 + 0x20], cx
jmp 0x40f393
lea eax, [esi + esi*8]
shl eax, 4
cmp dword [ebp - 0x4174], 0
je 0x40f34c
mov edx, dword [eax + 0x443aec]
cmp byte [ebx + edx], 0xfa
jbe 0x40f35e
jmp 0x40f358
mov ecx, dword [eax + 0x443aec]
cmp byte [ebx + ecx], 0x7f
jae 0x40f35e
inc dword [0x448520]
mov edx, dword [eax + 0x443af4]
mov dword [edx + ebx*4], 0xfffffffe
jmp case.0x40f2d5.4
mov edx, dword [0x448c78]
lea eax, [esi*8]
sub eax, esi
mov eax, dword [edx + eax*8 + 0x30]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, 0xfffffffe
mov word [eax + 4], cx
cmp word [eax], 1
jne case.0x40f2d5.4
inc dword [0x448520]
cmp esi, 1
je 0x40f3a9
cmp esi, 3
jne case.0x40f42f.4
mov edx, dword [ebp - 0x4158]
push edx
lea eax, [ebp - 0x4150]
push 0x4000
push eax
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
lea ecx, [ebp - 0x4150]
push 0xa
push ecx
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 8
test eax, eax
je 0x40f3e0
call fcn.00406b70
push 6
lea edx, [ebp - 0x4150]
push str.colid:
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x4103a2
lea eax, [ebp - 0x414a]
mov ecx, eax
push ecx
mov ecx, esi
mov dword [ebp - 0x416c], eax
call fcn.00408c60
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x410301
mov eax, dword [0x453194]
add eax, 0xfffffffe
cmp eax, 7
ja case.0x40f42f.4
jmp dword [eax*4 + 0x410778]
mov edx, dword [ebp - 0x4160]
lea eax, [ebp - 0x414a]
push 0x24
push eax
mov dword [edx + 0x20], ebx
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 8
test eax, eax
jmp 0x40f4fc
mov edx, dword [ebp - 0x4164]
lea ecx, [ebx*8]
sub ecx, ebx
lea eax, [edx + ecx*4]
jmp 0x40f4ef
mov eax, dword [ebp - 0x4168]
lea edx, [ebx + ebx*2]
add edx, edx
mov ecx, 0xfffffffd
mov word [eax + edx*8 + 0x20], cx
mov ecx, 1
cmp word [eax + edx*8 + 0x1c], cx
jne case.0x40f42f.4
add dword [0x448520], ecx
jmp case.0x40f42f.4
lea eax, [esi + esi*8]
shl eax, 4
cmp dword [ebp - 0x4174], 0
je 0x40f4b5
mov edx, dword [eax + 0x443aec]
cmp byte [ebx + edx], 0xfa
jbe 0x40f4c7
jmp 0x40f4c1
mov ecx, dword [eax + 0x443aec]
cmp byte [ebx + ecx], 0x7f
jae 0x40f4c7
inc dword [0x448520]
mov edx, dword [eax + 0x443af4]
mov dword [edx + ebx*4], 0xfffffffd
jmp case.0x40f42f.4
mov edx, dword [0x448c78]
lea eax, [esi*8]
sub eax, esi
mov eax, dword [edx + eax*8 + 0x30]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, 0xfffffffd
mov word [eax + 4], cx
cmp word [eax], 1
jne case.0x40f42f.4
inc dword [0x448520]
mov edx, dword [ebp - 0x4158]
push edx
lea eax, [ebp - 0x4150]
push 0x4000
push eax
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
test eax, eax
je 0x40f74e
mov edi, dword [ebp - 0x415c]
mov edi, edi
lea eax, [ebp - 0x58]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f536
sub eax, edx
push eax
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x4150]
push edx
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
je case.0x40f83a.4
lea eax, [ebp - 0x4150]
push 0xa
push eax
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 8
test eax, eax
je 0x40f577
call fcn.00406b70
lea eax, [ebp - 0x4150]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f580
sub eax, edx
cmp eax, 0xc
ja 0x410442
cmp dword [0x453194], 2
je 0x40f5b6
lea ecx, [ebp - 0x4150]
push ecx
mov ecx, esi
call fcn.00408c60
mov ebx, eax
add esp, 4
test ebx, ebx
js 0x410496
mov eax, dword [0x453194]
add eax, 0xfffffffe
cmp eax, 7
ja case.0x40f5c7.4
jmp dword [eax*4 + 0x410798]
xor eax, eax
mov cl, byte [eax + 0x4532f0]
mov byte [ebp + eax - 0x14], cl
inc eax
test cl, cl
jne 0x40f5d0
mov eax, dword [ebp - 0x416c]
lea edx, [ebp - 0x14]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40f5f0
mov eax, 8
lea esi, [ebp - 0x14]
call fcn.00406820
mov edx, edi
mov ecx, esi
add edi, 0xd
mov eax, esi
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40f612
mov esi, dword [ebp - 0x4154]
jmp case.0x40f5c7.4
mov ecx, dword [ebp - 0x4160]
inc dword [ecx + 0x14]
mov eax, dword [ecx + 0x14]
mov edx, dword [ebp - 0x4170]
mov dword [edx + eax*4 - 4], ebx
mov eax, ebx
imul eax, eax, 0xd
add eax, dword [ecx + 0x24]
mov edx, edi
add edi, 0xd
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x40f650
jmp case.0x40f5c7.4
mov ecx, dword [ebp - 0x4164]
lea eax, [ebx*8]
sub eax, ebx
lea eax, [ecx + eax*4]
mov edx, 1
mov word [eax + 4], dx
mov edx, edi
add eax, 6
add edi, 0xd
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40f684
jmp case.0x40f5c7.4
lea eax, [ebx + ebx*2]
shl eax, 4
add eax, dword [ebp - 0x4168]
mov edx, 1
mov word [eax + 0x20], dx
mov edx, edi
add eax, 0x22
add edi, 0xd
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40f6b2
jmp case.0x40f5c7.4
lea ecx, [esi + esi*8]
shl ecx, 4
mov eax, dword [ecx + 0x443af4]
mov dword [eax + ebx*4], 1
mov eax, ebx
shl eax, 5
add eax, ebx
add eax, dword [ecx + 0x443afc]
mov edx, edi
add edi, 0xd
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x40f6e3
jmp case.0x40f5c7.4
mov eax, dword [0x448c78]
lea ecx, [esi*8]
sub ecx, esi
mov ecx, dword [eax + ecx*8 + 0x30]
lea edx, [ebx + ebx*4]
lea eax, [ecx + edx*4]
mov edx, 1
mov word [eax + 4], dx
mov edx, edi
add eax, 6
add edi, 0xd
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40f720
mov eax, dword [ebp - 0x4158]
push eax
lea ecx, [ebp - 0x4150]
push 0x4000
push ecx
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
test eax, eax
jne 0x40f530
lea ecx, [ebp - 0x58]
push ecx
push str.Did_not_find__s__n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 0xc
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x40f797
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
cmp byte [ebp - 0x414f], 0x31
jne 0x40f7ac
xor esi, esi
jmp 0x40f7f5
push 3
lea edx, [ebp - 0x4150]
push 0x43c6b4
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x40f7ce
lea esi, [eax + 2]
lea eax, [ebp - 0x4147]
jmp 0x40f7fb
push 3
lea eax, [ebp - 0x4150]
push 0x43c6b8
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x40f7f0
lea esi, [eax + 3]
lea eax, [ebp - 0x4147]
jmp 0x40f7fb
mov esi, 1
lea eax, [ebp - 0x4148]
mov edi, dword [0x453194]
mov dword [ebp - 0x4154], esi
cmp edi, 0xffffffff
je 0x41053c
cmp byte [eax], 0x20
jne 0x40f81b
inc eax
cmp byte [eax], 0x20
je 0x40f815
mov edx, dword [esi*4 + 0x4444b0]
mov ecx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x40f824
lea eax, [edi - 2]
cmp eax, 6
ja case.0x40f83a.4
jmp dword [eax*4 + 0x4107b8]
mov ecx, dword [esi*4 + 0x4444b0]
mov eax, 0x43c588
call fcn.004066f0
mov edx, dword [0x448c78]
lea ecx, [esi*8]
sub ecx, esi
mov dword [edx + ecx*8], eax
jmp case.0x40f83a.4
mov ecx, dword [esi*4 + 0x4444b0]
lea edi, [esi*8]
sub edi, esi
add edi, edi
add edi, edi
add edi, edi
mov eax, 0x43c71c
mov dword [ebp - 0x415c], edi
call fcn.004066f0
mov ecx, dword [0x448c78]
mov dword [edi + ecx], eax
mov ecx, esi
call fcn.00407520
test eax, eax
jne 0x41058e
cmp esi, 3
ja case.default.0x40f8ac
jmp dword [esi*4 + 0x4107d4]
mov edx, dword [0x448c78]
mov eax, dword [edx + 4]
mov dword [0x453180], eax
jmp case.default.0x40f8ac
mov ecx, dword [0x448c78]
mov edx, dword [ecx + 0x3c]
mov dword [0x448664], edx
jmp case.default.0x40f8ac
mov eax, dword [0x448c78]
mov ecx, dword [eax + 0x74]
mov dword [0x448ba8], ecx
jmp case.default.0x40f8ac
mov edx, dword [0x448c78]
mov eax, dword [edx + 0xac]
mov dword [0x448694], eax
mov esi, dword [ebp - 0x4154]
call fcn.0040a290
imul esi, esi, 0x2c
mov eax, dword [0x448c78]
mov ebx, dword [ebp - 0x415c]
mov edi, dword [ebx + eax + 4]
mov edx, dword [ebx + eax]
imul edi, edi, 0x1a
lea ecx, [esi + 0x444040]
mov dword [ebp - 0x416c], ecx
mov dword [ecx], edx
call fcn.00406e80
mov ecx, dword [0x448c78]
mov ecx, dword [ebx + ecx + 4]
mov edx, ecx
imul edx, edx, 0xd
add edx, eax
lea edi, [ecx*4]
mov dword [esi + 0x444064], eax
mov dword [esi + 0x444068], edx
call fcn.00406e80
mov ecx, dword [ebp - 0x415c]
mov dword [esi + 0x444044], eax
mov eax, dword [0x448c78]
xor ebx, ebx
cmp dword [ecx + eax + 4], ebx
jle 0x40f992
mov edx, ecx
mov eax, dword [edx + eax + 4]
jmp 0x40f980
mov ecx, dword [esi + 0x444044]
mov dword [ecx + ebx*4], 0xffffffff
inc ebx
cmp ebx, eax
jl 0x40f980
mov ecx, dword [ebp - 0x416c]
call fcn.00407660
test eax, eax
je 0x410079
mov eax, dword [ebp - 0x4154]
mov eax, dword [eax*4 + 0x4444b0]
push eax
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
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, 0xc
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x40f9f9
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, dword [esi*4 + 0x4444b0]
mov eax, 0x43c71c
call fcn.004066f0
mov ecx, dword [0x448c78]
lea edx, [esi*8]
sub edx, esi
mov dword [ecx + edx*8], eax
mov ecx, esi
call fcn.00407d80
test eax, eax
jne 0x4105e4
cmp esi, 3
ja case.default.0x40fa3c
jmp dword [esi*4 + 0x4107e4]
mov edx, dword [0x448c78]
mov eax, dword [edx + 4]
lea edi, [eax*8]
sub edi, eax
add edi, edi
add edi, edi
mov dword [0x453180], eax
call fcn.00406e80
mov ecx, dword [0x448c78]
mov edx, dword [ecx]
mov dword [ecx + 0x18], eax
push eax
mov eax, dword [ecx + 4]
push eax
xor ecx, ecx
call fcn.00407ff0
add esp, 8
test eax, eax
jne case.default.0x40fa3c
mov edx, dword [0x4444b0]
push edx
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 0xc
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x40fad1
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, dword [0x448c78]
mov eax, dword [ecx + 0x3c]
lea edi, [eax*8]
sub edi, eax
add edi, edi
add edi, edi
mov dword [0x448664], eax
call fcn.00406e80
mov ecx, dword [0x448c78]
mov edx, dword [ecx + 0x3c]
push eax
push edx
mov edx, dword [ecx + 0x38]
mov dword [ecx + 0x50], eax
mov ecx, 1
call fcn.00407ff0
add esp, 8
test eax, eax
jne case.default.0x40fa3c
mov edx, dword [0x4444b4]
push edx
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 0xc
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x40fb6b
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [0x448c78]
mov eax, dword [eax + 0x74]
lea edi, [eax*8]
sub edi, eax
add edi, edi
add edi, edi
mov dword [0x448ba8], eax
call fcn.00406e80
mov ecx, dword [0x448c78]
mov edx, dword [ecx + 0x74]
push eax
push edx
mov edx, dword [ecx + 0x70]
mov dword [ecx + 0x88], eax
mov ecx, 2
call fcn.00407ff0
add esp, 8
test eax, eax
jne case.default.0x40fa3c
mov edx, dword [0x4444b8]
push edx
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 0xc
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x40fc07
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [0x448c78]
mov eax, dword [eax + 0xac]
lea edi, [eax*8]
sub edi, eax
add edi, edi
add edi, edi
mov dword [0x448694], eax
call fcn.00406e80
mov ecx, dword [0x448c78]
mov edx, dword [ecx + 0xac]
push eax
push edx
mov edx, dword [ecx + 0xa8]
mov dword [ecx + 0xc0], eax
mov ecx, 3
call fcn.00407ff0
add esp, 8
test eax, eax
jne case.default.0x40fa3c
mov edx, dword [0x4444bc]
push edx
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 0xc
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x40fcac
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, dword [esi*4 + 0x4444b0]
lea edi, [esi*8]
sub edi, esi
add edi, edi
add edi, edi
add edi, edi
mov eax, 0x43c71c
mov dword [ebp - 0x415c], edi
call fcn.004066f0
mov ecx, dword [0x448c78]
mov dword [edi + ecx], eax
mov ecx, esi
call fcn.004084e0
test eax, eax
jne 0x410639
cmp esi, 3
ja case.default.0x40fcfb
jmp dword [esi*4 + 0x4107f4]
mov eax, dword [0x443e80]
lea edi, [eax + eax*2]
shl edi, 4
call fcn.00406e80
mov edi, dword [0x443e80]
mov ecx, dword [0x448c78]
mov edx, dword [ecx + 4]
add edi, edi
add edi, edi
add edi, edi
mov dword [ecx + 0x1c], eax
mov dword [0x453180], edx
call fcn.00406e80
mov dword [0x4444d4], eax
jmp case.default.0x40fcfb
mov eax, dword [0x448c78]
mov ecx, dword [eax + 0x3c]
mov eax, dword [0x443ea8]
lea edi, [eax + eax*2]
shl edi, 4
mov dword [0x448664], ecx
call fcn.00406e80
mov edx, dword [0x448c78]
mov dword [edx + 0x54], eax
jmp case.default.0x40fcfb
mov eax, dword [0x448c78]
mov ecx, dword [eax + 0x74]
mov eax, dword [0x443ed0]
lea edi, [eax + eax*2]
shl edi, 4
mov dword [0x448ba8], ecx
call fcn.00406e80
mov edx, dword [0x448c78]
mov dword [edx + 0x8c], eax
jmp case.default.0x40fcfb
mov eax, dword [0x448c78]
mov ecx, dword [eax + 0xac]
mov eax, dword [0x443ef8]
lea edi, [eax + eax*2]
shl edi, 4
mov dword [0x448694], ecx
call fcn.00406e80
mov edx, dword [0x448c78]
mov dword [edx + 0xc4], eax
mov esi, dword [ebp - 0x4154]
call fcn.0040a290
mov eax, dword [0x448c78]
mov ecx, dword [ebp - 0x415c]
mov edx, dword [ecx + eax + 0x1c]
mov ecx, dword [ecx + eax]
push edx
lea edx, [esi + esi*4]
mov edx, dword [edx*8 + 0x443e80]
push edx
push esi
call fcn.004086e0
dec eax
add esp, 0xc
test eax, eax
jg 0x410079
mov esi, dword [esi*4 + 0x4444b0]
push esi
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
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, 0xc
push edx
call esi
add esp, 4
cmp dword [0x443e58], 0
je 0x40fe4a
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, dword [esi*4 + 0x4444b0]
mov eax, 0x43c71c
call fcn.004066f0
mov edx, dword [0x448c78]
lea ecx, [esi*8]
sub ecx, esi
push esi
mov dword [edx + ecx*8], eax
call fcn.00408f30
add esp, 4
test eax, eax
jne 0x41068e
cmp esi, 3
ja case.default.0x40fe8b
jmp dword [esi*4 + 0x410804]
mov eax, dword [0x448c78]
mov ecx, dword [eax + 4]
mov dword [0x453180], ecx
jmp case.default.0x40fe8b
mov edx, dword [0x448c78]
mov eax, dword [edx + 0x3c]
mov dword [0x448664], eax
jmp case.default.0x40fe8b
mov ecx, dword [0x448c78]
mov edx, dword [ecx + 0x74]
mov dword [0x448ba8], edx
jmp case.default.0x40fe8b
mov eax, dword [0x448c78]
mov ecx, dword [eax + 0xac]
mov dword [0x448694], ecx
mov esi, dword [ebp - 0x4154]
call fcn.0040a290
lea edx, [esi + esi*8]
xor eax, eax
shl edx, 4
cmp dword [edx + 0x443af8], 8
setge al
mov dword [ebp - 0x4174], eax
jmp 0x410079
cmp dword [0x453194], 0xffffffff
je 0x4106e3
cmp byte [ebp - 0x414f], 0x31
jne 0x40ff16
xor esi, esi
jmp 0x40ff5f
push 3
lea ecx, [ebp - 0x4150]
push 0x43c6b4
push ecx
call edi
add esp, 0xc
test eax, eax
jne 0x40ff38
lea esi, [eax + 2]
lea eax, [ebp - 0x4146]
jmp 0x40ff65
push 3
lea edx, [ebp - 0x4150]
push 0x43c6b8
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x40ff5a
lea esi, [eax + 3]
lea eax, [ebp - 0x4146]
jmp 0x40ff65
mov esi, 1
lea eax, [ebp - 0x4147]
cmp byte [eax], 0x20
jne 0x40ff76
lea ebx, [ebx]
inc eax
cmp byte [eax], 0x20
je 0x40ff70
mov edx, dword [esi*4 + 0x444370]
mov ecx, eax
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x40ff80
jmp case.0x40f83a.4
cmp byte [ebp - 0x414c], 0x31
jne 0x40ffc2
lea eax, [ebp - 0x4147]
push eax
mov dword [ebp - 0x4154], 0
call dword [sym.imp.MSVCR100.dll_atoi]
mov ecx, dword [0x448c78]
mov dword [0x453180], eax
mov dword [ecx + 4], eax
jmp 0x41006b
mov esi, 3
push esi
lea edx, [ebp - 0x414d]
push 0x43c6b4
push edx
call edi
add esp, 0xc
test eax, eax
jne 0x41000a
lea eax, [ebp - 0x4146]
push eax
mov dword [ebp - 0x4154], 2
call dword [sym.imp.MSVCR100.dll_atoi]
mov ecx, dword [0x448c78]
mov edx, dword [0x448ba8]
mov dword [0x448664], eax
mov dword [ecx + 0x3c], edx
jmp 0x41006b
push esi
lea eax, [ebp - 0x414d]
push 0x43c6b8
push eax
call edi
add esp, 0xc
mov dword [ebp - 0x4154], esi
test eax, eax
jne 0x410048
lea ecx, [ebp - 0x4146]
push ecx
call dword [sym.imp.MSVCR100.dll_atoi]
mov edx, dword [0x448c78]
mov dword [0x448ba8], eax
mov eax, dword [0x448694]
mov dword [edx + 0x74], eax
jmp 0x41006b
lea ecx, [ebp - 0x4147]
push ecx
call dword [sym.imp.MSVCR100.dll_atoi]
mov edx, dword [0x448c78]
mov dword [0x448694], eax
mov eax, dword [0x448664]
mov dword [edx + 0xac], eax
add esp, 4
mov esi, dword [ebp - 0x4154]
call fcn.0040a290
mov esi, dword [ebp - 0x4154]
mov ecx, dword [ebp - 0x4158]
push ecx
lea edx, [ebp - 0x4150]
push 0x4000
push edx
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
test eax, eax
jne 0x40e780
mov edx, dword [ebp - 0x4178]
push edx
lea ecx, [ebp - 0x150]
call fcn.00410820
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004391bc
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call edi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x410114
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call edi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x410167
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.id_variable_not_found__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call edi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x4101b8
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.ID_var_should_not_be_chosen_for_ASCII_data_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 4
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x410208
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.ID_specification_must_immediately_follow_begin_line__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 4
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x410258
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.id_variable_not_found__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call edi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x4102a9
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.ID_var_should_not_be_chosen_for_ASCII_data_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 4
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x4102f9
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.id_variable_not_found__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 4
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x410349
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.ID_var_should_not_be_chosen_for_ASCII_data_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call edi
mov edx, dword [0x448bc8]
add esp, 4
push edx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x41039a
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.ID_specification_must_immediately_follow_begin_line__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 4
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x4103ea
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.ID_specification_must_immediately_follow_begin_line__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 4
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x41043a
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
lea ecx, [ebp - 0x4150]
push ecx
push str.Variable_name__s_is_too_long__n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 0xc
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x41048e
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
lea ecx, [ebp - 0x4150]
push ecx
push str.Variable__s_not_found__n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 0xc
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x4104e2
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 4
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x410534
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
lea ecx, [ebp - 0x8c]
push ecx
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 4
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x410586
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [esi*4 + 0x4444b0]
push eax
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov ecx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push ecx
mov dword [0x443e58], 1
call edi
mov edx, dword [0x448bc8]
add esp, 0xc
push edx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x4105dc
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [esi*4 + 0x4444b0]
push eax
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 0xc
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x410631
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [esi*4 + 0x4444b0]
push eax
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov edx, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push edx
mov dword [0x443e58], 1
call edi
mov eax, dword [0x448bc8]
add esp, 0xc
push eax
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x410686
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [esi*4 + 0x4444b0]
push eax
push str.__s_is_an_empty_file_n
call dword [sym.imp.MSVCR100.dll_printf]
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 0xc
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x4106db
call fcn.00406b90
push 1
call dword [sym.imp.MSVCR100.dll_exit]
lea edx, [ebp - 0x8c]
push edx
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00406fe0
mov eax, dword [0x4596c4]
mov edi, dword [sym.imp.MSVCR100.dll_remove]
push eax
mov dword [0x443e58], 1
call edi
mov ecx, dword [0x448bc8]
add esp, 4
push ecx
call edi
add esp, 4
cmp dword [0x443e58], 0
je 0x41072d
call fcn.00406b90
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
lea ecx, [ecx]
rol byte [ecx], 0x41
add byte [edx - 15], bh
inc eax
add byte [ecx - 0xe], al
inc eax
add byte [ecx + esi*8 - 0xe4fffc0], bl
inc eax
add byte [ecx - 0xe], al
inc eax
add bh, dl
int1
inc eax
add byte [0xb10040f2], dl
add al, byte [ecx]
fdivr st(2), st(0)
inc eax
add byte [ebx - 0x1ffbf0d], bl
inc eax
add byte [edx], dl
inc eax
add byte [ebx + 0x2f0040f3], bl
inc eax
add byte [ebp - 0xd], ch
inc eax
add byte [ecx + 3], dl
inc ecx
add byte [esi], dh
hlt