Function at 0x421920
Capabilities:
Check for time delay via gettickcount
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x32c
mov eax, dword [0x4a4b34]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push ebx
push esi
push edi
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x308], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp + 0xc]
mov edi, dword [sym.imp.MSVCR100.dll_abort]
mov dword [ebp - 0x310], eax
test esi, esi
jne 0x421984
xor eax, eax
jmp 0x421970
mov cl, byte [eax + 0x4ac560]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x421970
jmp 0x4219b4
cmp esi, 1
jne 0x4219a4
xor eax, eax
jmp 0x421990
mov cl, byte [eax + 0x4ac460]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x421990
jmp 0x4219b4
push 0
push 0
push str.Table_selection_error_
call sub.mfc100.dll_Ordinal_1982
call edi
lea edx, [ebp - 0x104]
push 0x2e
push edx
call dword [sym.imp.MSVCR100.dll_strrchr]
mov ebx, dword [ebp + 8]
add esp, 8
mov byte [eax], 0
cmp ebx, 6
ja case.default.0x4219d5
jmp dword [ebx*4 + 0x421f5c]
lea eax, [ebp - 0x104]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4219e3
mov ecx, dword [str._base1.mod]
mov edx, dword [0x493e44]
mov dword [eax], ecx
mov cx, word [0x493e48]
mov dword [eax + 4], edx
mov dl, byte [0x493e4a]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
jmp 0x421b74
lea eax, [ebp - 0x104]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x421a20
mov ecx, dword [str._base2.mod]
mov edx, dword [0x493e34]
mov dword [eax], ecx
mov cx, word [0x493e38]
mov dword [eax + 4], edx
mov dl, byte [0x493e3a]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
jmp 0x421b74
lea eax, [ebp - 0x104]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x421a60
mov ecx, dword [str._base3.mod]
mov edx, dword [0x493e24]
mov dword [eax], ecx
mov cx, word [0x493e28]
mov dword [eax + 4], edx
mov dl, byte [0x493e2a]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
jmp 0x421b74
lea eax, [ebp - 0x104]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x421aa0
mov ecx, dword [str._base4.mod]
mov edx, dword [0x493e14]
mov dword [eax], ecx
mov cx, word [0x493e18]
mov dword [eax + 4], edx
mov dl, byte [0x493e1a]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
jmp 0x421b74
lea eax, [ebp - 0x104]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x421ae0
mov ecx, dword [str._jig.mod]
mov edx, dword [0x493e08]
mov dword [eax], ecx
mov cl, byte [0x493e0c]
mov dword [eax + 4], edx
mov byte [eax + 8], cl
jmp 0x421b74
lea eax, [ebp - 0x104]
dec eax
jmp 0x421b10
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x421b10
mov edx, dword [str._fmark1.mod]
mov ecx, dword [0x493df8]
mov dword [eax], edx
mov edx, dword [0x493dfc]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
jmp 0x421b74
lea eax, [ebp - 0x104]
dec eax
jmp 0x421b40
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x421b40
mov ecx, dword [str._fmark2.mod]
mov edx, dword [0x493de8]
mov dword [eax], ecx
mov ecx, dword [0x493dec]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jmp 0x421b74
push 0
push 0
push str.Base_No_error_
call sub.mfc100.dll_Ordinal_1982
call edi
xor eax, eax
jmp 0x421b80
mov cl, byte [ebp + eax - 0x104]
mov byte [ebp + eax - 0x304], cl
inc eax
test cl, cl
jne 0x421b80
mov edx, dword [0x4a5038]
mov eax, dword [0x4a503c]
mov ecx, dword [0x4a5064]
push 0x4a5050
push 0
push 0x34
push 8
push edx
push eax
push 1
push ecx
call sub.MIL.dll_Ordinal_110
call fcn.00401514
push 0
call fcn.0040194c
push 0
push 0
push 0x25d
call fcn.004022cf
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x310]
cmp eax, 0x3e8
jbe 0x421c0b
push 0
push 1
push 0x25d
call fcn.004022cf
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047e7ac
mov esp, ebp
pop ebp
ret
mov edx, dword [0x4a5050]
mov eax, dword [0x4a5058]
push edx
push eax
call fcn.00402397
mov edx, dword [0x4a5050]
push esi
push ebx
lea ecx, [ebp - 0x304]
push ecx
push edx
call fcn.00402a8b
add esp, 0x18
cmp dword [0x4ac6c0], 0
je 0x421d2c
mov eax, dword [0x4a5040]
push 0
push eax
call sub.MILPAT.dll_Ordinal_110_1
cmp eax, 1
je 0x421c8a
mov ecx, dword [0x4a5058]
push str.Error
push 0
push 0
push ecx
push 0x10000000
call sub.MIL.dll_Ordinal_215
mov edx, dword [0x4a5050]
push str.Error
push 0
push 0
push edx
push 0x10000000
call sub.MIL.dll_Ordinal_215
jmp 0x421cd0
mov eax, dword [0x4a5058]
mov ecx, dword [0x4a5040]
push 0x10000000
push 0x10000000
push 0x60
push eax
push ecx
push 0x10000000
call sub.MILPAT.dll_Ordinal_129_1
mov edx, dword [0x4a5050]
mov eax, dword [0x4a5040]
push 0x10000000
push 0x10000000
push 0x60
push edx
push eax
push 0x10000000
call sub.MILPAT.dll_Ordinal_129_1
mov edi, dword [sym.imp.MSVCR100.dll_sprintf]
neg esi
sbb esi, esi
and esi, 6
push ebx
add esi, 0x4c
push esi
lea ecx, [ebp - 0x204]
push str.c:_ErrImage_c_d.tif
push ecx
call edi
mov edx, dword [0x4a5058]
add esp, 0x10
push edx
lea eax, [ebp - 0x204]
push eax
call sub.MIL.dll_Ordinal_136
push ebx
push esi
lea ecx, [ebp - 0x204]
push str.c:_ErrImageGray_c_d.tif
push ecx
call edi
mov edx, dword [0x4a5050]
add esp, 0x10
push edx
lea eax, [ebp - 0x204]
push eax
call sub.MIL.dll_Ordinal_136
fld qword [0x4a4410]
fld qword [0x4a4fd8]
fmul st(1)
fld qword [0x493d88]
fdiv st(1), st(0)
fxch st(1)
fstp qword [ebp - 0x324]
fld qword [0x4a4f88]
fld st(0)
fmulp st(3)
fxch st(2)
fdivrp st(1)
fstp qword [ebp - 0x314]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x421d75
fstp qword [ebp - 0x314]
jmp 0x421d77
fstp st(0)
lea ecx, [ebp - 0x104]
push 0x2e
push ecx
call dword [sym.imp.MSVCR100.dll_strrchr]
mov byte [eax], 0
lea eax, [ebp - 0x104]
add esp, 8
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x421d93
mov edx, dword [str..par]
mov cl, byte [0x493d80]
mov edi, dword [sym.imp.MSVCR100.dll_fopen]
mov dword [eax], edx
lea edx, [ebp - 0x104]
push 0x493d78
push edx
mov byte [eax + 4], cl
call edi
mov esi, eax
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x31c]
push ecx
push str._lf__lf_n
push esi
call dword [sym.imp.MSVCR100.dll_fscanf]
mov ebx, dword [sym.imp.MSVCR100.dll_fclose]
push esi
call ebx
fld qword [ebp - 0x324]
fsub qword [ebp - 0x31c]
mov edx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x308]
add esp, 0x1c
fstp qword [edx]
fld qword [ebp - 0x314]
fsub qword [ebp - 0x32c]
fstp qword [eax]
cmp dword [0x4ac6c0], 0
je 0x421f12
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
neg eax
sbb eax, eax
push ecx
and eax, 6
add eax, 0x4c
push eax
lea edx, [ebp - 0x204]
push str.c:_Error_c_d.txt
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x10
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x204]
push 0x493d54
push ecx
call edi
add esp, 8
test eax, eax
je 0x421eba
mov edx, dword [ebp - 0x308]
fld qword [edx]
mov eax, dword [ebp - 0x30c]
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [eax]
fstp qword [esp + 0x20]
fld qword [ebp - 0x32c]
fstp qword [esp + 0x18]
fld qword [ebp - 0x31c]
fstp qword [esp + 0x10]
fld qword [ebp - 0x314]
fstp qword [esp + 8]
fld qword [ebp - 0x324]
fstp qword [esp]
push str._f__f__f__f__f__f_n
push esi
call dword [sym.imp.MSVCR100.dll_fprintf]
push esi
call ebx
add esp, 0x3c
mov ecx, dword [ebp - 0x308]
fld qword [ecx]
mov edx, dword [ebp - 0x30c]
mov eax, dword [ebp + 8]
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [edx]
fstp qword [esp + 0x20]
fld qword [ebp - 0x32c]
fstp qword [esp + 0x18]
fld qword [ebp - 0x31c]
fstp qword [esp + 0x10]
fld qword [ebp - 0x314]
fstp qword [esp + 8]
fld qword [ebp - 0x324]
fstp qword [esp]
push eax
push str.FMark_No:_d__f__f__f__f__f__f_n
push 0x8c42b4
call fcn.00401857
add esp, 0x3c
mov ecx, dword [0x4a5050]
push ecx
call sub.MIL.dll_Ordinal_123
push 0
push 0x351
call fcn.00401a23
add esp, 8
test eax, eax
jne 0x421f43
push eax
push 0x34d
call fcn.00401a23
add esp, 8
test eax, eax
je 0x421f48
call fcn.004024e1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047e7ac
mov esp, ebp
pop ebp
ret