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

Disassembly:
jmp 0x44fc30
push 0xffffffffffffffff
push 0x6499c3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push ebp
call fcn.0041093d
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x10], eax
xor ebx, ebx
mov eax, dword [ebp + 0xa8]
cmp eax, 0x10
je 0x44fc84
cmp eax, 8
jne 0x44fc71
cmp dword [ebp + 0xb0], ebx
jne 0x44fc84
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
add esp, 0x6c
ret
push ebp
call fcn.00402bd0
push 0x6bdcf0
push 0x6bdcec
push ebp
call fcn.00410096
mov eax, dword [0x6bdcec]
add esp, 0x10
cmp eax, ebx
je 0x44fcc2
push ebp
call fcn.00407c39
add esp, 4
xor eax, eax
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
add esp, 0x6c
ret
mov eax, dword [esp + 0x7c]
push esi
push edi
push eax
call fcn.00402d01
add esp, 4
mov dword [esp + 0x10], ebx
mov esi, str.LINE
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44fd03
test cl, cl
je 0x44fcff
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44fd03
add eax, 2
add esi, 2
test cl, cl
jne 0x44fcdf
xor eax, eax
jmp 0x44fd08
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x45003f
mov esi, str.POINT
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44fd3e
test cl, cl
je 0x44fd3a
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44fd3e
add eax, 2
add esi, 2
test cl, cl
jne 0x44fd1a
xor eax, eax
jmp 0x44fd43
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x45005a
mov esi, str.CIRCLE
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44fd79
test cl, cl
je 0x44fd75
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44fd79
add eax, 2
add esi, 2
test cl, cl
jne 0x44fd55
xor eax, eax
jmp 0x44fd7e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x450075
mov esi, str.ELLIPSE
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44fdb4
test cl, cl
je 0x44fdb0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44fdb4
add eax, 2
add esi, 2
test cl, cl
jne 0x44fd90
xor eax, eax
jmp 0x44fdb9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x450090
mov esi, str.TEXT
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44fdef
test cl, cl
je 0x44fdeb
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44fdef
add eax, 2
add esi, 2
test cl, cl
jne 0x44fdcb
xor eax, eax
jmp 0x44fdf4
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4500ab
mov esi, 0x6a0a44
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44fe2a
test cl, cl
je 0x44fe26
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44fe2a
add eax, 2
add esi, 2
test cl, cl
jne 0x44fe06
xor eax, eax
jmp 0x44fe2f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4500c6
mov esi, str.SOLID
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44fe65
test cl, cl
je 0x44fe61
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44fe65
add eax, 2
add esi, 2
test cl, cl
jne 0x44fe41
xor eax, eax
jmp 0x44fe6a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4500e1
mov esi, str.INSERT
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44fea0
test cl, cl
je 0x44fe9c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44fea0
add eax, 2
add esi, 2
test cl, cl
jne 0x44fe7c
xor eax, eax
jmp 0x44fea5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4500fc
mov esi, str.POLYLINE
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44fedb
test cl, cl
je 0x44fed7
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44fedb
add eax, 2
add esi, 2
test cl, cl
jne 0x44feb7
xor eax, eax
jmp 0x44fee0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x450117
mov esi, str.LWPOLYLINE
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44ff16
test cl, cl
je 0x44ff12
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44ff16
add eax, 2
add esi, 2
test cl, cl
jne 0x44fef2
xor eax, eax
jmp 0x44ff1b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x450132
mov esi, str.DIMENSION
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44ff51
test cl, cl
je 0x44ff4d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44ff51
add eax, 2
add esi, 2
test cl, cl
jne 0x44ff2d
xor eax, eax
jmp 0x44ff56
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4504c4
push 0x6bdcf0
push 0x6bdcec
push ebp
call fcn.00410096
mov eax, dword [0x6bdcec]
add esp, 0xc
cmp eax, ebx
jne 0x44ff5e
mov esi, str.ENDBLK
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44ffa8
test cl, cl
je 0x44ffa4
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44ffa8
add eax, 2
add esi, 2
test cl, cl
jne 0x44ff84
xor eax, eax
jmp 0x44ffad
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4504e5
mov esi, str.ENDSEC
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44ffe3
test cl, cl
je 0x44ffdf
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44ffe3
add eax, 2
add esi, 2
test cl, cl
jne 0x44ffbf
xor eax, eax
jmp 0x44ffe8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4504e5
mov eax, dword [ebp + 0x80bc]
mov ecx, dword [ebp + 0xa0]
cmp eax, ecx
jge 0x4504e5
mov esi, str.LINE
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x450032
test cl, cl
je 0x45002e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x450032
add eax, 2
add esi, 2
test cl, cl
jne 0x45000e
xor eax, eax
jmp 0x450037
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x44fd10
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push eax
push ecx
push ebp
call fcn.0040d0b7
jmp 0x4504da
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
push edx
push eax
push ebp
call fcn.00407973
jmp 0x4504da
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push ecx
push edx
push ebp
call fcn.00409417
jmp 0x4504da
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push eax
push ecx
push ebp
call fcn.0040a745
jmp 0x4504da
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
push edx
push eax
push ebp
call fcn.0040e67e
jmp 0x4504da
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push ecx
push edx
push ebp
call fcn.00402419
jmp 0x4504da
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push eax
push ecx
push ebp
call fcn.00407f2c
jmp 0x4504da
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
push edx
push eax
push ebp
call fcn.004020e5
jmp 0x4504da
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push ecx
push edx
push ebp
call fcn.00404066
jmp 0x4504da
push 0x6bdcf0
push 0x6bdcec
push ebp
call fcn.00410096
add esp, 0xc
mov esi, str.AcDbPolyline
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x450173
test cl, cl
je 0x45016f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x450173
add eax, 2
add esi, 2
test cl, cl
jne 0x45014f
xor eax, eax
jmp 0x450178
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4501cc
push ebp
call fcn.00402bd0
push 0x6bdcf0
push 0x6bdcec
push ebp
call fcn.00410096
add esp, 0x10
mov esi, str.AcDbPolyline
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4501c3
test cl, cl
je 0x4501bf
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4501c3
add eax, 2
add esi, 2
test cl, cl
jne 0x45019f
xor eax, eax
jmp 0x4501c8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45017c
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov ecx, edi
xor eax, eax
push 0x6bdcf0
push 0x6bdcec
mov dword [ecx], eax
push ebp
xor esi, esi
mov dword [ecx + 4], eax
mov word [ecx + 8], ax
mov word [edx], 0x13
mov word [edi + 8], bx
call fcn.00410096
mov eax, dword [0x6bdcec]
mov ebx, dword [sym.imp.MSVCRT.dll_atoi]
add esp, 0xc
cmp eax, 0x2b
je 0x45025e
cmp eax, 0x46
je 0x45022d
cmp eax, 0x5a
jne 0x45023b
push 0x6bdcf0
call ebx
add esp, 4
mov esi, eax
jmp 0x45023b
push 0x6bdcf0
call ebx
add esp, 4
mov word [edi + 8], ax
push ebp
call fcn.00402bd0
push 0x6bdcf0
push 0x6bdcec
push ebp
call fcn.00410096
mov eax, dword [0x6bdcec]
add esp, 0x10
cmp eax, 0x2b
jne 0x450215
push 0x40
call sub.MFC42.DLL_operatornew
mov ebp, eax
xor ebx, ebx
add esp, 4
mov dword [esp + 0x28], ebp
mov dword [ebp + 0x3c], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
cmp esi, ebx
mov dword [esp + 0x78], ebx
jle 0x45031e
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x80]
mov word [esp + 0x6e], 0
push esi
call fcn.00402bd0
push 0x6bdcf0
push 0x6bdcec
push esi
call fcn.00410096
push 0x6bdcf0
call dword [sym.imp.MSVCRT.dll_atof]
fstp qword [esp + 0x48]
push esi
call fcn.00402bd0
push 0x6bdcf0
push 0x6bdcec
push esi
call fcn.00410096
push 0x6bdcf0
call dword [sym.imp.MSVCRT.dll_atof]
fstp qword [esp + 0x64]
push 0x40
call sub.MFC42.DLL_operatornew
mov ecx, 0xf
lea esi, [esp + 0x60]
mov edi, eax
add esp, 0x2c
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x3c]
inc ebx
mov dword [eax + 0x3c], ecx
mov dword [ebp + 0x3c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
dec eax
mov dword [esp + 0x14], eax
jne 0x45028b
mov edi, dword [esp + 0x88]
lea eax, [ebx + ebx*2]
mov dword [edi + 4], ebx
lea eax, [eax + eax*4]
shl eax, 2
push eax
call sub.MFC42.DLL_operatornew
mov dword [edi], eax
mov eax, ebp
add esp, 4
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], eax
xor edx, edx
test eax, eax
je 0x450374
mov esi, dword [eax + 0x3c]
mov dword [esp + 0x30], eax
test esi, esi
mov eax, esi
je 0x450374
test ebx, ebx
je 0x450374
mov ecx, dword [esp + 0x88]
mov edi, edx
add edi, dword [ecx]
mov ecx, 0xf
add edx, 0x3c
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x88]
jmp 0x450341
mov esi, dword [esp + 0x80]
mov dword [esp + 0x2c], eax
push esi
call fcn.00402bd0
push 0x6bdcf0
push 0x6bdcec
push esi
call fcn.00410096
mov edx, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x10], 1
mov eax, dword [edx + 0x4b2]
test eax, eax
je 0x4504a4
push 0x34
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
xor ebx, ebx
mov byte [esp + 0x78], 1
cmp esi, ebx
je 0x4503f7
push 2
lea ecx, [esi + 4]
call dword [sym.imp.zmathdll.dll_public:_void___thiscall_ZPointArray::constructor_int_]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov eax, dword [sym.imp.zmathdll.dll_const_ZPolyline::vftable]
mov dword [esi + 0x30], ebx
mov dword [esi], eax
mov dword [esi + 0x24], 1
jmp 0x4503f9
xor esi, esi
mov eax, dword [edi + 4]
xor ebx, ebx
test eax, eax
mov byte [esp + 0x78], 0
jle 0x450466
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x14]
mov edx, dword [ecx]
fld qword [eax + edx]
fmul qword [0x66ec60]
lea edi, [eax + edx]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x1c], eax
fld qword [edi + 8]
fmul qword [0x66ec60]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x1c]
mov dword [esp + 0x20], eax
push ecx
mov ecx, esi
call dword [sym.imp.zmathdll.dll_public:_int___thiscall_ZPolyline::AddPoint_class_CPoint_const__]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x14]
inc ebx
add ecx, 0x3c
mov eax, dword [edx + 4]
mov dword [esp + 0x14], ecx
cmp ebx, eax
jl 0x45040b
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
xor eax, eax
add edx, 2
mov ax, word [ecx + 8]
push edx
mov dword [esi + 0x30], eax
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [eax + 0x4b2]
mov eax, dword [ecx + 0x34]
add ecx, 0x2c
push esi
push eax
call sub.MFC42.DLL_CPtrArray::SetAtGrow
test ebp, ebp
mov dword [esp + 0x78], 0xffffffff
je 0x4504e5
mov eax, ebp
mov ebp, dword [ebp + 0x3c]
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
test ebp, ebp
jne 0x4504b0
jmp 0x4504e5
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push ecx
push edx
push ebp
call fcn.00404156
add esp, 0xc
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x80]
cmp dword [eax + 0xa8], 8
jne 0x4505e6
mov ecx, dword [eax + 0xb0]
test ecx, ecx
je 0x4505e6
mov eax, dword [0x6bdcec]
test eax, eax
jne 0x4505dc
mov esi, str.ENDBLK
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x450546
test cl, cl
je 0x450542
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x450546
add eax, 2
add esi, 2
test cl, cl
jne 0x45051e
xor eax, eax
jmp 0x45054b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4505dc
mov eax, dword [esp + 0x18]
xor ebp, ebp
cmp dword [eax + 0x4b2], ebp
je 0x450567
mov dword [eax + 0x4b2], ebp
mov edi, dword [esp + 0x80]
mov dword [edi + 0xb0], ebp
push edi
call fcn.00402bd0
push 0x6bdcf0
push 0x6bdcec
push edi
call fcn.00410096
mov eax, dword [0x6bdcec]
add esp, 0x10
cmp eax, ebp
jne 0x450574
mov esi, str.ENDSEC
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4505c8
test cl, cl
je 0x4505c4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4505c8
add eax, 2
add esi, 2
test cl, cl
jne 0x4505a0
xor eax, eax
jmp 0x4505cd
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x4505d9
mov dword [edi + 0xa8], ebp
jmp 0x45064d
push edi
jmp 0x450645
mov eax, dword [esp + 0x80]
push eax
jmp 0x450645
mov eax, dword [0x6bdcec]
test eax, eax
jne 0x45063d
mov esi, str.ENDSEC
mov eax, 0x6bdcf0
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x450621
test cl, cl
je 0x45061d
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x450621
add eax, 2
add esi, 2
test cl, cl
jne 0x4505f9
xor eax, eax
jmp 0x450626
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45063d
mov eax, dword [esp + 0x80]
mov dword [eax + 0xa8], 0
jmp 0x45064d
mov ecx, dword [esp + 0x80]
push ecx
call fcn.00407c39
add esp, 4
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x6c
ret