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

Disassembly:
push 0xffffffffffffffff
push 0x46c602
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x4c6b0c]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c6b0c]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
sub esp, 0x1c
mov esi, ecx
mov ecx, esp
mov dword [esp + 0x38], esp
xor ebx, ebx
push str._n_parsing_entity__n
mov dword [esi + 0x114], ebx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], ebx
call fcn.00460470
or ebx, 0xffffffff
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov eax, dword [esp + 0x74]
push eax
mov ecx, edi
call fcn.0045f080
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.Object_type:
mov word [esi + 0x118], ax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 1
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movsx ecx, word [esi + 0x118]
push ecx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x477540
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 2
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movsx eax, word [esi + 0x118]
cdq
push edx
push eax
call fcn.00460470
mov ecx, eax
call fcn.004602f0
mov edx, dword [esp + 0x74]
add edx, 0xfffffffb
cmp edx, 2
ja 0x41f7ea
mov ecx, edi
call fcn.0045e1d0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str._Object_size:
mov dword [esi + 0x114], eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 3
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov eax, dword [esi + 0x114]
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460270
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 4
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
cmp dword [esp + 0x74], 7
jle 0x41f88a
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
lea ecx, [eax*8]
sub ecx, dword [esp + 0x80]
sub esp, 0x1c
mov dword [esi + 0x114], ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str._Object_size:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 5
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov edx, dword [esi + 0x114]
push edx
call fcn.00460470
mov ecx, eax
call fcn.00460270
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 6
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
test ebp, ebp
je 0x41fc41
cmp dword [esp + 0x74], 6
jle 0x41fc41
mov eax, dword [esi + 0x114]
dec eax
push eax
mov ecx, ebp
call fcn.0045deb0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str._strBuf_strbit_pos_2007:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 7
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, ebp
call fcn.0045de00
push edx
push eax
call fcn.00460470
mov ecx, eax
call fcn.004602b0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str._strBuf_bpos_2007:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 8
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx ecx, byte [ebp + 0xd]
push ecx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 9
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, ebp
call fcn.0045df20
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
cmp al, 1
jne 0x41fb5c
push str.DRW_TableEntry::parseDwg_string_bit_is_1_n
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0xa
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
push 0xffffffffffffffef
mov ecx, ebp
call fcn.0045deb0
mov ecx, ebp
call fcn.0045e0b0
sub esp, 0x1c
movzx edx, ax
mov ecx, esp
mov dword [esp + 0x38], esp
push str._nDRW_TableEntry::parseDwg_string_strDataSize:
mov dword [esp + 0x40], edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0xb
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx eax, word [esp + 0x20]
cdq
push edx
push eax
call fcn.00460470
mov ecx, eax
call fcn.004602f0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0xc
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
test dword [esp + 0x20], 0x8000
je 0x41fa9d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str._nDRW_TableEntry::parseDwg_string_0x8000_bit_is_set
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0xd
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
push 0xffffffffffffffdf
mov ecx, ebp
call fcn.0045deb0
mov ecx, ebp
call fcn.0045e0b0
mov ecx, dword [esp + 0x20]
movzx eax, ax
shl eax, 0xf
and ecx, 0x7fff
or eax, ecx
movzx edx, ax
mov dword [esp + 0x20], edx
movzx eax, word [esp + 0x20]
mov ecx, 0xfffffff0
sub ecx, eax
push ecx
mov ecx, ebp
call fcn.0045deb0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.strBuf_start_strDataSize_pos_2007:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0xe
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, ebp
call fcn.0045de00
push edx
push eax
call fcn.00460470
mov ecx, eax
call fcn.004602b0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str._strBuf_bpos_2007:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0xf
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx edx, byte [ebp + 0xd]
push edx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x10
jmp 0x41fb72
push str._nDRW_TableEntry::parseDwg_string_bit_is_0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x11
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.strBuf_start_pos_2007:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x12
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, ebp
call fcn.0045de00
push edx
push eax
call fcn.00460470
mov ecx, eax
call fcn.004602b0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str._strBuf_bpos_2007:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x13
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx eax, byte [ebp + 0xd]
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x14
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call fcn.0045e230
mov edx, dword [esp + 0x28]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.Entity_Handle:
mov dword [esi + 0xc], edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x15
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov eax, dword [esp + 0x28]
movzx ecx, byte [esp + 0x25]
movzx edx, byte [esp + 0x24]
push eax
push ecx
push edx
call fcn.00460470
mov ecx, eax
call fcn.00460310
mov ecx, edi
call fcn.0045e980
sub esp, 0x1c
movzx ebp, ax
mov ecx, esp
mov dword [esp + 0x38], esp
push str._ext_data_size:
mov dword [esp + 0x40], ebp
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x16
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movsx ebp, bp
push ebp
call fcn.00460470
mov ecx, eax
call fcn.00460250
cmp word [esp + 0x20], 0
jle 0x41ff69
nop
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
test al, al
je 0x41ff69
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call fcn.0045e230
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.App_Handle:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x17
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, dword [esp + 0x40]
movzx edx, byte [esp + 0x3d]
movzx eax, byte [esp + 0x3c]
push ecx
push edx
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460310
push ebp
call fcn.004697fb
add esp, 4
push ebp
push eax
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.0045e470
mov ecx, dword [edi]
mov edx, dword [esp + 0x20]
push ecx
push ebp
push edx
lea ecx, [esp + 0x38]
call fcn.0045dd50
lea ecx, [esp + 0x2c]
mov dword [esp + 0x6c], 0x18
call fcn.0045e070
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str._dxfCode:
mov byte [esp + 0x37], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x19
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x18
call fcn.004601e0
movzx eax, byte [esp + 0x17]
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460250
cmp byte [esp + 0x17], 0
jne 0x41fef5
lea ecx, [esp + 0x2c]
call fcn.0045e070
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str._strLength:
mov byte [esp + 0x37], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x1a
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x18
call fcn.004601e0
movzx ebp, byte [esp + 0x17]
push ebp
call fcn.00460470
mov ecx, eax
call fcn.00460250
lea ecx, [esp + 0x2c]
call fcn.0045e440
movzx ecx, ax
sub esp, 0x1c
mov dword [esp + 0x38], ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str._str_codepage:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x1b
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x18
call fcn.004601e0
movzx edx, word [esp + 0x1c]
push edx
call fcn.00460470
mov ecx, eax
call fcn.00460250
lea eax, [ebp + 1]
test eax, eax
jle 0x41fef5
mov ebp, eax
lea ecx, [esp + 0x2c]
call fcn.0045e070
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str._dxfChar:
mov byte [esp + 0x37], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x1c
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x18
call fcn.004601e0
movzx eax, byte [esp + 0x17]
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub ebp, 1
jne 0x41fea1
mov ecx, dword [esp + 0x20]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
mov ecx, edi
call fcn.0045e980
sub esp, 0x1c
movzx ebp, ax
mov ecx, esp
mov dword [esp + 0x34], esp
push str._ext_data_size:
mov dword [esp + 0x40], ebp
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x1d
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x18
call fcn.004601e0
movsx ebp, bp
push ebp
call fcn.00460470
mov ecx, eax
call fcn.00460250
lea ecx, [esp + 0x2c]
mov dword [esp + 0x6c], ebx
call fcn.0045ddf0
cmp word [esp + 0x20], 0
jg 0x41fd00
mov ecx, edi
call fcn.0045df20
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str._graphFlag:
mov byte [esp + 0x37], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x1e
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx edx, byte [esp + 0x17]
push edx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x1f
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
cmp byte [esp + 0x17], 0
je 0x420136
mov ecx, edi
call fcn.0045e1d0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.graphData_in_bytes:
mov ebp, eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x20
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
push ebp
call fcn.00460470
mov ecx, eax
call fcn.00460270
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x21
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
push ebp
call fcn.004697fb
add esp, 4
push ebp
push eax
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.0045e470
mov eax, dword [edi]
push eax
push ebp
mov ebp, dword [esp + 0x24]
push ebp
lea ecx, [esp + 0x38]
call fcn.0045dd50
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.graph_data_remaining_bytes:
mov dword [esp + 0x8c], 0x22
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x23
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x22
call fcn.004601e0
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [esp + 0x34]
sub ecx, eax
push ecx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x24
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x22
call fcn.004601e0
push ebp
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [esp + 0x6c], ebx
call fcn.0045ddf0
cmp dword [esp + 0x74], 5
jge 0x4201c5
mov ecx, edi
call fcn.0045e1d0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str._Object_size_in_bits:
mov dword [esi + 0x114], eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x25
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, dword [esi + 0x114]
push ecx
call fcn.00460470
mov ecx, eax
call fcn.00460270
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x26
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, edi
call fcn.0045df70
test al, al
jne 0x4201d9
mov byte [esi + 0x10c], 1
jmp 0x4201df
cmp al, 2
jne 0x4201df
xor al, al
sub esp, 0x1c
movzx ebp, al
mov ecx, esp
mov dword [esp + 0x34], esp
push str.entmode:
mov dword [esi + 0x30], ebp
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x27
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
push ebp
call fcn.00460470
mov ecx, eax
call fcn.00460250
mov ecx, edi
call fcn.0045e980
sub esp, 0x1c
movzx edx, ax
mov ecx, esp
mov dword [esp + 0x34], esp
push str.__numReactors:
mov dword [esi + 0x110], edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x28
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov eax, dword [esi + 0x110]
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460250
mov ebp, dword [esp + 0x74]
cmp ebp, 5
jge 0x420377
mov ecx, edi
call fcn.0045df20
lea ebp, [esi + 0x50]
mov ecx, ebp
test al, al
je 0x4202aa
push str.BYLAYER
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov byte [esi + 0xee], 0
jmp 0x4202bc
push 0x4764c4
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov byte [esi + 0xee], 3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str._lineType:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x29
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
cmp dword [ebp + 0x18], 0x10
jb 0x4202f9
mov ebp, dword [ebp + 4]
jmp 0x4202fc
add ebp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push ebp
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x2a
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str._ltFlags:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x2b
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx ecx, byte [esi + 0xee]
push ecx
call fcn.00460470
mov ecx, eax
call fcn.00460250
mov ebp, dword [esp + 0x74]
cmp ebp, 5
jle 0x420402
mov ecx, edi
call fcn.0045df20
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str._xDictFlag:
mov byte [esi + 0x10d], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x2c
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx edx, byte [esi + 0x10d]
push edx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x2d
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
lea eax, [ebp - 6]
cmp eax, 2
ja 0x420478
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.__haveNextLinks__forced_:
mov byte [esi + 0xec], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x30
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx ecx, byte [esi + 0xec]
push ecx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x31
jmp 0x4204ea
mov ecx, edi
call fcn.0045df20
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.__haveNextLinks__0_yes__1_prev_next_:
mov byte [esi + 0xec], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x2e
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx edx, byte [esi + 0xec]
push edx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x2f
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
push ebp
mov ecx, edi
call fcn.0045f460
mov ecx, edi
mov dword [esi + 0x70], eax
call fcn.0045ea40
fstp qword [esi + 0x78]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str._entity_color:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x32
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov eax, dword [esi + 0x70]
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str._ltScale:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x33
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
fld qword [esi + 0x78]
sub esp, 8
fstp qword [esp]
call fcn.00460470
mov ecx, eax
call fcn.004602d0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x34
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
cmp ebp, 4
jle 0x42076c
lea ecx, [esp + 0x44]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov dword [esp + 0x6c], 0x35
mov byte [esp + 0x17], 0
lea ecx, [ecx]
mov ecx, edi
call fcn.0045df70
mov byte [esi + 0xed], al
cmp al, 1
jne 0x420608
push str.byblock
jmp 0x420623
cmp al, 2
jne 0x420613
push str.continuous
jmp 0x420623
test al, al
jne 0x42061e
push str.bylayer
jmp 0x420623
push 0x4764c4
lea ecx, [esp + 0x48]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
cmp byte [esp + 0x17], 0
jne 0x420708
mov cl, byte [esi + 0xed]
lea edx, [esp + 0x44]
mov byte [esi + 0xee], cl
lea ebp, [esi + 0x50]
push edx
mov ecx, ebp
call dword [0x476084]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.ltFlags:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x36
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x35
call fcn.004601e0
movzx eax, byte [esi + 0xee]
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str._lineType:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x37
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x35
call fcn.004601e0
cmp dword [ebp + 0x18], 0x10
jb 0x4206d3
mov ebp, dword [ebp + 4]
jmp 0x4206d6
add ebp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push ebp
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x38
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x35
call fcn.004601e0
mov ebp, dword [esp + 0x74]
jmp 0x42074c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.__plotFlags:
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x88], 0x39
call fcn.00460470
mov ecx, eax
mov byte [esp + 0x88], 0x35
call fcn.004601e0
movzx ecx, byte [esi + 0xed]
push ecx
call fcn.00460470
mov ecx, eax
call fcn.00460250
mov al, byte [esp + 0x17]
inc al
mov byte [esp + 0x17], al
cmp al, 2
jb 0x4205f0
lea ecx, [esp + 0x44]
mov dword [esp + 0x6c], ebx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp ebp, 6
jle 0x42084d
mov ecx, edi
call fcn.0045df70
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.materialFlag:
mov byte [esi + 0xef], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x3a
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx edx, byte [esi + 0xef]
push edx
call fcn.00460470
mov ecx, eax
call fcn.00460250
mov ecx, edi
call fcn.0045e070
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.shadowFlag:
mov byte [esi + 0xf0], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x3b
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx eax, byte [esi + 0xf0]
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x3c
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
cmp ebp, 7
jle 0x420958
mov ecx, edi
call fcn.0045df70
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.shadowFlag_2:
mov byte [esp + 0x37], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x3d
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx ecx, byte [esp + 0x17]
push ecx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x3e
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, edi
call fcn.0045df20
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.unknown_bit:
mov byte [esp + 0x37], al
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x3f
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movzx edx, byte [esp + 0x17]
push edx
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x40
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, edi
call fcn.0045e980
sub esp, 0x1c
movzx eax, ax
mov ecx, esp
mov dword [esp + 0x34], esp
push str._invisibleFlag:
mov dword [esp + 0x3c], eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x41
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
movsx ecx, word [esp + 0x1c]
push ecx
call fcn.00460470
mov ecx, eax
call fcn.00460250
cmp ebp, 4
jle 0x420a4a
mov ecx, edi
call fcn.0045e070
movzx eax, al
cmp eax, ebx
jle 0x4209c6
cmp eax, 0x18
jl 0x4209d3
lea edx, [eax - 0x1d]
cmp edx, 2
jbe 0x4209d3
mov eax, 0x1f
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4771f8
mov dword [esi + 0x74], eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x42
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov eax, dword [esi + 0x74]
push eax
call fcn.00460470
mov ecx, eax
call fcn.00460250
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x476478
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x88], 0x43
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x88], ebx
call fcn.004601e0
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.0046980b
add esp, 0x5c
ret 0x10