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

Disassembly:
push 0xffffffffffffffff
push 0x5d3141
mov eax, dword fs:[0]
push eax
sub esp, 0x870
mov eax, dword [0x632da0]
xor eax, esp
mov dword [esp + 0x86c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x632da0]
xor eax, esp
push eax
lea eax, [esp + 0x884]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x894]
mov esi, ecx
mov dword [esp + 0x84], ebx
lea eax, [esp + 0x89c]
push eax
lea ecx, [esp + 0x120]
mov dword [esp + 0x890], 0
call fcn.005b9780
fld dword [esp + 0x8a8]
push ecx
mov ecx, esi
fstp dword [esp]
mov byte [esp + 0x890], 1
call fcn.00403cb0
mov ecx, dword [esp + 0x11c]
push ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x58], eax
call fcn.004c0df0
test eax, eax
jne 0x409c91
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._layer_is_Not_Found_in_Board_Designer.
lea eax, [esp + 0x8a4]
push eax
push str.BDExport::warning_
push 0x632f68
call fcn.00401320
add esp, 8
push eax
call fcn.005b9ad0
add esp, 8
push eax
call fcn.00401320
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 + 0x11c]
mov byte [esp + 0x88c], 0
call fcn.005b9130
lea ecx, [esp + 0x89c]
mov dword [esp + 0x88c], 0xffffffff
call fcn.005b9130
mov eax, 1
jmp 0x40ba1d
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x58]
call eax
push eax
lea ecx, [esp + 0x70]
mov dword [esp + 0x60], eax
call fcn.00492120
cmp dword [esp + 0x898], 1
mov byte [esp + 0x88c], 2
jne 0x409d6c
lea ecx, [esp + 0xf4]
call fcn.005be570
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88c], 3
call fcn.00492140
lea ecx, [esp + 0x6c]
call fcn.00492110
test eax, eax
je 0x409d27
jmp 0x409cf0
lea ecx, [esp + 0x6c]
call fcn.00492110
mov ecx, dword [esp + 0xf4]
push ecx
lea ecx, [esp + 0xf8]
mov edi, eax
call fcn.005be2d0
lea ecx, [esp + 0x6c]
mov dword [eax], edi
call fcn.00492170
lea ecx, [esp + 0x6c]
call fcn.00492110
test eax, eax
jne 0x409cf0
mov ebp, dword [esp + 0xf4]
xor edi, edi
test ebp, ebp
jle 0x409d58
jmp 0x409d40
mov edx, dword [esp + 0xfc]
mov eax, dword [edx + edi*4]
mov ecx, dword [esi + 0x20]
push eax
call fcn.00492710
inc edi
cmp edi, ebp
jl 0x409d40
lea ecx, [esp + 0xf4]
mov byte [esp + 0x88c], 2
call fcn.005be4c0
mov edi, dword [sym.imp.BMB_NX_C9.dll_public:_class_BMBBoard____thiscall_BMBSheet::GetBoard_void_]
mov ecx, ebx
call edi
mov dword [esp + 0x48], eax
test eax, eax
jne 0x409d94
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88c], 1
call fcn.00481ef0
jmp 0x409c5c
mov ecx, ebx
call edi
mov ecx, eax
call dword [sym.imp.BMB_NX_C9.dll_public:_int___thiscall_BMBElement::Count2DShape_void_]
mov ebp, dword [sym.imp.BMB_NX_C9.dll_public_virtual:_void___thiscall_BMB2DGeUnit::destructor_void_]
mov edi, dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeUnit___thiscall_BMB2DGeometry::GetGeUnit_int_]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x58], 0
test eax, eax
jle 0x40aa6d
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
push eax
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeometry____thiscall_BMBElement::Get2DShape_int_]
lea ecx, [esp + 0x20]
mov ebx, eax
call dword [sym.imp.BMB_NX_C9.dll_public:_void___thiscall_BMB2DGeUnit::constructor_void_]
movzx ecx, byte [ebx + 8]
mov byte [esp + 0x14], cl
lea ecx, [esp + 0xd8]
mov byte [esp + 0x88c], 4
call fcn.00529e00
mov cl, byte [esp + 0x14]
movzx eax, cl
mov byte [esp + 0x88c], 5
cmp eax, 9
ja case.0x409e0f.6
jmp dword [eax*4 + 0x40ba48]
push 0
lea edx, [esp + 0x5e8]
push edx
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x28], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
lea ecx, [esp + 0x5e4]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403cb0
push 1
lea ecx, [esp + 0x5c0]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, ebx
mov dword [esp + 0x134], eax
call edi
mov edx, dword [eax + 4]
mov dword [esp + 0x24], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x28], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
lea ecx, [esp + 0x5bc]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
cdq
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x12c]
push edx
lea ecx, [esp + 0x25c]
call fcn.004f6030
lea eax, [esp + 0x254]
push eax
lea ecx, [esp + 0x2f4]
mov byte [esp + 0x890], 6
call fcn.00521500
lea ecx, [esp + 0x2f0]
push ecx
lea ecx, [esp + 0x3bc]
mov byte [esp + 0x890], 7
call fcn.00514070
mov edx, dword [esp + 0x54]
push 0xff
lea ecx, [esp + 0x3bc]
mov byte [esp + 0x890], 8
mov dword [esp + 0x3c8], edx
call fcn.00515ea0
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x3bc]
call fcn.00528d80
mov byte [esp + 0x88c], 7
lea ecx, [esp + 0x3b8]
call fcn.00516bd0
lea ecx, [esp + 0x2f0]
mov byte [esp + 0x88c], 6
call fcn.00526cc0
lea ecx, [esp + 0x254]
mov byte [esp + 0x88c], 5
call fcn.004f6120
jmp case.0x409e0f.6
push 0
lea ecx, [esp + 0x5ac]
push ecx
mov ecx, ebx
call edi
mov edx, dword [eax + 4]
mov dword [esp + 0x24], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x28], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
lea ecx, [esp + 0x5a8]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403cb0
mov edx, dword [esp + 0x18]
mov dword [esp + 0x148], eax
push 1
lea eax, [esp + 0x46c]
push eax
mov ecx, ebx
mov dword [esp + 0x154], edx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x28], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
lea ecx, [esp + 0x468]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov ebx, eax
call fcn.00403cb0
fldz
sub esp, 8
fstp qword [esp]
push eax
push ebx
lea eax, [esp + 0x158]
push eax
lea ecx, [esp + 0x764]
call fcn.004f4950
lea ecx, [esp + 0x350]
push ecx
lea ecx, [esp + 0x754]
mov byte [esp + 0x890], 9
call fcn.004f4a30
push eax
lea ecx, [esp + 0x330]
mov byte [esp + 0x890], 0xa
call fcn.004eede0
lea edx, [esp + 0x32c]
push edx
lea ecx, [esp + 0x2cc]
mov byte [esp + 0x890], 0xb
call fcn.005213f0
lea ecx, [esp + 0x32c]
mov byte [esp + 0x88c], 0xd
call fcn.004eee10
lea ecx, [esp + 0x350]
mov byte [esp + 0x88c], 0xe
call fcn.00481ef0
lea eax, [esp + 0x2c8]
push eax
lea ecx, [esp + 0x364]
call fcn.00514070
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x36c], ecx
push 0xff
lea ecx, [esp + 0x364]
mov byte [esp + 0x890], 0xf
call fcn.00515ea0
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x364]
call fcn.00528d80
lea ecx, [esp + 0x360]
mov byte [esp + 0x88c], 0xe
call fcn.00516bd0
lea ecx, [esp + 0x2c8]
mov byte [esp + 0x88c], 9
call fcn.00526cc0
lea ecx, [esp + 0x750]
jmp 0x40a9bb
xor eax, eax
mov dword [esp + 0x14], eax
cmp cl, 3
jne 0x40a2a2
push eax
lea eax, [esp + 0x610]
push eax
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x28], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
lea ecx, [esp + 0x60c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
movzx eax, byte [esp + 0x18]
sub eax, 1
fldcw word [esp + 0x14]
je 0x40a1d6
sub eax, 1
je 0x40a1d2
sub eax, 1
jne 0x40a1e4
push 3
jmp 0x40a1d8
push 2
jmp 0x40a1d8
push 1
lea ecx, [esp + 0xdc]
call fcn.0052e550
push 1
lea eax, [esp + 0x64c]
push eax
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x28], dl
lea ecx, [esp + 0x648]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x54], eax
call fcn.00403cb0
mov dword [esp + 0x18], eax
push 2
lea eax, [esp + 0x5fc]
push eax
mov ecx, ebx
mov dword [esp + 0x1c], 2
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x28], dl
lea ecx, [esp + 0x5f8]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
mov ecx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0xe4]
call fcn.0052d2e0
xor eax, eax
mov edx, dword [esp + 0x14]
cmp edx, dword [ebx + 0x10]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x50], eax
jge case.0x409e0f.6
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x4f8]
push ecx
mov ecx, ebx
call edi
mov edx, dword [eax + 4]
mov dword [esp + 0x24], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x28], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
lea ecx, [esp + 0x4f4]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
mov al, byte [esp + 0x28]
cmp al, 3
je 0x40a4fc
cmp al, 6
je 0x40a4ac
cmp al, 0xd
jne 0x40a77d
fld dword [esp + 0x2c]
xor eax, eax
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
call fcn.00403cb0
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xb4], eax
call fcn.00403cb0
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x14]
inc eax
push eax
lea edx, [esp + 0x480]
push edx
mov ecx, ebx
mov dword [esp + 0x1c], eax
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x28], dl
lea ecx, [esp + 0x47c]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xcc], eax
call fcn.00403cb0
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x14]
inc eax
push eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x4a8]
push eax
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x28], dl
lea ecx, [esp + 0x4a4]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xd4], eax
call fcn.00403cb0
mov dword [esp + 0xd4], eax
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0xcc]
push ecx
lea edx, [esp + 0xb8]
push edx
lea ecx, [esp + 0x6cc]
call fcn.004f0210
push 0
push 0
push eax
lea ecx, [esp + 0x7dc]
mov byte [esp + 0x898], 0x15
call fcn.00516c80
lea ecx, [esp + 0x6c0]
mov byte [esp + 0x88c], 0x17
call fcn.004f08d0
lea eax, [esp + 0x7d0]
push eax
lea ecx, [esp + 0xdc]
call fcn.0052f5e0
lea ecx, [esp + 0x7d0]
jmp 0x40a770
cmp dword [esp + 0x50], 1
je 0x40a77d
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xac], eax
call fcn.00403cb0
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xb0], eax
call fcn.0052f580
jmp 0x40a77d
fld dword [esp + 0x2c]
xor eax, eax
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
call fcn.00403cb0
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xbc], eax
call fcn.00403cb0
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x14]
inc eax
push eax
lea edx, [esp + 0x4d0]
push edx
mov ecx, ebx
mov dword [esp + 0x1c], eax
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x28], dl
lea ecx, [esp + 0x4cc]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
push ecx
fmul qword [0x5eede8]
mov ecx, esi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00403cb0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
inc eax
push eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x638]
push eax
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x28], dl
lea ecx, [esp + 0x634]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
mov dword [esp + 0x4c], 0
fst qword [esp + 0x74]
fld dword [esp + 0x30]
fst qword [esp + 0x64]
fldz
fcompp
fnstsw ax
test ah, 5
jnp 0x40a5fc
mov dword [esp + 0x4c], 1
sub esp, 8
mov eax, esp
fstp qword [eax]
lea eax, [esp + 0x1e8]
mov dword [esp + 0x68], esp
push eax
lea ecx, [esp + 0x70]
call fcn.005ba5e0
fld qword [esp + 0x1e0]
fst qword [esp + 0x64]
fcomp qword [0x5eee00]
fnstsw ax
test ah, 1
jne 0x40a6e9
mov eax, dword [ebx + 0x10]
cmp eax, 5
jne 0x40a6dc
push 0
lea ecx, [esp + 0x244]
push ecx
mov ecx, ebx
call edi
push 4
lea edx, [esp + 0x230]
push edx
mov ecx, ebx
mov byte [esp + 0x894], 0x10
call edi
fld dword [esp + 0x24c]
fld dword [esp + 0x238]
mov byte [esp + 0x88c], 0x11
fucompp
fnstsw ax
test ah, 0x44
jp 0x40a6b8
fld dword [esp + 0x250]
fld dword [esp + 0x23c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x40a6b8
push 0
lea ecx, [esp + 0xdc]
call fcn.00531cf0
fld qword [esp + 0x74]
fstp qword [esp + 0x64]
mov dword [esp + 0x50], 1
lea ecx, [esp + 0x22c]
mov byte [esp + 0x88c], 0x10
call ebp
lea ecx, [esp + 0x240]
mov byte [esp + 0x88c], 5
call ebp
jmp 0x40a6e9
cmp eax, 3
jne 0x40a6e9
fld qword [esp + 0x74]
fstp qword [esp + 0x64]
mov eax, dword [esp + 0x4c]
fld qword [esp + 0x64]
mov ecx, dword [esp + 0x18]
push eax
sub esp, 8
mov eax, esp
mov dword [esp + 0x6c], esp
fstp qword [eax]
fld qword [esp + 0x80]
sub esp, 8
mov eax, esp
mov dword [esp + 0x74], esp
fstp qword [eax]
push ecx
lea edx, [esp + 0xd0]
push edx
lea ecx, [esp + 0x700]
call fcn.004f0020
push 0
push 0
push eax
lea ecx, [esp + 0x834]
mov byte [esp + 0x898], 0x12
call fcn.00516c80
lea ecx, [esp + 0x6e4]
mov byte [esp + 0x88c], 0x14
call fcn.004f08d0
lea eax, [esp + 0x828]
push eax
lea ecx, [esp + 0xdc]
call fcn.0052f5e0
lea ecx, [esp + 0x828]
mov byte [esp + 0x88c], 5
call fcn.00516cb0
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [ebx + 0x10]
mov dword [esp + 0x14], eax
jl 0x40a2c1
jmp case.0x409e0f.6
lea ecx, [esp + 0xd8]
push ecx
push ebx
mov ecx, esi
call fcn.004044b0
jmp case.0x409e0f.6
push 0
lea edx, [esp + 0x660]
push edx
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x28], dl
lea ecx, [esp + 0x65c]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403cb0
push 1
lea ecx, [esp + 0x688]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, ebx
mov dword [esp + 0x14c], eax
call edi
mov edx, dword [eax + 4]
mov dword [esp + 0x24], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x28], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
lea ecx, [esp + 0x684]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x54], eax
call fcn.00403cb0
push 2
lea edx, [esp + 0x6b0]
push edx
mov ecx, ebx
mov dword [esp + 0x20], eax
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x28], dl
lea ecx, [esp + 0x6ac]
fld dword [eax + 0xc]
fstp dword [esp + 0x2c]
fld dword [eax + 0x10]
fstp dword [esp + 0x30]
call ebp
fld dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
sub esp, 8
fstp qword [esp]
push eax
push ecx
lea edx, [esp + 0x150]
push edx
lea ecx, [esp + 0x7c4]
call fcn.004f4950
lea eax, [esp + 0x1b8]
push eax
lea ecx, [esp + 0x7b4]
mov byte [esp + 0x890], 0x18
call fcn.004f5140
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1bc]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x19c], edx
mov edx, dword [esp + 0x1c8]
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1a8], edx
mov edx, dword [esp + 0x1d4]
push 4
lea eax, [esp + 0x19c]
mov dword [esp + 0x1b4], ecx
push eax
lea ecx, [esp + 0x394]
mov dword [esp + 0x1bc], edx
call fcn.00513da0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x398], ecx
push 0xff
lea ecx, [esp + 0x390]
mov byte [esp + 0x890], 0x19
call fcn.00515ea0
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x390]
call fcn.00528d80
lea ecx, [esp + 0x38c]
mov byte [esp + 0x88c], 0x18
call fcn.00516bd0
lea ecx, [esp + 0x7b0]
mov byte [esp + 0x88c], 5
call fcn.004f4a20
mov eax, dword [esp + 0x54]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0xe0]
call fcn.0052f2e0
push 0xff
lea ecx, [esp + 0xdc]
call fcn.00530460
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0xd8]
push ecx
mov ecx, dword [esi + 0x20]
push edx
call fcn.004930f0
test eax, eax
jne 0x40aa38
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 + 0x48]
push eax
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 0x632f68
call fcn.00401320
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_____]
lea ecx, [esp + 0xd8]
mov byte [esp + 0x88c], 4
call fcn.0052f270
lea ecx, [esp + 0x20]
mov byte [esp + 0x88c], 2
call ebp
mov eax, dword [esp + 0x58]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
jl 0x409dc0
cmp dword [esp + 0x8ac], 1
jne 0x40b9df
mov ecx, dword [esp + 0x84]
push 0xb
call dword [sym.imp.BMB_NX_C9.dll_public:_int___thiscall_BMBSheet::CountElement_unsigned_char_]
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], 0
test eax, eax
jle 0x40b9df
mov edi, edi
mov ecx, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x88]
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMBHole____thiscall_BMBSheet::GetHole_int_]
mov ecx, eax
mov dword [esp + 0x4c], eax
call dword [sym.imp.BMB_NX_C9.dll_public:_unsigned_char___thiscall_BMBSymbol::GetType_void_]
cmp al, 3
je 0x40b9cc
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x50], 0
call dword [sym.imp.BMB_NX_C9.dll_public:_int___thiscall_BMBElement::Count2DShape_void_]
test eax, eax
jle 0x40b9cc
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
push edx
call dword [sym.imp.BMB_NX_C9.dll_public:_class_BMB2DGeometry____thiscall_BMBElement::Get2DShape_int_]
lea ecx, [esp + 0x34]
mov ebx, eax
call dword [sym.imp.BMB_NX_C9.dll_public:_void___thiscall_BMB2DGeUnit::constructor_void_]
mov al, byte [ebx + 8]
mov byte [esp + 0x14], al
movzx eax, al
mov byte [esp + 0x88c], 0x1a
cmp eax, 9
ja case.0x40ab16.6
jmp dword [eax*4 + 0x40ba70]
push 0
lea eax, [esp + 0x5d4]
push eax
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x3c], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
lea ecx, [esp + 0x5d0]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x20], eax
call fcn.00403cb0
push 1
lea ecx, [esp + 0x50c]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, ebx
mov dword [esp + 0x15c], eax
call edi
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x3c], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
lea ecx, [esp + 0x508]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
cdq
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x154]
push edx
lea ecx, [esp + 0x26c]
call fcn.004f6030
lea eax, [esp + 0x264]
push eax
lea ecx, [esp + 0x31c]
mov byte [esp + 0x890], 0x1b
call fcn.00521500
lea ecx, [esp + 0x318]
push ecx
lea ecx, [esp + 0x3e8]
mov byte [esp + 0x890], 0x1c
call fcn.00514070
mov ebx, dword [esp + 0x54]
push 0xff
lea ecx, [esp + 0x3e8]
mov byte [esp + 0x890], 0x1d
mov dword [esp + 0x3f4], ebx
call fcn.00515ea0
lea ecx, [esp + 0x1e8]
call fcn.00529e00
mov byte [esp + 0x88c], 0x1e
push 1
lea ecx, [esp + 0x1ec]
call fcn.0052e550
push 0
push 0x64
push 0x64
lea ecx, [esp + 0x1f4]
call fcn.0052d2e0
lea edx, [esp + 0x1e8]
push edx
lea ecx, [esp + 0x3e8]
call fcn.00528d80
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1f0]
call fcn.0052f2e0
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x1e8]
push eax
push ecx
mov ecx, dword [esi + 0x20]
call fcn.004930f0
test eax, eax
jne 0x40ace0
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 ecx, dword [esp + 0x4c]
push edx
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 0x632f68
call fcn.00401320
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_____]
lea ecx, [esp + 0x1e8]
mov byte [esp + 0x88c], 0x1d
call fcn.0052f270
lea ecx, [esp + 0x3e4]
mov byte [esp + 0x88c], 0x1c
call fcn.00516bd0
lea ecx, [esp + 0x318]
mov byte [esp + 0x88c], 0x1b
call fcn.00526cc0
lea ecx, [esp + 0x264]
mov byte [esp + 0x88c], 0x1a
call fcn.004f6120
jmp case.0x40ab16.6
push 0
lea eax, [esp + 0x494]
push eax
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov dl, byte [eax + 8]
mov byte [esp + 0x3c], dl
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
lea ecx, [esp + 0x490]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x20], eax
call fcn.00403cb0
push 1
lea ecx, [esp + 0x520]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, ebx
mov dword [esp + 0x13c], eax
call edi
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x3c], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
lea ecx, [esp + 0x51c]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov ebx, eax
call fcn.00403cb0
fldz
sub esp, 8
fstp qword [esp]
push eax
push ebx
lea edx, [esp + 0x140]
push edx
lea ecx, [esp + 0x7a4]
call fcn.004f4950
lea eax, [esp + 0x340]
push eax
lea ecx, [esp + 0x794]
mov byte [esp + 0x890], 0x1f
call fcn.004f4a30
push eax
lea ecx, [esp + 0x2e0]
mov byte [esp + 0x890], 0x20
call fcn.004eede0
lea ecx, [esp + 0x2dc]
push ecx
lea ecx, [esp + 0x308]
mov byte [esp + 0x890], 0x21
call fcn.005213f0
lea ecx, [esp + 0x2dc]
mov byte [esp + 0x88c], 0x23
call fcn.004eee10
lea ecx, [esp + 0x340]
mov byte [esp + 0x88c], 0x24
call fcn.00481ef0
lea edx, [esp + 0x304]
push edx
lea ecx, [esp + 0x440]
call fcn.00514070
mov ebx, dword [esp + 0x54]
push 0xff
lea ecx, [esp + 0x440]
mov byte [esp + 0x890], 0x25
mov dword [esp + 0x44c], ebx
call fcn.00515ea0
lea ecx, [esp + 0x2ac]
call fcn.00529e00
lea eax, [esp + 0x2ac]
push eax
lea ecx, [esp + 0x440]
mov byte [esp + 0x890], 0x26
call fcn.00528d80
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x2b4]
call fcn.0052f2e0
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x2ac]
push ecx
mov ecx, dword [esi + 0x20]
push edx
call fcn.004930f0
test eax, eax
jne 0x40af3d
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 + 0x4c]
push eax
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 0x632f68
call fcn.00401320
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_____]
lea ecx, [esp + 0x2ac]
mov byte [esp + 0x88c], 0x25
call fcn.0052f270
lea ecx, [esp + 0x43c]
mov byte [esp + 0x88c], 0x24
call fcn.00516bd0
lea ecx, [esp + 0x304]
mov byte [esp + 0x88c], 0x1f
call fcn.00526cc0
lea ecx, [esp + 0x790]
jmp 0x40b996
lea ecx, [esp + 0x100]
call fcn.00529e00
cmp byte [esp + 0x14], 3
mov byte [esp + 0x88c], 0x27
mov dword [esp + 0x48], 0
jne 0x40b0e7
push 0
lea ecx, [esp + 0x4bc]
push ecx
mov ecx, ebx
call edi
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x3c], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
lea ecx, [esp + 0x4b8]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x1c], eax
fldcw word [esp + 0x1c]
fistp dword [esp + 0x1c]
movzx eax, byte [esp + 0x1c]
sub eax, 1
fldcw word [esp + 0x14]
je 0x40b01d
sub eax, 1
je 0x40b019
sub eax, 1
jne 0x40b02b
push 3
jmp 0x40b01f
push 2
jmp 0x40b01f
push 1
lea ecx, [esp + 0x104]
call fcn.0052e550
push 1
lea edx, [esp + 0x548]
push edx
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x3c], dl
lea ecx, [esp + 0x544]
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403cb0
mov dword [esp + 0x1c], eax
push 2
lea eax, [esp + 0x4e4]
push eax
mov ecx, ebx
mov dword [esp + 0x50], 2
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x3c], dl
lea ecx, [esp + 0x4e0]
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x10c]
call fcn.0052d2e0
mov edx, dword [esp + 0x48]
xor eax, eax
cmp edx, dword [ebx + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x14], eax
jge 0x40b5e1
jmp 0x40b110
mov eax, dword [esp + 0x48]
push eax
lea ecx, [esp + 0x570]
push ecx
mov ecx, ebx
call edi
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x3c], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
lea ecx, [esp + 0x56c]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
mov al, byte [esp + 0x3c]
cmp al, 3
je 0x40b34b
cmp al, 6
je 0x40b2fb
cmp al, 0xd
jne 0x40b5cf
fld dword [esp + 0x40]
xor eax, eax
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
call fcn.00403cb0
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x8c], eax
call fcn.00403cb0
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
inc eax
push eax
lea edx, [esp + 0x598]
push edx
mov ecx, ebx
mov dword [esp + 0x50], eax
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x3c], dl
lea ecx, [esp + 0x594]
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xc4], eax
call fcn.00403cb0
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x48]
inc eax
push eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x69c]
push eax
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x3c], dl
lea ecx, [esp + 0x698]
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xa4], eax
call fcn.00403cb0
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0xc4]
push ecx
lea edx, [esp + 0x90]
push edx
lea ecx, [esp + 0x738]
call fcn.004f0210
push 0
push 0
push eax
lea ecx, [esp + 0x808]
mov byte [esp + 0x898], 0x2d
call fcn.00516c80
lea ecx, [esp + 0x72c]
mov byte [esp + 0x88c], 0x2f
call fcn.004f08d0
lea eax, [esp + 0x7fc]
push eax
lea ecx, [esp + 0x104]
call fcn.0052f5e0
lea ecx, [esp + 0x7fc]
jmp 0x40b5c2
cmp dword [esp + 0x14], 1
je 0x40b5cf
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x94], eax
call fcn.00403cb0
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x104]
mov dword [esp + 0x98], eax
call fcn.0052f580
jmp 0x40b5cf
fld dword [esp + 0x40]
xor eax, eax
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
call fcn.00403cb0
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x9c], eax
call fcn.00403cb0
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x48]
inc eax
push eax
lea edx, [esp + 0x534]
push edx
mov ecx, ebx
mov dword [esp + 0x50], eax
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x3c], dl
lea ecx, [esp + 0x530]
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
push ecx
fmul qword [0x5eede8]
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00403cb0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
inc eax
push eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x624]
push eax
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x3c], dl
lea ecx, [esp + 0x620]
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
mov dword [esp + 0x18], 0
fst qword [esp + 0x74]
fld dword [esp + 0x44]
fst qword [esp + 0x7c]
fldz
fcompp
fnstsw ax
test ah, 5
jnp 0x40b44b
mov dword [esp + 0x18], 1
sub esp, 8
mov eax, esp
fstp qword [eax]
lea eax, [esp + 0x1e0]
mov dword [esp + 0x6c], esp
push eax
lea ecx, [esp + 0x88]
call fcn.005ba5e0
fld qword [esp + 0x1d8]
fst qword [esp + 0x7c]
fcomp qword [0x5eee00]
fnstsw ax
test ah, 1
jne 0x40b53b
mov eax, dword [ebx + 0x10]
cmp eax, 5
jne 0x40b52e
push 0
lea ecx, [esp + 0x21c]
push ecx
mov ecx, ebx
call edi
push 4
lea edx, [esp + 0x208]
push edx
mov ecx, ebx
mov byte [esp + 0x894], 0x28
call edi
fld dword [esp + 0x224]
fld dword [esp + 0x210]
mov byte [esp + 0x88c], 0x29
fucompp
fnstsw ax
test ah, 0x44
jp 0x40b50a
fld dword [esp + 0x228]
fld dword [esp + 0x214]
fucompp
fnstsw ax
test ah, 0x44
jp 0x40b50a
push 0
lea ecx, [esp + 0x104]
call fcn.00531cf0
fld qword [esp + 0x74]
fstp qword [esp + 0x7c]
mov dword [esp + 0x14], 1
lea ecx, [esp + 0x204]
mov byte [esp + 0x88c], 0x28
call ebp
lea ecx, [esp + 0x218]
mov byte [esp + 0x88c], 0x27
call ebp
jmp 0x40b53b
cmp eax, 3
jne 0x40b53b
fld qword [esp + 0x74]
fstp qword [esp + 0x7c]
mov eax, dword [esp + 0x18]
fld qword [esp + 0x7c]
mov ecx, dword [esp + 0x1c]
push eax
sub esp, 8
mov eax, esp
mov dword [esp + 0x70], esp
fstp qword [eax]
fld qword [esp + 0x80]
sub esp, 8
mov eax, esp
mov dword [esp + 0x78], esp
fstp qword [eax]
push ecx
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0x724]
call fcn.004f0020
push 0
push 0
push eax
lea ecx, [esp + 0x860]
mov byte [esp + 0x898], 0x2a
call fcn.00516c80
lea ecx, [esp + 0x708]
mov byte [esp + 0x88c], 0x2c
call fcn.004f08d0
lea eax, [esp + 0x854]
push eax
lea ecx, [esp + 0x104]
call fcn.0052f5e0
lea ecx, [esp + 0x854]
mov byte [esp + 0x88c], 0x27
call fcn.00516cb0
mov eax, dword [esp + 0x48]
inc eax
cmp eax, dword [ebx + 0x10]
mov dword [esp + 0x48], eax
jl 0x40b110
fld dword [ebx + 0xc]
push 0xffffffffffffffff
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
push eax
lea ecx, [esp + 0x108]
call fcn.0052f2e0
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x100]
push ecx
mov ecx, dword [esi + 0x20]
push edx
call fcn.004930f0
test eax, eax
jne 0x40b64a
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 + 0x4c]
push eax
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 0x632f68
call fcn.00401320
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_____]
lea ecx, [esp + 0x100]
mov byte [esp + 0x88c], 0x1a
call fcn.0052f270
jmp case.0x40ab16.6
lea ecx, [esp + 0x274]
call fcn.00529e00
lea ecx, [esp + 0x274]
push ecx
push ebx
mov ecx, esi
mov byte [esp + 0x894], 0x30
call fcn.004044b0
mov edx, dword [esp + 0x54]
push 0xffffffffffffffff
push edx
lea ecx, [esp + 0x27c]
call fcn.0052f2e0
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x274]
push eax
push ecx
mov ecx, dword [esi + 0x20]
call fcn.004930f0
test eax, eax
jne 0x40b6e7
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 ecx, dword [esp + 0x4c]
push edx
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 0x632f68
call fcn.00401320
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_____]
lea ecx, [esp + 0x274]
mov byte [esp + 0x88c], 0x1a
call fcn.0052f270
jmp case.0x40ab16.6
push 0
lea eax, [esp + 0x55c]
push eax
mov ecx, ebx
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x3c], dl
lea ecx, [esp + 0x558]
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x20], eax
call fcn.00403cb0
push 1
lea ecx, [esp + 0x674]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, ebx
mov dword [esp + 0x144], eax
call edi
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x3c], cl
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
lea ecx, [esp + 0x670]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403cb0
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403cb0
push 2
lea edx, [esp + 0x584]
push edx
mov ecx, ebx
mov dword [esp + 0x24], eax
call edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
movzx edx, byte [eax + 8]
mov byte [esp + 0x3c], dl
lea ecx, [esp + 0x580]
fld dword [eax + 0xc]
fstp dword [esp + 0x40]
fld dword [eax + 0x10]
fstp dword [esp + 0x44]
call ebp
fld dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
sub esp, 8
fstp qword [esp]
push eax
push ecx
lea edx, [esp + 0x148]
push edx
lea ecx, [esp + 0x784]
call fcn.004f4950
lea eax, [esp + 0x178]
push eax
lea ecx, [esp + 0x774]
mov byte [esp + 0x890], 0x31
call fcn.004f5140
mov ecx, dword [esp + 0x178]
mov eax, dword [esp + 0x180]
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x15c], edx
mov edx, dword [esp + 0x188]
mov dword [esp + 0x164], ecx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x168], edx
mov edx, dword [esp + 0x194]
push 4
lea eax, [esp + 0x15c]
mov dword [esp + 0x174], ecx
push eax
lea ecx, [esp + 0x418]
mov dword [esp + 0x17c], edx
call fcn.00513da0
mov ebx, dword [esp + 0x54]
push 0xff
lea ecx, [esp + 0x414]
mov byte [esp + 0x890], 0x32
mov dword [esp + 0x420], ebx
call fcn.00515ea0
lea ecx, [esp + 0x290]
call fcn.00529e00
lea ecx, [esp + 0x290]
push ecx
lea ecx, [esp + 0x414]
mov byte [esp + 0x890], 0x33
call fcn.00528d80
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x298]
call fcn.0052f2e0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esi + 0x20]
lea edx, [esp + 0x290]
push edx
push eax
call fcn.004930f0
test eax, eax
jne 0x40b967
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 + 0x50]
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 0x632f68
call fcn.00401320
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_____]
lea ecx, [esp + 0x290]
mov byte [esp + 0x88c], 0x32
call fcn.0052f270
lea ecx, [esp + 0x410]
mov byte [esp + 0x88c], 0x31
call fcn.00516bd0
lea ecx, [esp + 0x770]
mov byte [esp + 0x88c], 0x1a
call fcn.004f4a20
lea ecx, [esp + 0x34]
mov byte [esp + 0x88c], 2
call ebp
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
inc ebx
mov dword [esp + 0x50], ebx
call dword [sym.imp.BMB_NX_C9.dll_public:_int___thiscall_BMBElement::Count2DShape_void_]
cmp ebx, eax
jl 0x40aae0
mov eax, dword [esp + 0x58]
inc eax
cmp eax, dword [esp + 0x60]
mov dword [esp + 0x58], eax
jl 0x40aaa0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88c], 1
call fcn.00481ef0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x88c], 0
call fcn.005b9130
lea ecx, [esp + 0x89c]
mov dword [esp + 0x88c], 0xffffffff
call fcn.005b9130
xor eax, eax
mov ecx, dword [esp + 0x884]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x86c]
xor ecx, esp
call fcn.005bf276
add esp, 0x87c
ret 0x1c