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

Disassembly:
push 0xffffffffffffffff
push 0x5d8681
mov eax, dword fs:[0]
push eax
sub esp, 0x870
mov eax, dword [0x638190]
xor eax, esp
mov dword [esp + 0x86c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x638190]
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.005be070
fld dword [esp + 0x8a8]
push ecx
mov ecx, esi
fstp dword [esp]
mov byte [esp + 0x890], 1
call fcn.00403c90
mov ecx, dword [esp + 0x11c]
push ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x58], eax
call fcn.004c1a00
test eax, eax
jne 0x409c31
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 0x638398
call fcn.00401320
add esp, 8
push eax
call fcn.005be3c0
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.005bd9f0
lea ecx, [esp + 0x89c]
mov dword [esp + 0x88c], 0xffffffff
call fcn.005bd9f0
mov eax, 1
jmp 0x40b9bd
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.00492c00
cmp dword [esp + 0x898], 1
mov byte [esp + 0x88c], 2
jne 0x409d0c
lea ecx, [esp + 0xf4]
call fcn.005bfee0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88c], 3
call fcn.00492c20
lea ecx, [esp + 0x6c]
call fcn.00459330
test eax, eax
je 0x409cc7
jmp 0x409c90
lea ecx, [esp + 0x6c]
call fcn.00459330
mov ecx, dword [esp + 0xf4]
push ecx
lea ecx, [esp + 0xf8]
mov edi, eax
call fcn.005c2c20
lea ecx, [esp + 0x6c]
mov dword [eax], edi
call fcn.00492c50
lea ecx, [esp + 0x6c]
call fcn.00459330
test eax, eax
jne 0x409c90
mov ebp, dword [esp + 0xf4]
xor edi, edi
test ebp, ebp
jle 0x409cf8
jmp 0x409ce0
mov edx, dword [esp + 0xfc]
mov eax, dword [edx + edi*4]
mov ecx, dword [esi + 0x20]
push eax
call fcn.004932c0
inc edi
cmp edi, ebp
jl 0x409ce0
lea ecx, [esp + 0xf4]
mov byte [esp + 0x88c], 2
call fcn.005c2ee0
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 0x409d34
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88c], 1
call fcn.00440ab0
jmp 0x409bfc
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 0x40aa0d
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.0052dcb0
mov cl, byte [esp + 0x14]
movzx eax, cl
mov byte [esp + 0x88c], 5
cmp eax, 9
ja case.0x409daf.6
jmp dword [eax*4 + 0x40b9e8]
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.00403c90
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403c90
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.00403c90
cdq
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x12c]
push edx
lea ecx, [esp + 0x25c]
call fcn.004f73b0
lea eax, [esp + 0x254]
push eax
lea ecx, [esp + 0x2f4]
mov byte [esp + 0x890], 6
call fcn.00525080
lea ecx, [esp + 0x2f0]
push ecx
lea ecx, [esp + 0x3bc]
mov byte [esp + 0x890], 7
call fcn.00517bb0
mov edx, dword [esp + 0x54]
push 0xff
lea ecx, [esp + 0x3bc]
mov byte [esp + 0x890], 8
mov dword [esp + 0x3c8], edx
call fcn.00519a20
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x3bc]
call fcn.0052cca0
mov byte [esp + 0x88c], 7
lea ecx, [esp + 0x3b8]
call fcn.0051a750
lea ecx, [esp + 0x2f0]
mov byte [esp + 0x88c], 6
call fcn.0052ac30
lea ecx, [esp + 0x254]
mov byte [esp + 0x88c], 5
call fcn.004f74a0
jmp case.0x409daf.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.00403c90
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403c90
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.00403c90
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov ebx, eax
call fcn.00403c90
fldz
sub esp, 8
fstp qword [esp]
push eax
push ebx
lea eax, [esp + 0x158]
push eax
lea ecx, [esp + 0x764]
call fcn.004f5cd0
lea ecx, [esp + 0x350]
push ecx
lea ecx, [esp + 0x754]
mov byte [esp + 0x890], 9
call fcn.004f5dd0
push eax
lea ecx, [esp + 0x330]
mov byte [esp + 0x890], 0xa
call fcn.004f0010
lea edx, [esp + 0x32c]
push edx
lea ecx, [esp + 0x2cc]
mov byte [esp + 0x890], 0xb
call fcn.00524f70
lea ecx, [esp + 0x32c]
mov byte [esp + 0x88c], 0xd
call fcn.004f0040
lea ecx, [esp + 0x350]
mov byte [esp + 0x88c], 0xe
call fcn.00440ab0
lea eax, [esp + 0x2c8]
push eax
lea ecx, [esp + 0x364]
call fcn.00517bb0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x36c], ecx
push 0xff
lea ecx, [esp + 0x364]
mov byte [esp + 0x890], 0xf
call fcn.00519a20
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x364]
call fcn.0052cca0
lea ecx, [esp + 0x360]
mov byte [esp + 0x88c], 0xe
call fcn.0051a750
lea ecx, [esp + 0x2c8]
mov byte [esp + 0x88c], 9
call fcn.0052ac30
lea ecx, [esp + 0x750]
jmp 0x40a95b
xor eax, eax
mov dword [esp + 0x14], eax
cmp cl, 3
jne 0x40a242
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 0x40a176
sub eax, 1
je 0x40a172
sub eax, 1
jne 0x40a184
push 3
jmp 0x40a178
push 2
jmp 0x40a178
push 1
lea ecx, [esp + 0xdc]
call fcn.005322b0
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.00403c90
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x54], eax
call fcn.00403c90
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.00403c90
mov ecx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0xe4]
call fcn.005311a0
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.0x409daf.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 0x40a49c
cmp al, 6
je 0x40a44c
cmp al, 0xd
jne 0x40a71d
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.00403c90
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xb4], eax
call fcn.00403c90
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.00403c90
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xcc], eax
call fcn.00403c90
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.00403c90
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xd4], eax
call fcn.00403c90
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.004f14a0
push 0
push 0
push eax
lea ecx, [esp + 0x7dc]
mov byte [esp + 0x898], 0x15
call fcn.0051a800
lea ecx, [esp + 0x6c0]
mov byte [esp + 0x88c], 0x17
call fcn.004f1b60
lea eax, [esp + 0x7d0]
push eax
lea ecx, [esp + 0xdc]
call fcn.00533340
lea ecx, [esp + 0x7d0]
jmp 0x40a710
cmp dword [esp + 0x50], 1
je 0x40a71d
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403c90
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xac], eax
call fcn.00403c90
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xb0], eax
call fcn.005332e0
jmp 0x40a71d
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.00403c90
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xbc], eax
call fcn.00403c90
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 [0x5f3df0]
mov ecx, esi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00403c90
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 0x40a59c
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.005bee30
fld qword [esp + 0x1e0]
fst qword [esp + 0x64]
fcomp qword [0x5f3e08]
fnstsw ax
test ah, 1
jne 0x40a689
mov eax, dword [ebx + 0x10]
cmp eax, 5
jne 0x40a67c
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 0x40a658
fld dword [esp + 0x250]
fld dword [esp + 0x23c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x40a658
push 0
lea ecx, [esp + 0xdc]
call fcn.00535d10
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 0x40a689
cmp eax, 3
jne 0x40a689
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.004f12b0
push 0
push 0
push eax
lea ecx, [esp + 0x834]
mov byte [esp + 0x898], 0x12
call fcn.0051a800
lea ecx, [esp + 0x6e4]
mov byte [esp + 0x88c], 0x14
call fcn.004f1b60
lea eax, [esp + 0x828]
push eax
lea ecx, [esp + 0xdc]
call fcn.00533340
lea ecx, [esp + 0x828]
mov byte [esp + 0x88c], 5
call fcn.0051a830
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [ebx + 0x10]
mov dword [esp + 0x14], eax
jl 0x40a261
jmp case.0x409daf.6
lea ecx, [esp + 0xd8]
push ecx
push ebx
mov ecx, esi
call fcn.00404490
jmp case.0x409daf.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.00403c90
fld dword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403c90
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.00403c90
fld dword [esp + 0x30]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x54], eax
call fcn.00403c90
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.004f5cd0
lea eax, [esp + 0x1b8]
push eax
lea ecx, [esp + 0x7b4]
mov byte [esp + 0x890], 0x18
call fcn.004f64c0
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.005178e0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x398], ecx
push 0xff
lea ecx, [esp + 0x390]
mov byte [esp + 0x890], 0x19
call fcn.00519a20
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x390]
call fcn.0052cca0
lea ecx, [esp + 0x38c]
mov byte [esp + 0x88c], 0x18
call fcn.0051a750
lea ecx, [esp + 0x7b0]
mov byte [esp + 0x88c], 5
call fcn.004f5da0
mov eax, dword [esp + 0x54]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0xe0]
call fcn.00533040
push 0xff
lea ecx, [esp + 0xdc]
call fcn.00534480
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0xd8]
push ecx
mov ecx, dword [esi + 0x20]
push edx
call fcn.00493d10
test eax, eax
jne 0x40a9d8
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 0x638398
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.00532fd0
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 0x409d60
cmp dword [esp + 0x8ac], 1
jne 0x40b97f
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 0x40b97f
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 0x40b96c
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 0x40b96c
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.0x40aab6.6
jmp dword [eax*4 + 0x40ba10]
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.00403c90
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x20], eax
call fcn.00403c90
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.00403c90
cdq
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x154]
push edx
lea ecx, [esp + 0x26c]
call fcn.004f73b0
lea eax, [esp + 0x264]
push eax
lea ecx, [esp + 0x31c]
mov byte [esp + 0x890], 0x1b
call fcn.00525080
lea ecx, [esp + 0x318]
push ecx
lea ecx, [esp + 0x3e8]
mov byte [esp + 0x890], 0x1c
call fcn.00517bb0
mov ebx, dword [esp + 0x54]
push 0xff
lea ecx, [esp + 0x3e8]
mov byte [esp + 0x890], 0x1d
mov dword [esp + 0x3f4], ebx
call fcn.00519a20
lea ecx, [esp + 0x1e8]
call fcn.0052dcb0
mov byte [esp + 0x88c], 0x1e
push 1
lea ecx, [esp + 0x1ec]
call fcn.005322b0
push 0
push 0x64
push 0x64
lea ecx, [esp + 0x1f4]
call fcn.005311a0
lea edx, [esp + 0x1e8]
push edx
lea ecx, [esp + 0x3e8]
call fcn.0052cca0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1f0]
call fcn.00533040
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x1e8]
push eax
push ecx
mov ecx, dword [esi + 0x20]
call fcn.00493d10
test eax, eax
jne 0x40ac80
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 0x638398
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.00532fd0
lea ecx, [esp + 0x3e4]
mov byte [esp + 0x88c], 0x1c
call fcn.0051a750
lea ecx, [esp + 0x318]
mov byte [esp + 0x88c], 0x1b
call fcn.0052ac30
lea ecx, [esp + 0x264]
mov byte [esp + 0x88c], 0x1a
call fcn.004f74a0
jmp case.0x40aab6.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.00403c90
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x20], eax
call fcn.00403c90
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.00403c90
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov ebx, eax
call fcn.00403c90
fldz
sub esp, 8
fstp qword [esp]
push eax
push ebx
lea edx, [esp + 0x140]
push edx
lea ecx, [esp + 0x7a4]
call fcn.004f5cd0
lea eax, [esp + 0x340]
push eax
lea ecx, [esp + 0x794]
mov byte [esp + 0x890], 0x1f
call fcn.004f5dd0
push eax
lea ecx, [esp + 0x2e0]
mov byte [esp + 0x890], 0x20
call fcn.004f0010
lea ecx, [esp + 0x2dc]
push ecx
lea ecx, [esp + 0x308]
mov byte [esp + 0x890], 0x21
call fcn.00524f70
lea ecx, [esp + 0x2dc]
mov byte [esp + 0x88c], 0x23
call fcn.004f0040
lea ecx, [esp + 0x340]
mov byte [esp + 0x88c], 0x24
call fcn.00440ab0
lea edx, [esp + 0x304]
push edx
lea ecx, [esp + 0x440]
call fcn.00517bb0
mov ebx, dword [esp + 0x54]
push 0xff
lea ecx, [esp + 0x440]
mov byte [esp + 0x890], 0x25
mov dword [esp + 0x44c], ebx
call fcn.00519a20
lea ecx, [esp + 0x2ac]
call fcn.0052dcb0
lea eax, [esp + 0x2ac]
push eax
lea ecx, [esp + 0x440]
mov byte [esp + 0x890], 0x26
call fcn.0052cca0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x2b4]
call fcn.00533040
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x2ac]
push ecx
mov ecx, dword [esi + 0x20]
push edx
call fcn.00493d10
test eax, eax
jne 0x40aedd
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 0x638398
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.00532fd0
lea ecx, [esp + 0x43c]
mov byte [esp + 0x88c], 0x24
call fcn.0051a750
lea ecx, [esp + 0x304]
mov byte [esp + 0x88c], 0x1f
call fcn.0052ac30
lea ecx, [esp + 0x790]
jmp 0x40b936
lea ecx, [esp + 0x100]
call fcn.0052dcb0
cmp byte [esp + 0x14], 3
mov byte [esp + 0x88c], 0x27
mov dword [esp + 0x48], 0
jne 0x40b087
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 0x40afbd
sub eax, 1
je 0x40afb9
sub eax, 1
jne 0x40afcb
push 3
jmp 0x40afbf
push 2
jmp 0x40afbf
push 1
lea ecx, [esp + 0x104]
call fcn.005322b0
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.00403c90
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403c90
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.00403c90
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x10c]
call fcn.005311a0
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 0x40b581
jmp 0x40b0b0
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 0x40b2eb
cmp al, 6
je 0x40b29b
cmp al, 0xd
jne 0x40b56f
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.00403c90
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x8c], eax
call fcn.00403c90
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.00403c90
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xc4], eax
call fcn.00403c90
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.00403c90
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0xa4], eax
call fcn.00403c90
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.004f14a0
push 0
push 0
push eax
lea ecx, [esp + 0x808]
mov byte [esp + 0x898], 0x2d
call fcn.0051a800
lea ecx, [esp + 0x72c]
mov byte [esp + 0x88c], 0x2f
call fcn.004f1b60
lea eax, [esp + 0x7fc]
push eax
lea ecx, [esp + 0x104]
call fcn.00533340
lea ecx, [esp + 0x7fc]
jmp 0x40b562
cmp dword [esp + 0x14], 1
je 0x40b56f
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403c90
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x94], eax
call fcn.00403c90
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x104]
mov dword [esp + 0x98], eax
call fcn.005332e0
jmp 0x40b56f
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.00403c90
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x9c], eax
call fcn.00403c90
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 [0x5f3df0]
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00403c90
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 0x40b3eb
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.005bee30
fld qword [esp + 0x1d8]
fst qword [esp + 0x7c]
fcomp qword [0x5f3e08]
fnstsw ax
test ah, 1
jne 0x40b4db
mov eax, dword [ebx + 0x10]
cmp eax, 5
jne 0x40b4ce
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 0x40b4aa
fld dword [esp + 0x228]
fld dword [esp + 0x214]
fucompp
fnstsw ax
test ah, 0x44
jp 0x40b4aa
push 0
lea ecx, [esp + 0x104]
call fcn.00535d10
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 0x40b4db
cmp eax, 3
jne 0x40b4db
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.004f12b0
push 0
push 0
push eax
lea ecx, [esp + 0x860]
mov byte [esp + 0x898], 0x2a
call fcn.0051a800
lea ecx, [esp + 0x708]
mov byte [esp + 0x88c], 0x2c
call fcn.004f1b60
lea eax, [esp + 0x854]
push eax
lea ecx, [esp + 0x104]
call fcn.00533340
lea ecx, [esp + 0x854]
mov byte [esp + 0x88c], 0x27
call fcn.0051a830
mov eax, dword [esp + 0x48]
inc eax
cmp eax, dword [ebx + 0x10]
mov dword [esp + 0x48], eax
jl 0x40b0b0
fld dword [ebx + 0xc]
push 0xffffffffffffffff
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00403c90
push eax
lea ecx, [esp + 0x108]
call fcn.00533040
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x100]
push ecx
mov ecx, dword [esi + 0x20]
push edx
call fcn.00493d10
test eax, eax
jne 0x40b5ea
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 0x638398
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.00532fd0
jmp case.0x40aab6.6
lea ecx, [esp + 0x274]
call fcn.0052dcb0
lea ecx, [esp + 0x274]
push ecx
push ebx
mov ecx, esi
mov byte [esp + 0x894], 0x30
call fcn.00404490
mov edx, dword [esp + 0x54]
push 0xffffffffffffffff
push edx
lea ecx, [esp + 0x27c]
call fcn.00533040
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x274]
push eax
push ecx
mov ecx, dword [esi + 0x20]
call fcn.00493d10
test eax, eax
jne 0x40b687
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 0x638398
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.00532fd0
jmp case.0x40aab6.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.00403c90
fld dword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x20], eax
call fcn.00403c90
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.00403c90
fld dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00403c90
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.004f5cd0
lea eax, [esp + 0x178]
push eax
lea ecx, [esp + 0x774]
mov byte [esp + 0x890], 0x31
call fcn.004f64c0
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.005178e0
mov ebx, dword [esp + 0x54]
push 0xff
lea ecx, [esp + 0x414]
mov byte [esp + 0x890], 0x32
mov dword [esp + 0x420], ebx
call fcn.00519a20
lea ecx, [esp + 0x290]
call fcn.0052dcb0
lea ecx, [esp + 0x290]
push ecx
lea ecx, [esp + 0x414]
mov byte [esp + 0x890], 0x33
call fcn.0052cca0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x298]
call fcn.00533040
mov eax, dword [esp + 0x5c]
mov ecx, dword [esi + 0x20]
lea edx, [esp + 0x290]
push edx
push eax
call fcn.00493d10
test eax, eax
jne 0x40b907
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 0x638398
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.00532fd0
lea ecx, [esp + 0x410]
mov byte [esp + 0x88c], 0x31
call fcn.0051a750
lea ecx, [esp + 0x770]
mov byte [esp + 0x88c], 0x1a
call fcn.004f5da0
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 0x40aa80
mov eax, dword [esp + 0x58]
inc eax
cmp eax, dword [esp + 0x60]
mov dword [esp + 0x58], eax
jl 0x40aa40
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88c], 1
call fcn.00440ab0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x88c], 0
call fcn.005bd9f0
lea ecx, [esp + 0x89c]
mov dword [esp + 0x88c], 0xffffffff
call fcn.005bd9f0
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.005c3bb6
add esp, 0x87c
ret 0x1c