Function at 0x401000
Capabilities:
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x4a231e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5ac
push ebx
push ebp
push esi
push edi
xor edi, edi
xor esi, esi
mov dword [esp + 0x14], esi
mov dword [0x4ddeec], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], edi
call dword [sym.imp.DMDataTk53.dll_public:_static_void___cdecl_eaiEntityFactory::init_void_]
push 0xf4a91
call dword [sym.imp.DMDataTk53.dll_public:_static_int___cdecl_eaiEntityFactory::registerCustomer_unsigned_long_int_]
mov ecx, dword [esp + 0x5d0]
mov ebp, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___char_const__]
mov eax, 1
add esp, 4
cmp ecx, eax
mov dword [esp + 0x10], eax
jle 0x4015d1
mov ecx, dword [esp + 0x5d0]
lea ebx, [ecx + 8]
jmp 0x401083
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x5d0]
mov eax, dword [edx + eax*4]
cmp byte [eax], 0x2d
jne 0x401269
mov edi, 0x4af470
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401105
mov eax, dword [0x4ddeec]
test eax, eax
je 0x4010ec
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str.ERROR:__Output_file_already_specified_n
call ebp
mov eax, dword [ebx]
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push 0x4af444
push eax
push str.ignoring
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [esp + 0x10]
inc ecx
add ebx, 4
mov dword [esp + 0x10], ecx
jmp 0x4012e3
mov ecx, dword [ebx]
mov dword [0x4ddeec], ecx
mov ecx, dword [esp + 0x10]
inc ecx
add ebx, 4
mov dword [esp + 0x10], ecx
jmp 0x4012e3
mov edi, 0x4af434
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401171
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40115a
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str.ERROR:__Input_list_file_already_specified_n
call ebp
mov eax, dword [ebx]
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push 0x4af444
push eax
push str.ignoring
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [esp + 0x10]
inc ecx
add ebx, 4
mov dword [esp + 0x10], ecx
jmp 0x4012e3
mov ecx, dword [ebx]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
inc ecx
add ebx, 4
mov dword [esp + 0x10], ecx
jmp 0x4012e3
mov edi, 0x4af404
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4011dd
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4011c6
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str.ERROR:__Config_file_already_specified_n
call ebp
mov eax, dword [ebx]
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push 0x4af444
push eax
push str.ignoring
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [esp + 0x10]
inc ecx
add ebx, 4
mov dword [esp + 0x10], ecx
jmp 0x4012e3
mov ecx, dword [ebx]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
inc ecx
add ebx, 4
mov dword [esp + 0x10], ecx
jmp 0x4012e3
mov edi, 0x4af3d8
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4011fc
mov dword [esp + 0x1c], 1
jmp 0x4012e3
mov edi, str._help
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40125f
mov edi, 0x4af3cc
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40125f
mov edi, 0x4af3c8
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40123f
mov dword [esp + 0x28], 1
jmp 0x4012e3
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push 0x4af444
push eax
push str.Unknown_option:
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
jmp 0x4012e3
mov dword [esp + 0x24], 1
jmp 0x4012e3
cmp esi, 0x64
jle 0x40128a
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str.ERROR:_Too_many_input_files_specified_n
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str._______Exiting..._n
call ebp
jmp 0x4012e3
mov dword [esp + esi*4 + 0x2c], eax
inc esi
push 0x4af374
push eax
mov dword [esp + 0x1c], esi
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
cmp eax, edi
jne 0x4012d9
mov eax, dword [esp + esi*4 + 0x28]
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
dec esi
push str._for_input_n
push eax
push str.ERROR:_Unable_to_open
mov dword [esp + 0x20], esi
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str._______Skipping..._n
call ebp
jmp 0x4012e3
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x5cc]
inc eax
add ebx, 4
xor edi, edi
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x40107f
cmp dword [esp + 0x28], edi
je 0x4013a4
mov ecx, dword [esp + 0x5d0]
push 0x4af338
mov edx, dword [ecx]
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push edx
push str.Compile_information_for
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push 0x4af444
push str.4.3_build_63_
push str.__version
push str.VRML_1.0_2.0_and_Inventor
push str._n__EAI_interface_to
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push 0x4af444
push str.Mar__2_2004
push str._tcreation_date:
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push 0x4af444
push str.13:49:30
push str._tcreation_time:
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_exit]
cmp dword [esp + 0x24], edi
jne 0x4015d1
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
cmp eax, edi
jne 0x4013c2
cmp ebx, edi
je 0x4015d1
push 0x2d4
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, edi
mov dword [esp + 0x5c4], edi
je 0x4013f6
push str.4.3_build_63_
push 0x4af288
push str.VRML_1.0_2.0_and_Inventor
mov ecx, eax
call fcn.00401a70
jmp 0x4013f8
xor eax, eax
mov ecx, 1
mov dword [0x4ddef0], eax
mov dword [eax + 0x54], ecx
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x5c4], 0xffffffff
je 0x40142d
mov eax, dword [0x4ddef0]
push str.Running_in_demo_mode..._n
mov dword [eax + 0x5c], ecx
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
call ebp
call dword [sym.imp.DMDataTk53.dll_public:_static_class_eaiCADExporter____cdecl_eaiEntityFactory::createCADExporter_void_]
mov edi, eax
xor esi, esi
cmp edi, esi
mov dword [esp + 0x1c], edi
jne 0x401469
push str._nERROR:_Unable_to_create_the_CADExporter_object._There_may_be_a_fault_with_DMDataTk._Please_ensure_that_DMDataTk_is_installed_and_has_a_license_n_n
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 4
or eax, 0xffffffff
mov ecx, dword [esp + 0x5bc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5b8
ret
mov ecx, edi
call dword [sym.imp.DMDataTk53.dll_public:_void___thiscall_eaiEntity::ref_void_const]
mov ecx, dword [0x4ddef0]
push edi
call fcn.004434b0
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [0x4ddef0]
call fcn.00443830
test eax, eax
je 0x4014b6
mov edx, dword [0x4ddef0]
mov dword [edx + 0x68], 1
mov eax, dword [0x4ddef0]
mov dword [eax + 0x10c], 0x3f800000
mov ecx, dword [0x4ddef0]
mov dword [ecx + 0x58], esi
mov ecx, dword [0x4ddef0]
call fcn.004434f0
cmp ebx, esi
je 0x401582
push 0x4af374
push ebx
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
jne 0x401512
mov edx, dword [esp + 0x18]
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cout]
push 0x4af444
push edx
push str.ERROR:__Unable_to_open_list_file:
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cout]
push str.________Exiting..._n
call ebp
push 1
call dword [sym.imp.MSVCRT.dll_exit]
mov edi, dword [sym.imp.MSVCRT.dll_fscanf]
mov ebx, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::flush_void_]
lea eax, [esp + 0x1bc]
push eax
push 0x4af198
push esi
call edi
add esp, 0xc
lea ecx, [esp + 0x1bc]
push 0x4af444
push ecx
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cout]
push str._nTranslating_file:
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cout]
call ebx
lea edx, [esp + 0x1bc]
push edx
call fcn.00401690
mov al, byte [esi + 0xc]
add esp, 4
test al, 0x10
je 0x40151e
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
mov edi, dword [esp + 0x20]
add esp, 4
jmp 0x4015a2
mov eax, dword [esp + 0x14]
cmp eax, esi
jle 0x4015a2
mov ebx, eax
test ebx, ebx
jle 0x4015a2
mov eax, dword [esp + esi*4 + 0x2c]
push eax
call fcn.00401690
add esp, 4
inc esi
cmp esi, ebx
jl 0x401590
mov ecx, edi
call dword [sym.imp.DMDataTk53.dll_public:_void___thiscall_eaiEntity::unref_void_const]
mov esi, dword [0x4ddef0]
test esi, esi
je 0x4015c4
mov ecx, esi
call fcn.00401b10
push esi
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
call dword [sym.imp.DMDataTk53.dll_public:_static_void___cdecl_eaiEntityFactory::fini_void_]
xor eax, eax
jmp 0x401450
mov ecx, dword [esp + 0x5d0]
push str.__options___infile1____infile2__...__n
mov edx, dword [ecx]
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push edx
push str.USAGE:_n_t
call ebp
mov ecx, eax
call ebp
mov ecx, eax
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str.OPTIONS:_n
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str._t_help__h______Print_this_help_page_n
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str._t_d____________Run_in_demo_mode_n
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str._t_l__file______Use_files_listed_in__file__for_input_n
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str._t_o__file______Direct_output_to_the_file_path_in__file__n
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_class_ostream_withassign_cerr]
push str._t_z__file______Load_export_config_info_from__file__n
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_exit]
nop
nop
nop
nop
nop
nop
call fcn.00401660
jmp 0x401670
push 0x401680
call fcn.0044640c
pop ecx
ret