Function at 0x40e110
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5d1608
mov eax, dword fs:[0]
push eax
sub esp, 0x4f0
mov eax, dword [0x62fda0]
xor eax, esp
mov dword [esp + 0x4ec], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x62fda0]
xor eax, esp
push eax
lea eax, [esp + 0x504]
mov dword fs:[0], eax
mov eax, dword [esp + 0x514]
mov esi, ecx
mov ecx, dword [esp + 0x518]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esi + 0x24]
xor ebx, ebx
push 3
mov dword [esp + 0x510], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x5c], ebx
call fcn.004bee30
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x58]
call eax
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x70], eax
call fcn.00490160
mov ebp, dword [esp + 0x51c]
mov byte [esp + 0x50c], 1
cmp ebp, 1
jne 0x40e2be
lea ecx, [esp + 0x90]
call fcn.005bbf60
push ebx
lea ecx, [esp + 0x94]
mov byte [esp + 0x510], 2
call fcn.005bbe80
lea ecx, [esp + 0x78]
mov dword [esp + 0x90], ebx
call fcn.00490180
lea ecx, [esp + 0x78]
call fcn.00459dc0
test eax, eax
je 0x40e27a
lea ecx, [esp + 0x78]
call fcn.00459dc0
mov edi, eax
mov ecx, edi
call fcn.004c0100
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xcd
je 0x40e264
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 6
je 0x40e24e
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 8
je 0x40e24e
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 7
jne 0x40e264
mov ecx, dword [esp + 0x90]
push ecx
lea ecx, [esp + 0x94]
call fcn.005bbe80
mov dword [eax], edi
lea ecx, [esp + 0x78]
call fcn.004901b0
lea ecx, [esp + 0x78]
call fcn.00459dc0
test eax, eax
jne 0x40e202
mov ebx, dword [esp + 0x90]
xor edi, edi
test ebx, ebx
jle 0x40e2a8
jmp 0x40e290
mov edx, dword [esp + 0x98]
mov eax, dword [edx + edi*4]
mov ecx, dword [esi + 0x20]
push eax
call fcn.00490820
inc edi
cmp edi, ebx
jl 0x40e290
lea ecx, [esp + 0x90]
mov byte [esp + 0x50c], 1
call fcn.005b9680
xor ebx, ebx
cmp dword [esp + 0x52c], 1
mov dword [esp + 0x68], ebx
jne 0x40e46f
lea eax, [esp + 0x530]
push ebx
push eax
call fcn.005b7b40
add esp, 8
test eax, eax
je 0x40e2f1
mov dword [esp + 0x52c], ebx
jmp 0x40e46f
lea ecx, [esp + 0x530]
push ebx
push ecx
call fcn.005b7b90
add esp, 8
test eax, eax
je 0x40e46f
mov edx, dword [esp + 0x530]
mov ecx, dword [esi + 0x24]
push edx
call fcn.004bee70
cmp eax, ebx
jne 0x40e36d
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov ecx, dword [esp + 0x530]
push eax
push str._layer_is_Not_Found_in_Board_Designer.
push ecx
push str.BDExport::Warning_
push 0x62ff68
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov dword [esp + 0x52c], ebx
mov dword [esp + 0x68], ebx
jmp 0x40e46f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x58]
call eax
mov dword [esp + 0x68], eax
cmp eax, ebx
jne 0x40e38a
mov dword [esp + 0x52c], ebx
jmp 0x40e46f
cmp ebp, 1
jne 0x40e46f
push eax
lea ecx, [esp + 0x60]
call fcn.00490160
lea ecx, [esp + 0xd8]
mov byte [esp + 0x50c], 3
call fcn.005bbf60
lea ecx, [esp + 0x5c]
mov byte [esp + 0x50c], 4
call fcn.00490180
lea ecx, [esp + 0x5c]
call fcn.00459dc0
test eax, eax
je 0x40e41e
nop
lea ecx, [esp + 0x5c]
call fcn.00459dc0
mov edi, eax
mov ecx, edi
call fcn.004c0100
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
call eax
cmp eax, 0xcd
je 0x40e408
mov ecx, dword [esp + 0xd8]
push ecx
lea ecx, [esp + 0xdc]
call fcn.005bbe80
mov dword [eax], edi
lea ecx, [esp + 0x5c]
call fcn.004901b0
lea ecx, [esp + 0x5c]
call fcn.00459dc0
test eax, eax
jne 0x40e3d0
mov ebx, dword [esp + 0xd8]
xor edi, edi
test ebx, ebx
jle 0x40e448
jmp 0x40e430
mov edx, dword [esp + 0xe0]
mov eax, dword [edx + edi*4]
mov ecx, dword [esi + 0x20]
push eax
call fcn.00490820
inc edi
cmp edi, ebx
jl 0x40e430
lea ecx, [esp + 0xd8]
mov byte [esp + 0x50c], 3
call fcn.005b9680
lea ecx, [esp + 0x5c]
mov byte [esp + 0x50c], 1
call fcn.0045c490
xor ebx, ebx
mov ecx, dword [esi + 0x24]
push 2
call fcn.004bee30
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x58]
call eax
push eax
lea ecx, [esp + 0x40]
call fcn.00490160
mov ecx, dword [esp + 0x8c]
push 0xb
mov byte [esp + 0x510], 5
call dword [sym.imp.BMB_NX_C9.dll_public:_int___thiscall_BMBSheet::CountElement_unsigned_char_]
mov ecx, dword [esp + 0x64]
mov edi, eax
push str.Hole
mov dword [esp + 0x8c], edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMBLayer____thiscall_BMBTableLayer::ScanRecord_char_const__]
fld dword [esp + 0x524]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
cmp edi, ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x70], ebx
jle 0x40fc13
mov ebx, dword [sym.imp.BMB_NX_C9.dll_public_virtual:_void___thiscall_BMB2DGeUnit::destructor_void_]
mov ecx, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x90]
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMBHole____thiscall_BMBSheet::GetHole_int_]
mov edi, eax
mov dword [esp + 0x74], edi
test edi, edi
je 0x40fbfd
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_unsigned_char___thiscall_BMBSymbol::GetType_void_]
cmp al, 3
je 0x40fbfd
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_short_int___thiscall_BMBSymbol::GetLayerNumber_void_]
xor ebp, ebp
mov ecx, edi
mov dword [esp + 0x64], ebp
call dword [sym.imp.BMB_NX_C9.dll_public:_int___thiscall_BMBElement::Count2DShape_void_]
test eax, eax
jle 0x40fbfd
push ebp
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeometry____thiscall_BMBElement::Get2DShape_int_]
lea ecx, [esp + 0x18]
mov edi, eax
call dword [sym.imp.BMB_NX_C9.dll_public:_void___thiscall_BMB2DGeUnit::constructor_void_]
mov al, byte [edi + 8]
mov byte [esp + 0x2c], al
movzx eax, al
mov byte [esp + 0x50c], 6
cmp eax, 4
ja case.0x40e561.1
jmp dword [eax*4 + 0x40fe6c]
mov ebp, dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
push 0
lea edx, [esp + 0x3fc]
push edx
mov ecx, edi
call ebp
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x20], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x3f8]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
fld dword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x18], eax
call fcn.004038a0
push 1
lea ecx, [esp + 0x410]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, edi
mov dword [esp + 0x124], eax
call ebp
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x20], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x40c]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
cdq
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x11c]
push edx
lea ecx, [esp + 0x1e8]
call fcn.004f2bd0
fld dword [esp + 0x24]
fld dword [esp + 0x524]
mov byte [esp + 0x50c], 7
fcompp
fnstsw ax
test ah, 0x41
jp 0x40e7e6
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x1e0]
push eax
push ecx
mov ecx, dword [esi + 0x20]
call fcn.00491020
inc dword [esp + 0x34]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x40e695
mov edi, eax
push 0
mov ecx, edi
call fcn.00492900
mov edx, dword [esi + 0x24]
mov eax, dword [edx + 0x30]
dec eax
push eax
mov ecx, edi
call fcn.00492920
inc dword [esp + 0x38]
jmp 0x40e75b
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
push str.InternalError_Kind_LayerName_PointX_PointY
push 0x62ff68
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0
lea ecx, [esp + 0x3ac]
push ecx
mov ecx, edi
call ebp
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x20], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x3a8]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
fld dword [esp + 0x28]
push edx
push ecx
fstp dword [esp]
push 0x5eca60
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
push 0x5eca60
push str.Hole
push str.ERROR_HOLE_
push 0x62ff68
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
inc dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0x140]
call fcn.005b6f00
lea ecx, [esp + 0x134]
mov byte [esp + 0x50c], 8
call fcn.005b6f00
push str.3D_MaterialName
lea ecx, [esp + 0x144]
mov byte [esp + 0x510], 9
call fcn.005b7890
push str.TEST
lea ecx, [esp + 0x138]
call fcn.005b7890
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x140]
push 1
push eax
push ecx
mov ecx, edi
call fcn.004d1680
lea ecx, [esp + 0x134]
mov byte [esp + 0x50c], 8
call fcn.005b7180
lea ecx, [esp + 0x140]
mov byte [esp + 0x50c], 7
call fcn.005b7180
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x50c], 6
call fcn.004f2cc0
jmp case.0x40e561.1
cmp dword [edi + 0x10], 2
jne 0x40ea79
cmp dword [esp + 0x528], 1
jne 0x40ea79
fld dword [edi + 0xc]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
mov dword [esp + 0x2c], eax
test eax, eax
je case.0x40e561.1
mov ebp, dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
push 0
lea edx, [esp + 0x320]
push edx
mov ecx, edi
call ebp
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x20], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x31c]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
fld dword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x18], eax
call fcn.004038a0
push 1
lea ecx, [esp + 0x348]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, edi
mov dword [esp + 0x114], eax
call ebp
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x20], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x344]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
fld dword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x18], eax
call fcn.004038a0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x114]
mov dword [esp + 0x118], edx
push ecx
lea edx, [esp + 0x110]
push edx
lea ecx, [esp + 0x284]
call fcn.004f6d80
lea eax, [esp + 0x278]
push eax
lea ecx, [esp + 0x48c]
mov byte [esp + 0x510], 0xa
call fcn.004f4d00
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x494], eax
mov byte [esp + 0x50c], 0xb
jge 0x40e964
cmp dword [esp + 0x498], eax
jl 0x40ea4c
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x488]
push ecx
mov ecx, dword [esi + 0x20]
push edx
call fcn.00491160
inc dword [esp + 0x34]
test eax, eax
je 0x40e98a
inc dword [esp + 0x38]
jmp 0x40ea4c
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
push str.InternalError_Kind_LayerName_PointX_PointY
push 0x62ff68
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0
lea ecx, [esp + 0x2bc]
push ecx
mov ecx, edi
call ebp
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x20], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x2b8]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
fld dword [esp + 0x28]
push edx
push ecx
fstp dword [esp]
push 0x5eca60
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
push 0x5eca60
push str.Hole
push str.ERROR_HOLE_
push 0x62ff68
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
inc dword [esp + 0x30]
lea ecx, [esp + 0x488]
mov byte [esp + 0x50c], 0xa
call fcn.004f4970
lea ecx, [esp + 0x278]
mov byte [esp + 0x50c], 6
call fcn.004f6e00
jmp case.0x40e561.1
cmp dword [esp + 0x53c], 0
jne 0x40ea91
cmp dword [esp + 0x52c], 0
je case.0x40e561.1
lea ecx, [esp + 0xec]
call fcn.00528000
xor ebp, ebp
cmp byte [esp + 0x2c], 3
mov byte [esp + 0x50c], 0xc
jne 0x40ebf4
push ebp
lea eax, [esp + 0x3d4]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x20], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x3d0]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x24]
fnstcw word [esp + 0x2c]
movzx eax, word [esp + 0x2c]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
movzx eax, byte [esp + 0x14]
sub eax, 1
fldcw word [esp + 0x2c]
je 0x40eb26
sub eax, 1
je 0x40eb22
sub eax, 1
jne 0x40eb34
push 3
jmp 0x40eb28
push 2
jmp 0x40eb28
push 1
lea ecx, [esp + 0xf0]
call fcn.0052c7b0
push 1
lea eax, [esp + 0x2e4]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x20], dl
lea ecx, [esp + 0x2e0]
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x30], eax
call fcn.004038a0
mov dword [esp + 0x14], eax
mov ebp, 2
push ebp
lea eax, [esp + 0x3c0]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x20], dl
lea ecx, [esp + 0x3bc]
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
mov ecx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0xf8]
call fcn.0052b540
xor eax, eax
cmp ebp, dword [edi + 0x10]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x2c], eax
jge 0x40f0ea
push ebp
lea edx, [esp + 0x30c]
push edx
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x20], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x308]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
mov al, byte [esp + 0x20]
cmp al, 3
je 0x40ee44
cmp al, 6
je 0x40edf4
cmp al, 0xd
jne 0x40f0e0
fld dword [esp + 0x24]
xor eax, eax
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
call fcn.004038a0
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xd4], eax
call fcn.004038a0
mov dword [esp + 0xd4], eax
inc ebp
push ebp
lea eax, [esp + 0x3e8]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x20], dl
lea ecx, [esp + 0x3e4]
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xbc], eax
call fcn.004038a0
mov dword [esp + 0xbc], eax
inc ebp
push ebp
lea eax, [esp + 0x334]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x20], dl
lea ecx, [esp + 0x330]
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xb4], eax
call fcn.004038a0
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0xbc]
push ecx
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x470]
call fcn.004ee430
push 0
push 0
push eax
lea ecx, [esp + 0x4b4]
mov byte [esp + 0x518], 0x12
call fcn.00514e80
lea ecx, [esp + 0x464]
mov byte [esp + 0x50c], 0x14
call fcn.004eeaf0
lea eax, [esp + 0x4a8]
push eax
lea ecx, [esp + 0xf0]
call fcn.0052d840
lea ecx, [esp + 0x4a8]
jmp 0x40f0d3
cmp dword [esp + 0x2c], 1
je 0x40f0e0
fld dword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xac], eax
call fcn.004038a0
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0xf0]
mov dword [esp + 0xb0], eax
call fcn.0052d7e0
jmp 0x40f0e0
fld dword [esp + 0x24]
xor eax, eax
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
call fcn.004038a0
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xcc], eax
call fcn.004038a0
inc ebp
push ebp
lea edx, [esp + 0x370]
push edx
mov ecx, edi
mov dword [esp + 0xd4], eax
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x20], dl
lea ecx, [esp + 0x36c]
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x24]
push ecx
fmul qword [0x5ecc78]
mov ecx, esi
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004038a0
mov dword [esp + 0x54], eax
inc ebp
push ebp
lea eax, [esp + 0x35c]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x20], dl
lea ecx, [esp + 0x358]
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x24]
mov dword [esp + 0x14], 0
fst qword [esp + 0xe4]
fld dword [esp + 0x28]
fst qword [esp + 0x80]
fldz
fcompp
fnstsw ax
test ah, 5
jnp 0x40ef42
mov dword [esp + 0x14], 1
sub esp, 8
mov eax, esp
fstp qword [eax]
lea eax, [esp + 0x1b8]
mov dword [esp + 0x64], esp
push eax
lea ecx, [esp + 0x8c]
call fcn.005b8630
fld qword [esp + 0x1b0]
fst qword [esp + 0x80]
fcomp qword [0x5ecc90]
fnstsw ax
test ah, 1
jne 0x40f049
mov eax, dword [edi + 0x10]
cmp eax, 5
jne 0x40f036
push 0
lea ecx, [esp + 0x1d0]
push ecx
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
push 4
lea edx, [esp + 0x1bc]
push edx
mov ecx, edi
mov byte [esp + 0x514], 0xd
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
fld dword [esp + 0x1d8]
fld dword [esp + 0x1c4]
mov byte [esp + 0x50c], 0xe
fucompp
fnstsw ax
test ah, 0x44
jp 0x40f012
fld dword [esp + 0x1dc]
fld dword [esp + 0x1c8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x40f012
push 0
lea ecx, [esp + 0xf0]
call fcn.0052ff50
fld qword [esp + 0xe4]
fstp qword [esp + 0x80]
mov dword [esp + 0x2c], 1
lea ecx, [esp + 0x1b8]
mov byte [esp + 0x50c], 0xd
call ebx
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x50c], 0xc
call ebx
jmp 0x40f049
cmp eax, 3
jne 0x40f049
fld qword [esp + 0xe4]
fstp qword [esp + 0x80]
mov eax, dword [esp + 0x14]
fld qword [esp + 0x80]
mov ecx, dword [esp + 0x54]
push eax
sub esp, 8
mov eax, esp
mov dword [esp + 0x68], esp
fstp qword [eax]
fld qword [esp + 0xf0]
sub esp, 8
mov eax, esp
mov dword [esp + 0x70], esp
fstp qword [eax]
push ecx
lea edx, [esp + 0xe0]
push edx
lea ecx, [esp + 0x45c]
call fcn.004ee240
push 0
push 0
push eax
lea ecx, [esp + 0x4e0]
mov byte [esp + 0x518], 0xf
call fcn.00514e80
lea ecx, [esp + 0x440]
mov byte [esp + 0x50c], 0x11
call fcn.004eeaf0
lea eax, [esp + 0x4d4]
push eax
lea ecx, [esp + 0xf0]
call fcn.0052d840
lea ecx, [esp + 0x4d4]
mov byte [esp + 0x50c], 0xc
call fcn.00514eb0
inc ebp
cmp ebp, dword [edi + 0x10]
jl 0x40ec11
fld dword [edi + 0xc]
push 0xffffffffffffffff
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004038a0
push eax
lea ecx, [esp + 0xf4]
call fcn.0052d540
lea ecx, [esp + 0x258]
push ecx
lea ecx, [esp + 0xf0]
call fcn.0052c600
push eax
lea ecx, [esp + 0x178]
mov byte [esp + 0x510], 0x15
call fcn.004ecfc0
lea ecx, [esp + 0x258]
mov byte [esp + 0x50c], 0x17
call fcn.0045c490
mov edx, dword [esp + 0x180]
sub edx, dword [esp + 0x178]
mov eax, dword [esp + 0x4c]
cmp edx, eax
jge 0x40f170
mov ecx, dword [esp + 0x184]
sub ecx, dword [esp + 0x17c]
cmp ecx, eax
jl 0x40f507
push 1
push 0
push 0
push 0
lea ecx, [esp + 0x430]
call fcn.00536630
lea ecx, [esp + 0x9c]
mov byte [esp + 0x50c], 0x18
call fcn.004f6ca0
push 0
push 0
push 0
push 0
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x438]
mov byte [esp + 0x524], 0x19
call fcn.00538920
mov eax, dword [esp + 0x9c]
xor ebp, ebp
mov dword [esp + 0x14], ebp
test eax, eax
jle 0x40f4d3
cmp ebp, eax
jge 0x40f1e9
mov ecx, dword [esp + 0xa4]
lea eax, [ecx + ebp*4]
jmp 0x40f1f6
push ebp
lea ecx, [esp + 0xa0]
call fcn.005bbe80
mov edx, dword [eax]
push edx
lea ecx, [esp + 0x164]
call fcn.0051f800
cmp dword [esp + 0x53c], 1
mov byte [esp + 0x50c], 0x1a
jne 0x40f31b
lea ecx, [esp + 0x3c]
call fcn.00490180
lea ecx, [esp + 0x3c]
call fcn.00459dc0
test eax, eax
je 0x40f4ab
lea ecx, [esp + 0x3c]
call fcn.00459dc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x38]
call eax
cmp eax, 4
jne 0x40f2f8
lea ecx, [esp + 0x3c]
call fcn.00459dc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x68]
call eax
mov ebp, eax
mov dword [esp + 0x54], ebp
test ebp, ebp
je 0x40f2f8
lea ecx, [esp + 0x160]
push ecx
mov ecx, ebp
call fcn.00512660
cmp eax, 1
jne 0x40f2f8
inc dword [esp + 0x48]
push ebp
push 0x24
call fcn.00513f00
add esp, 8
mov dword [esp + 0x5c], eax
mov byte [esp + 0x50c], 0x1b
test eax, eax
je 0x40f2b8
lea edx, [esp + 0x160]
push edx
mov ecx, eax
call fcn.005132d0
mov dword [esp + 0x2c], eax
jmp 0x40f2c0
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
push eax
push ebp
mov ecx, esi
mov byte [esp + 0x514], 0x1a
call fcn.004047e0
test eax, eax
jne 0x40f2f8
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, ebp
call fcn.00513f90
mov edx, dword [ebp]
mov eax, dword [edx + 0x78]
push 0xff
mov ecx, ebp
call eax
inc dword [esp + 0x50]
lea ecx, [esp + 0x3c]
call fcn.004901b0
lea ecx, [esp + 0x3c]
call fcn.00459dc0
test eax, eax
jne 0x40f235
mov ebp, dword [esp + 0x14]
jmp 0x40f4ab
cmp dword [esp + 0x52c], 1
jne 0x40f4ab
lea ecx, [esp + 0x160]
push ecx
lea ecx, [esp + 0x230]
call fcn.00512280
push 0xff
lea ecx, [esp + 0x230]
mov byte [esp + 0x510], 0x1c
mov dword [esp + 0x23c], 0
call fcn.005140a0
lea ecx, [esp + 0x22c]
call fcn.00522510
cmp eax, 3
jl 0x40f497
mov eax, dword [esp + 0x68]
mov ecx, dword [esi + 0x20]
lea edx, [esp + 0x22c]
push edx
push eax
call fcn.004913a0
inc dword [esp + 0x44]
test eax, eax
jne 0x40f493
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push ecx
mov ecx, dword [esp + 0x78]
call dword [sym.imp.BMB_NX_C9.dll_public:_long_int___thiscall_BMBElement::GetID_void_]
push eax
push str.BDExport::Export_Data_Error_ID:
push 0x62ff68
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int_]
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
push str.InternalError_Kind_LayerName_PointX_PointY
push 0x62ff68
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0
lea eax, [esp + 0x384]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x20], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x380]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
fld dword [esp + 0x28]
push eax
push ecx
fstp dword [esp]
push 0x5eca60
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
push 0x5eca60
push str.Hole
push str.ERROR_HOLE_
push 0x62ff68
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
inc dword [esp + 0x30]
jmp 0x40f497
inc dword [esp + 0x58]
lea ecx, [esp + 0x22c]
mov byte [esp + 0x50c], 0x1a
call fcn.00514dd0
lea ecx, [esp + 0x160]
mov byte [esp + 0x50c], 0x19
call fcn.00524ec0
mov eax, dword [esp + 0x9c]
inc ebp
cmp ebp, eax
mov dword [esp + 0x14], ebp
jl 0x40f1dd
lea ecx, [esp + 0x9c]
call fcn.004f6cf0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x50c], 0x18
call fcn.00467410
lea ecx, [esp + 0x420]
mov byte [esp + 0x50c], 0x17
call fcn.00536770
lea ecx, [esp + 0x174]
mov byte [esp + 0x50c], 0xc
call fcn.004ecff0
lea ecx, [esp + 0xec]
mov byte [esp + 0x50c], 6
call fcn.0052d4d0
jmp case.0x40e561.1
xor ebp, ebp
cmp dword [edi + 0x10], ebp
mov dword [esp + 0x2c], ebp
jle 0x40f7ea
push ebp
lea ecx, [esp + 0x294]
push ecx
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x20], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x290]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
cmp byte [esp + 0x20], 3
jne 0x40f7d5
fld dword [esp + 0x24]
xor eax, eax
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
call fcn.004038a0
fld dword [esp + 0x28]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xc4], eax
call fcn.004038a0
inc ebp
push ebp
lea edx, [esp + 0x398]
push edx
mov ecx, edi
mov dword [esp + 0xcc], eax
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x20], dl
lea ecx, [esp + 0x394]
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x24]
push ecx
fmul qword [0x5ecc78]
mov ecx, esi
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004038a0
mov dword [esp + 0x14], eax
inc ebp
push ebp
lea eax, [esp + 0x2a8]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x20], dl
lea ecx, [esp + 0x2a4]
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
fld dword [esp + 0x28]
fcom qword [0x5ecc90]
fnstsw ax
test ah, 1
je 0x40f675
fcomp qword [0x5ed160]
fnstsw ax
test ah, 0x41
jp 0x40f7d5
jmp 0x40f677
fstp st(0)
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x34], 1
call fcn.004f2bd0
fild dword [esp + 0x14]
mov byte [esp + 0x50c], 0x1d
fadd st(0), st(0)
fild dword [esp + 0x4c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x40f7c1
mov eax, dword [esp + 0x6c]
mov ecx, dword [esi + 0x20]
lea edx, [esp + 0x1f0]
push edx
push eax
call fcn.00491020
inc dword [esp + 0x34]
mov dword [esp + 0x14], eax
test eax, eax
je 0x40f6fb
push 0
mov ecx, eax
call fcn.00492900
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 0x30]
mov ecx, dword [esp + 0x14]
dec eax
push eax
call fcn.00492920
inc dword [esp + 0x38]
jmp 0x40f7c1
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
push str.InternalError_Kind_LayerName_PointX_PointY
push 0x62ff68
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0
lea eax, [esp + 0x2d0]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x20], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x2cc]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
fld dword [esp + 0x28]
push eax
push ecx
fstp dword [esp]
push 0x5eca60
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
push 0x5eca60
push str.Hole
push str.ERROR_HOLE_
push 0x62ff68
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
inc dword [esp + 0x30]
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x50c], 6
call fcn.004f2cc0
inc ebp
cmp ebp, dword [edi + 0x10]
jl 0x40f543
cmp dword [esp + 0x2c], 0
jne case.0x40e561.1
lea ecx, [esp + 0x14c]
call fcn.0051f190
lea ecx, [esp + 0x14c]
push ecx
push edi
mov ecx, esi
mov byte [esp + 0x514], 0x1e
call fcn.00403a30
cmp dword [esp + 0x528], 1
mov ebp, dword [esp + 0x4c]
jne 0x40f84f
mov eax, dword [esp + 0x6c]
push ebp
lea edx, [esp + 0x150]
push edx
push eax
mov ecx, esi
call fcn.0040cfe0
mov ecx, 1
cmp eax, ecx
jne 0x40f847
add dword [esp + 0x34], ecx
add dword [esp + 0x38], ecx
jmp 0x40fbbe
test eax, eax
jne 0x40fbbe
lea ecx, [esp + 0x268]
push ecx
lea ecx, [esp + 0x150]
call fcn.005271a0
push eax
lea ecx, [esp + 0x124]
mov byte [esp + 0x510], 0x1f
call fcn.004ecfc0
lea ecx, [esp + 0x268]
mov byte [esp + 0x50c], 0x21
call fcn.0045c490
mov edx, dword [esp + 0x12c]
sub edx, dword [esp + 0x124]
cmp edx, ebp
jge 0x40f8b4
mov eax, dword [esp + 0x130]
sub eax, dword [esp + 0x128]
cmp eax, ebp
jl 0x40fbaa
mov ebp, 1
cmp dword [esp + 0x53c], ebp
jne 0x40f9e0
lea ecx, [esp + 0x188]
call fcn.0051f190
lea ecx, [esp + 0x188]
push ecx
push edi
mov ecx, esi
mov byte [esp + 0x514], 0x22
call fcn.00403a30
lea ecx, [esp + 0x3c]
call fcn.00490180
lea ecx, [esp + 0x3c]
call fcn.00459dc0
test eax, eax
je 0x40f9d4
lea ecx, [esp + 0x3c]
call fcn.00459dc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x38]
call eax
cmp eax, 4
jne 0x40f9ba
lea ecx, [esp + 0x3c]
call fcn.00459dc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x68]
call eax
mov edi, eax
mov dword [esp + 0x54], edi
test edi, edi
je 0x40f9ba
lea ecx, [esp + 0x188]
push ecx
mov ecx, edi
call fcn.00512660
cmp eax, ebp
jne 0x40f9ba
add dword [esp + 0x48], ebp
push edi
push 0x24
call fcn.00513f00
add esp, 8
mov dword [esp + 0x5c], eax
mov byte [esp + 0x50c], 0x23
test eax, eax
je 0x40f984
lea edx, [esp + 0x188]
push edx
mov ecx, eax
call fcn.005132d0
mov ebp, eax
jmp 0x40f986
xor ebp, ebp
push ebp
push edi
mov ecx, esi
mov byte [esp + 0x514], 0x22
call fcn.004047e0
test eax, eax
jne 0x40f9b5
push ebp
mov ecx, edi
call fcn.00513f90
mov eax, dword [edi]
mov edx, dword [eax + 0x78]
push 0xff
mov ecx, edi
call edx
inc dword [esp + 0x50]
mov ebp, 1
lea ecx, [esp + 0x3c]
call fcn.004901b0
lea ecx, [esp + 0x3c]
call fcn.00459dc0
test eax, eax
jne 0x40f904
lea ecx, [esp + 0x188]
jmp 0x40fb9d
cmp dword [esp + 0x52c], ebp
jne 0x40fbaa
lea ecx, [esp + 0x19c]
call fcn.0051f190
lea eax, [esp + 0x19c]
push eax
push edi
mov ecx, esi
mov byte [esp + 0x514], 0x24
call fcn.00403a30
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x204]
call fcn.00512280
push 0xff
lea ecx, [esp + 0x204]
mov byte [esp + 0x510], 0x25
mov dword [esp + 0x210], 0
call fcn.005140a0
lea ecx, [esp + 0x200]
call fcn.00522510
cmp eax, 3
jl 0x40fb82
mov eax, dword [esp + 0x68]
mov ecx, dword [esi + 0x20]
lea edx, [esp + 0x200]
push edx
push eax
call fcn.004913a0
add dword [esp + 0x44], ebp
test eax, eax
jne 0x40fb7e
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push ecx
mov ecx, dword [esp + 0x78]
call dword [sym.imp.BMB_NX_C9.dll_public:_long_int___thiscall_BMBElement::GetID_void_]
push eax
push str.BDExport::Export_Data_Error_ID:
push 0x62ff68
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int_]
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
push str.InternalError_Kind_LayerName_PointX_PointY
push 0x62ff68
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0
lea eax, [esp + 0x2f8]
push eax
mov ecx, edi
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x20], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
lea ecx, [esp + 0x2f4]
fld dword [eax + 0x10]
fstp dword [esp + 0x28]
call ebx
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
fld dword [esp + 0x28]
push eax
push ecx
fstp dword [esp]
push 0x5eca60
fld dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x540]
fstp dword [esp]
push 0x5eca60
push ecx
push str.ERROR_HOLE_
push 0x62ff68
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
add dword [esp + 0x30], ebp
jmp 0x40fb82
add dword [esp + 0x58], ebp
lea ecx, [esp + 0x200]
mov byte [esp + 0x50c], 0x24
call fcn.00514dd0
lea ecx, [esp + 0x19c]
mov byte [esp + 0x50c], 0x21
call fcn.00524ec0
lea ecx, [esp + 0x120]
mov byte [esp + 0x50c], 0x1e
call fcn.004ecff0
lea ecx, [esp + 0x14c]
mov byte [esp + 0x50c], 6
call fcn.00524ec0
lea ecx, [esp + 0x18]
mov byte [esp + 0x50c], 5
call ebx
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x74]
inc ebp
mov ecx, edi
mov dword [esp + 0x64], ebp
call dword [sym.imp.BMB_NX_C9.dll_public:_int___thiscall_BMBElement::Count2DShape_void_]
cmp ebp, eax
jl 0x40e531
mov eax, dword [esp + 0x70]
inc eax
cmp eax, dword [esp + 0x88]
mov dword [esp + 0x70], eax
jl 0x40e4e3
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
push str.ExportData_BMBCount_TargetCount_Success_Warning_Error
push 0x62ff68
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x90]
push 0x5eca60
push 0
push 0x5eca60
push edx
push 0x5eca60
push eax
push 0x5eca60
push ecx
push str.HOLE_
push 0x62ff68
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
push edx
push 0x5ed150
push 0x5eca60
push 0x5ed150
push 0x5eca60
push eax
push 0x5eca60
push ecx
push 0x5eca60
push 0x5ed150
push str.WINDOW_
push 0x62ff68
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
push edx
push 0x5ed150
push 0x5eca60
push 0x5ed150
push 0x5eca60
push eax
push 0x5eca60
push ecx
push 0x5eca60
push 0x5ed150
push str.VARIANT_
push 0x62ff68
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
push eax
call fcn.00401300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x50c], 1
call fcn.0045c490
lea ecx, [esp + 0x78]
mov byte [esp + 0x50c], 0
call fcn.0045c490
lea ecx, [esp + 0x530]
mov dword [esp + 0x50c], 0xffffffff
call fcn.005b7180
xor eax, eax
mov ecx, dword [esp + 0x504]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4ec]
xor ecx, esp
call fcn.005bd2c6
add esp, 0x4fc
ret 0x2c