Function at 0x402dd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x41c2ed
mov eax, dword fs:[0]
push eax
sub esp, 0xe68
mov eax, dword [0x42567c]
xor eax, esp
mov dword [esp + 0xe30], eax
push ebx
push esi
push edi
mov eax, dword [0x42567c]
xor eax, esp
push eax
lea eax, [esp + 0xe78]
mov dword fs:[0], eax
push str.WNC_IGES_INCLUDE_NOSHOW
call fcn.00413cb0
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x402e54
cmp dword [0x4256f0], ebx
jne 0x402e54
push 0x41de64
push eax
call dword [sym.imp.MSVCR80.dll__stricmp]
add esp, 8
test eax, eax
jne 0x402e54
push 1
call fcn.00404bc0
add esp, 4
mov dword [0x4256f0], 1
jmp 0x402e5d
cmp dword [0x4256f0], 1
jne 0x402e6a
push str.No_Show_geometry_is_included._n
call fcn.00401320
add esp, 4
mov eax, dword [0x4256c4]
push eax
push str.Opening__s_n
call fcn.00401320
push 0x302
lea ecx, [esp + 0x298]
push ebx
push ecx
call sub.MSVCR80.dll_memset
mov eax, dword [0x4256e4]
add esp, 0x14
cmp eax, 7
mov word [esp + 0x28c], 0x302
je 0x402eae
cmp eax, 0xa
je 0x402eae
cmp eax, 0xb
jne 0x402eca
mov dx, word [0x41de30]
mov cl, byte [0x41de32]
mov word [esp + 0x28e], dx
mov byte [esp + 0x290], cl
mov esi, dword [0x4256c8]
cmp esi, ebx
je 0x402ee2
mov ecx, 0x40
lea edi, [esp + 0x38e]
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x14]
push edx
mov edx, dword [0x4256c4]
lea ecx, [esp + 0x290]
push ecx
push eax
push edx
push ebx
call dword [0x426304]
add esp, 0x14
test eax, eax
je 0x402f1c
push str.Could_not_open_the_input_file.
call fcn.004013b0
add esp, 4
mov eax, 0xfffffffb
jmp 0x403e83
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x28]
push ecx
push edx
push ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], ebx
call dword [0x42630c]
add esp, 0x10
cmp eax, ebx
je 0x402f58
push str.Could_not_get_the_list_of_models.
call fcn.004013b0
add esp, 4
mov eax, 0xfffffffa
jmp 0x403e83
cmp dword [esp + 0x30], 1
jae 0x402f74
push str.File_contains_zero_models.
call fcn.004013b0
add esp, 4
or eax, 0xffffffff
jmp 0x403e83
lea ecx, [esp + 0x34]
call fcn.00402cf0
cmp dword [0x4256e8], ebx
mov eax, dword [esp + 0x30]
mov dword [esp + 0xe80], ebx
je 0x403015
xor edi, edi
cmp eax, ebx
jbe 0x403015
xor esi, esi
lea esp, [esp]
mov eax, dword [esp + 0x24]
lea ecx, [esi + eax + 9]
push ecx
lea ecx, [esp + 0xcc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov ebx, dword [esp + 0x38]
cmp ebx, dword [esp + 0x3c]
mov byte [esp + 0xe80], 1
jbe 0x402fce
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
lea edx, [esp + 0xc8]
push edx
push ebx
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x44]
call fcn.00402c30
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe80], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 0x30]
add edi, 1
add esi, 0x8c
cmp edi, eax
jb 0x402fa0
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xa8], eax
mov dword [esp + 0x74], ebx
jle 0x40394e
lea esp, [esp]
mov eax, dword [0x42402c]
cmp eax, 0xffffffff
je 0x403044
cmp eax, dword [esp + 0x74]
jne 0x403934
push 0x124
xor edi, edi
lea ecx, [esp + 0x168]
push edi
push ecx
call sub.MSVCR80.dll_memset
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x30]
imul esi, esi, 0x8c
lea edx, [esp + 0x170]
push edx
mov edx, dword [esp + 0x24]
mov word [esp + 0x174], 0x124
mov ecx, dword [esi + eax + 4]
push ecx
push edx
push edi
mov dword [esp + 0xa0], esi
call dword [0x426310]
mov eax, dword [esp + 0x40]
lea ecx, [esi + eax + 9]
push ecx
push str.Reading_model__s_n
call fcn.00401320
lea edx, [esp + 0x22c]
push edx
call fcn.00404bd0
xor eax, eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov eax, dword [0x4256e4]
add esp, 0x28
sub eax, 1
mov word [esp + 0x94], 0xc
mov dword [esp + 0x90], 0x4256ac
je 0x403107
sub eax, 4
jne 0x403121
cmp dword [0x4256f0], edi
jne 0x403121
or dword [esp + 0x98], 0x400000
jmp 0x403121
xor eax, eax
cmp dword [0x4256ec], 1
setne al
lea eax, [eax*4 + 0x18]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x28]
push ecx
push edi
lea edx, [esp + 0x98]
push edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x34], edi
mov ecx, dword [esi + eax + 4]
push edi
push ecx
push edx
push edi
call dword [0x426320]
add esp, 0x1c
cmp eax, edi
je 0x40316c
push eax
call fcn.00401390
mov eax, dword [esp + 0x28]
lea ecx, [esi + eax + 9]
push ecx
push 0x41dd9c
call fcn.004013b0
add esp, 0xc
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
push edx
push 4
push eax
call fcn.004019c0
lea ecx, [esp + 0xac]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edi
mov edx, dword [esi + ecx + 4]
push edx
push eax
push edi
call dword [0x426314]
add esp, 0x24
cmp eax, edi
je 0x4031cc
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x4031c4
push eax
call sub.MSVCR80.dll_free
add esp, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edi
cmp dword [0x4256e8], edi
je 0x403474
cmp dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
jle 0x40330c
xor ebx, ebx
jmp 0x4031f0
mov ecx, dword [esp + 0x18]
lea esi, [ecx + ebx]
cmp esi, edi
je 0x4032f1
lea ecx, [esp + 0xc8]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea edx, [esi + 8]
push edx
lea ecx, [esp + 0xcc]
mov byte [esp + 0xe84], 2
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push 0x41dd98
lea ecx, [esp + 0xcc]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
xor edi, edi
cmp dword [esi + 4], edi
jle 0x4032ab
mov edi, edi
mov eax, dword [esi]
mov eax, dword [eax + edi*4]
lea ecx, [esp + 0x594]
push ecx
lea edx, [esp + 0xe8]
push edx
push eax
mov eax, dword [esp + 0x20]
push eax
push 0
call dword [0x42633c]
add esp, 0x14
test eax, eax
jne 0x4032a3
push 0x41dd94
lea ecx, [esp + 0xcc]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
lea ecx, [esp + 0xe4]
push ecx
lea ecx, [esp + 0xcc]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push 0x41dd90
lea ecx, [esp + 0xcc]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
add edi, 1
cmp edi, dword [esi + 4]
jl 0x403240
mov esi, dword [esp + 0x48]
cmp esi, dword [esp + 0x4c]
jbe 0x4032bb
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
lea edx, [esp + 0xc8]
push edx
push esi
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x54]
call fcn.00402c30
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe80], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor edi, edi
mov eax, dword [esp + 0x1c]
add eax, 1
add ebx, 0x88
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
jl 0x4031f0
xor esi, esi
call fcn.004040f0
test eax, eax
jbe 0x40338b
lea ebx, [esp + 0x54]
jmp 0x403320
push esi
call fcn.00404100
add esp, 4
push eax
lea ecx, [esp + 0xcc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov edi, dword [esp + 0x58]
cmp edi, dword [esp + 0x5c]
mov byte [esp + 0xe80], 3
jbe 0x40334f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
lea ecx, [esp + 0xc8]
push ecx
push edi
push ebx
lea edx, [esp + 0xc4]
push edx
lea ecx, [esp + 0x64]
call fcn.00402c30
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe80], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 1
call fcn.004040f0
cmp esi, eax
jb 0x403320
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
lea edx, [esp + 0x88]
push edx
mov edx, dword [ecx + eax + 4]
mov eax, dword [esp + 0x20]
push edx
push eax
push 0
call dword [0x426360]
xor edi, edi
add esp, 0x18
cmp dword [esp + 0x9c], edi
jle 0x403445
xor esi, esi
mov ecx, dword [esp + 0x80]
add ecx, esi
push ecx
lea ecx, [esp + 0xcc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov ebx, dword [esp + 0x68]
cmp ebx, dword [esp + 0x6c]
mov byte [esp + 0xe80], 4
jbe 0x4033ff
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
lea edx, [esp + 0xc8]
push edx
push ebx
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0x74]
call fcn.00402c30
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe80], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add edi, 1
add esi, 0x80
cmp edi, dword [esp + 0x9c]
jl 0x4033d0
mov ecx, dword [esp + 0x80]
push ecx
call sub.MSVCR80.dll_free
mov edx, dword [esp + 0x8c]
xor esi, esi
push edx
mov dword [esp + 0x88], esi
call sub.MSVCR80.dll_free
add esp, 8
mov dword [esp + 0x88], esi
xor edi, edi
push edi
call fcn.004041c0
add esp, 4
cmp dword [0x4256d8], edi
mov dword [esp + 0x1c], edi
je 0x403640
cmp dword [0x4256f4], 1
jne 0x4034ee
push 1
push str.I_NO_FILTER
push 0x41dd80
mov ecx, 0x4256fc
call fcn.004069b0
lea edx, [esp + 0xa3c]
mov cl, byte [eax]
mov byte [edx], cl
add eax, 1
add edx, 1
test cl, cl
jne 0x4034b3
push 1
push str.I_CURRENT_FILTER
push 0x41dd80
mov ecx, 0x4256fc
call fcn.004069b0
lea edx, [esp + 0x63c]
mov edi, edi
mov cl, byte [eax]
mov byte [edx], cl
add eax, 1
add edx, 1
test cl, cl
jne 0x4034e0
mov edi, dword [esp + 0x20]
test edi, edi
jle 0x403558
mov esi, dword [esp + 0xa0]
test esi, esi
jl 0x403558
mov ecx, dword [0x4256d8]
lea eax, [esp + 0x63c]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403530
test dl, dl
je 0x40352c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403530
add eax, 2
add ecx, 2
test dl, dl
jne 0x403510
xor eax, eax
jmp 0x403535
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403558
imul esi, esi, 0x88
add esi, dword [esp + 0x18]
mov eax, esi
push eax
mov dword [0x4256dc], eax
call fcn.004041c0
add esp, 4
jmp 0x403640
mov ecx, dword [0x4256d8]
lea eax, [esp + 0xa3c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403585
test dl, dl
je 0x403581
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403585
add eax, 2
add ecx, 2
test dl, dl
jne 0x403565
xor eax, eax
jmp 0x40358a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x403640
xor ebx, ebx
test edi, edi
jle 0x40361e
xor edi, edi
mov edi, edi
mov eax, dword [esp + 0x18]
lea ecx, [eax + edi + 8]
push ecx
push ebx
push str.Filter__2d:__s_n
call fcn.004012b0
mov edx, dword [esp + 0x24]
mov ecx, dword [0x4256d8]
lea esi, [edx + edi]
add esp, 0xc
lea eax, [esi + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4035e7
test dl, dl
je 0x4035e3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4035e7
add eax, 2
add ecx, 2
test dl, dl
jne 0x4035c7
xor eax, eax
jmp 0x4035ec
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403608
mov eax, esi
push eax
mov dword [0x4256dc], eax
call fcn.004041c0
add esp, 4
mov dword [esp + 0x1c], 1
add ebx, 1
add edi, 0x88
cmp ebx, dword [esp + 0x20]
jl 0x4035a0
cmp dword [esp + 0x1c], 0
jne 0x403640
mov eax, dword [0x4256d8]
push eax
push str.Could_not_find_the_filter__s.
call fcn.004013b0
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.00401e10
add esp, 0x10
cmp dword [0x4256b8], 0
je 0x403661
push str.Creating_.ref_files..._n
call fcn.00401320
mov eax, dword [0x4256dc]
push eax
call fcn.00401670
add esp, 8
cmp dword [0x4256a0], 0
je 0x40367e
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.00401e10
jmp 0x403931
cmp dword [0x4256d4], 0
je 0x40371a
xor ebx, ebx
xor edi, edi
call fcn.004040f0
test eax, eax
jbe 0x403707
push edi
call fcn.00404100
push eax
push edi
push str.Axis__2d:__s_n
call fcn.004012b0
mov esi, dword [0x4256d4]
push edi
call fcn.00404100
add esp, 0x14
lea esp, [esp]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x4036e0
test cl, cl
je 0x4036dc
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4036e0
add eax, 2
add esi, 2
test cl, cl
jne 0x4036c0
xor eax, eax
jmp 0x4036e5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4036f7
push edi
call fcn.004041a0
add esp, 4
mov ebx, 1
add edi, 1
call fcn.004040f0
cmp edi, eax
jb 0x403698
test ebx, ebx
jne 0x40371a
mov eax, dword [0x4256d4]
push eax
push str.Could_not_find_the_axis_system__s.
call fcn.004013b0
add esp, 8
xor ebx, ebx
cmp dword [0x4256f8], ebx
mov dword [esp + 0x1c], 0
mov dword [0x424038], 1
je 0x403844
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x7c]
push edx
mov edx, dword [esp + 0x8c]
lea eax, [esp + 0x84]
push eax
mov eax, dword [edx + ecx + 4]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push ebx
call dword [0x426360]
add esp, 0x18
cmp dword [esp + 0x8c], ebx
mov esi, eax
mov dword [esp + 0x1c], esi
jle 0x4037d3
xor edi, edi
xor esi, esi
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
add edx, esi
push edx
add eax, edi
push eax
call fcn.00404b70
add esp, 8
test al, al
jne 0x4037b5
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
push 0
push 0
add ecx, esi
push ecx
add edx, edi
push edx
call fcn.004049c0
add esp, 0x10
add ebx, 1
add esi, 0xa4
add edi, 0x80
cmp ebx, dword [esp + 0x8c]
jl 0x403781
mov esi, dword [esp + 0x1c]
xor ebx, ebx
mov eax, dword [esp + 0x7c]
push eax
call sub.MSVCR80.dll_free
mov ecx, dword [esp + 0x7c]
push ecx
mov dword [esp + 0x84], ebx
call sub.MSVCR80.dll_free
lea edx, [esp + 0xac]
push edx
mov dword [esp + 0x84], ebx
call fcn.00401e80
add esp, 0xc
cmp eax, ebx
jle 0x403848
mov ecx, dword [0x4256cc]
mov edx, dword [esp + 0xa4]
push ecx
push eax
mov eax, dword [0x4256bc]
push edx
push eax
call fcn.00404280
mov esi, eax
add esp, 0x10
cmp esi, ebx
jne 0x403835
mov dword [0x424038], ebx
jmp 0x403848
push str.Error_opening_output_file_for_each_layer.
call fcn.004013b0
add esp, 4
jmp 0x403848
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x2c], ebx
jne 0x40386b
mov ecx, dword [0x4256cc]
mov edx, dword [0x4256bc]
push ecx
push edx
push 0x425708
call fcn.00404250
add esp, 0xc
mov esi, eax
cmp esi, ebx
jne 0x4039e5
mov esi, 1
push str.Converting_model..._n
mov dword [esp + 0x30], esi
call fcn.00401320
fld1
push ecx
fstp qword [esp]
call fcn.004041d0
add esp, 8
cmp dword [0x424038], esi
je 0x4038ac
fld1
sub esp, 8
fstp qword [esp]
call fcn.004041f0
add esp, 8
call fcn.004040c0
mov eax, dword [0x4256bc]
sub eax, esi
je 0x4038f2
sub eax, esi
je 0x4038cb
sub eax, esi
jne 0x403905
mov eax, dword [esp + 0x14]
push eax
push 6
jmp 0x4038f8
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
push edx
push 2
push eax
call fcn.004019c0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
push ecx
push 5
push edx
call fcn.004019c0
add esp, 0x18
jmp 0x403905
mov eax, dword [esp + 0x14]
push eax
push esi
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004019c0
add esp, 0xc
push str.Finished._n
call fcn.00401320
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00401e10
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp eax, ebx
je 0x403934
push eax
push ebx
call dword [0x426324]
add esp, 8
mov eax, dword [esp + 0x74]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x74], eax
jl 0x403030
xor ebx, ebx
cmp dword [0x4256e8], ebx
je 0x403d39
push str.Writing_info_file..._n
call fcn.00401320
mov eax, dword [0x4256e8]
push str._MODELS__n
push eax
mov dword [esp + 0x38], ebx
call dword [sym.imp.MSVCR80.dll_fprintf]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add esp, 0xc
cmp esi, eax
jbe 0x403992
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x3c]
lea edi, [esp + 0x34]
cmp dword [esp + 0x38], eax
mov ebx, eax
jbe 0x4039a4
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
test edi, edi
je 0x4039b0
lea ecx, [esp + 0x34]
cmp edi, ecx
je 0x4039b6
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, ebx
je 0x403b45
test edi, edi
jne 0x4039c8
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [edi + 8]
jb 0x4039d3
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x18], 0x10
jb 0x403b09
mov eax, dword [esi + 4]
jmp 0x403b0c
push str.Error_opening_output_file.
call fcn.004013b0
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00401e10
add esp, 0xc
mov esi, dword [esp + 0x68]
cmp esi, ebx
mov dword [esp + 0xe80], 7
je 0x403a3c
mov edi, dword [esp + 0x6c]
cmp esi, edi
je 0x403a33
lea esp, [esp]
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x403a20
mov esi, dword [esp + 0x68]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x58]
cmp esi, ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov byte [esp + 0xe80], 6
je 0x403a7c
mov edi, dword [esp + 0x5c]
cmp esi, edi
je 0x403a73
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x403a60
mov esi, dword [esp + 0x58]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x48]
cmp esi, ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov byte [esp + 0xe80], 5
je 0x403abc
mov edi, dword [esp + 0x4c]
cmp esi, edi
je 0x403ab3
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x403aa0
mov esi, dword [esp + 0x48]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x38]
cmp esi, ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0xe80], 0xffffffff
je 0x403aff
mov edi, dword [esp + 0x3c]
cmp esi, edi
je 0x403af6
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x403ae3
mov esi, dword [esp + 0x38]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, 0xfffffffe
jmp 0x403e83
lea eax, [esi + 4]
mov ebx, dword [esp + 0x2c]
mov edx, dword [0x4256e8]
push eax
push ebx
push str._d_:__s_n
push edx
call dword [sym.imp.MSVCR80.dll_fprintf]
add ebx, 1
add esp, 0x10
cmp esi, dword [edi + 8]
mov dword [esp + 0x2c], ebx
jb 0x403b39
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x3c]
add esi, 0x1c
jmp 0x403996
mov eax, dword [0x4256e8]
push str._FILTERS__n
push eax
call dword [sym.imp.MSVCR80.dll_fprintf]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
add esp, 8
cmp esi, eax
jbe 0x403b6f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x44]
mov edi, ecx
cmp dword [esp + 0x48], eax
mov ebx, eax
jbe 0x403b83
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
test edi, edi
je 0x403b8f
lea ecx, [esp + 0x44]
cmp edi, ecx
je 0x403b95
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, ebx
je 0x403be6
test edi, edi
jne 0x403ba3
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [edi + 8]
jb 0x403bae
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x18], 0x10
jb 0x403bb9
mov eax, dword [esi + 4]
jmp 0x403bbc
lea eax, [esi + 4]
mov edx, dword [0x4256e8]
push eax
push 0x41dc38
push edx
call dword [sym.imp.MSVCR80.dll_fprintf]
add esp, 0xc
cmp esi, dword [edi + 8]
jb 0x403bdd
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x4c]
add esi, 0x1c
jmp 0x403b75
mov eax, dword [0x4256e8]
push str._AXIS_SYSTEMS__n
push eax
call dword [sym.imp.MSVCR80.dll_fprintf]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
add esp, 8
cmp esi, eax
jbe 0x403c10
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x54]
mov edi, ecx
cmp dword [esp + 0x58], eax
mov ebx, eax
jbe 0x403c24
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
test edi, edi
je 0x403c30
lea ecx, [esp + 0x54]
cmp edi, ecx
je 0x403c36
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, ebx
je 0x403c87
test edi, edi
jne 0x403c44
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [edi + 8]
jb 0x403c4f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x18], 0x10
jb 0x403c5a
mov eax, dword [esi + 4]
jmp 0x403c5d
lea eax, [esi + 4]
mov edx, dword [0x4256e8]
push eax
push 0x41dc38
push edx
call dword [sym.imp.MSVCR80.dll_fprintf]
add esp, 0xc
cmp esi, dword [edi + 8]
jb 0x403c7e
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x5c]
add esi, 0x1c
jmp 0x403c16
mov eax, dword [0x4256e8]
push str._LAYERS__n
push eax
call dword [sym.imp.MSVCR80.dll_fprintf]
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
add esp, 8
cmp esi, eax
jbe 0x403cb1
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x64]
mov edi, ecx
cmp dword [esp + 0x68], eax
mov ebx, eax
jbe 0x403cc5
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
test edi, edi
je 0x403cd1
lea ecx, [esp + 0x64]
cmp edi, ecx
je 0x403cd7
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, ebx
je 0x403d28
test edi, edi
jne 0x403ce5
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [edi + 8]
jb 0x403cf0
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp dword [esi + 0x18], 0x10
jb 0x403cfb
mov eax, dword [esi + 4]
jmp 0x403cfe
lea eax, [esi + 4]
mov edx, dword [0x4256e8]
push eax
push 0x41dc38
push edx
call dword [sym.imp.MSVCR80.dll_fprintf]
add esp, 0xc
cmp esi, dword [edi + 8]
jb 0x403d1f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x6c]
add esi, 0x1c
jmp 0x403cb7
mov eax, dword [0x4256e8]
push eax
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
xor ebx, ebx
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x403d4a
push eax
call sub.MSVCR80.dll_free
add esp, 4
push 0x425708
call fcn.00404520
call fcn.00404530
push 0x425708
call fcn.00404570
call fcn.004045d0
mov ecx, dword [esp + 0x1c]
push ecx
push ebx
call dword [0x426328]
add esp, 0x10
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebx
mov esi, dword [esp + 0x68]
cmp esi, ebx
mov dword [esp + 0xe80], 0xa
je 0x403dbc
mov edi, dword [esp + 0x6c]
cmp esi, edi
je 0x403db3
lea ebx, [ebx]
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x403da0
mov esi, dword [esp + 0x68]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x58]
cmp esi, ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov byte [esp + 0xe80], 9
je 0x403dfc
mov edi, dword [esp + 0x5c]
cmp esi, edi
je 0x403df3
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x403de0
mov esi, dword [esp + 0x58]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x48]
cmp esi, ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov byte [esp + 0xe80], 8
je 0x403e3c
mov edi, dword [esp + 0x4c]
cmp esi, edi
je 0x403e33
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x403e20
mov esi, dword [esp + 0x48]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x38]
cmp esi, ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0xe80], 0xffffffff
je 0x403e7f
mov edi, dword [esp + 0x3c]
cmp esi, edi
je 0x403e76
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x403e63
mov esi, dword [esp + 0x38]
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xe78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe30]
xor ecx, esp
call fcn.0041b6f2
mov esp, ebp
pop ebp
ret