Function at 0x46a0ef
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x8b4
mov eax, dword [0x4c8bb0]
xor eax, esp
mov dword [esp + 0x8b0], eax
fldz
mov eax, dword [ebp + 8]
fst qword [esp + 0x44]
push ebx
fst qword [esp + 0x50]
push esi
mov esi, dword [ebp + 0xc]
fst qword [esp + 0x94]
fst qword [esp + 0x8c]
mov byte [esi], 0
fst qword [esp + 0x6c]
push edi
fst qword [esp + 0x80]
push 0x4c2628
fst qword [esp + 0x7c]
push eax
fstp qword [esp + 0x90]
mov dword [esp + 0x74], esi
fld qword [0x4b8cd8]
mov byte [esp + 0x4d], 0
fst qword [0x6521b8]
mov byte [esp + 0x4e], 0
fstp qword [0x6521b0]
mov byte [0x4d30d8], 0
fld qword [0x4b8cd0]
fst qword [0x6521f8]
fstp qword [0x6521f0]
call fcn.0045d140
push 0
mov edi, eax
push 0x400
lea eax, [esp + 0x4c0]
push eax
push edi
call fcn.00469d30
add esp, 0x18
test al, al
je 0x46b51f
push 1
push 0x400
lea ecx, [esp + 0xb0]
push ecx
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b51f
mov ecx, 0x4c262c
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x469f26
test dl, dl
je 0x469f22
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x469f26
add eax, 2
add ecx, 2
test dl, dl
jne 0x469f06
xor eax, eax
jmp 0x469f2b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46b515
mov ebx, dword [sym.imp.MSVCR100.dll_atoi]
mov ecx, 0x4c2630
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x469f65
test dl, dl
je 0x469f61
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x469f65
add eax, 2
add ecx, 2
test dl, dl
jne 0x469f45
xor eax, eax
jmp 0x469f6a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46ac1a
mov ecx, 0x4c2638
lea eax, [esp + 0xa8]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x469fa0
test dl, dl
je 0x469f9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x469fa0
add eax, 2
add ecx, 2
test dl, dl
jne 0x469f80
xor eax, eax
jmp 0x469fa5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46ac1a
mov ecx, 0x4c2640
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x469fe0
test dl, dl
je 0x469fdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x469fe0
add eax, 2
add ecx, 2
test dl, dl
jne 0x469fc0
xor eax, eax
jmp 0x469fe5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46ac1a
mov ecx, 0x4c2648
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a020
test dl, dl
je 0x46a01c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a020
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a000
xor eax, eax
jmp 0x46a025
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46ac1a
mov ecx, str.LWPOLYLINE
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a060
test dl, dl
je 0x46a05c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a060
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a040
xor eax, eax
jmp 0x46a065
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a1c5
call fcn.00453af0
fldz
xor bl, bl
fstp qword [esp + 0x60]
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], bl
push 0
push 0x400
lea edx, [esp + 0x4b8]
push edx
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b0ec
push 1
push 0x400
lea eax, [esp + 0xb0]
push eax
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b0ec
lea ecx, [esp + 0x4b0]
push ecx
call dword [sym.imp.MSVCR100.dll_atoi]
mov esi, eax
lea eax, [esi - 0xa]
add esp, 4
cmp eax, 0x3c
ja case.0x46a0e8.11
movzx edx, byte [eax + 0x46b544]
jmp dword [edx*4 + 0x46b534]
cmp esi, 0xa
jne 0x46a14d
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x54]
add esp, 4
cmp byte [esp + 0x44], 0
mov bl, 1
je 0x46a082
fld qword [esp + 0x60]
mov edx, dword [esp + 0x6c]
sub esp, 0x18
fstp qword [esp + 0x10]
mov byte [edx], 1
fld qword [esp + 0x70]
fstp qword [esp + 8]
fld qword [esp + 0x68]
fstp qword [esp]
call fcn.00453c20
fldz
add esp, 0x18
xor bl, bl
fstp qword [esp + 0x60]
mov byte [esp + 0x44], bl
jmp case.0x46a0e8.11
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x5c]
add esp, 4
mov byte [esp + 0x44], 1
test bl, bl
je case.0x46a0e8.11
jmp 0x46a116
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x64]
add esp, 4
jmp case.0x46a0e8.11
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 4
and al, 1
mov byte [esp + 0x45], al
test esi, esi
jne 0x46a082
cmp byte [esp + 0x45], 0
je 0x46b0aa
fld qword [esp + 0x60]
sub esp, 8
fstp qword [esp]
call fcn.00453b10
add esp, 8
jmp 0x46b0aa
mov ecx, str.POLYLINE
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a1f1
test dl, dl
je 0x46a1ed
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a1f1
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a1d1
xor eax, eax
jmp 0x46a1f6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a367
mov byte [esp + 0x45], al
push 0
push 0x400
lea edx, [esp + 0x4b8]
push edx
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b133
push 1
push 0x400
lea eax, [esp + 0xb0]
push eax
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b133
lea ecx, [esp + 0x4b0]
push ecx
call ebx
add esp, 4
cmp eax, 0x46
jne 0x46a269
lea edx, [esp + 0xa8]
push edx
call ebx
add esp, 4
and al, 1
mov byte [esp + 0x45], al
jmp 0x46a202
test eax, eax
jne 0x46a202
mov ecx, 0x4c2728
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a2a0
test dl, dl
je 0x46a29c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a2a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a280
xor eax, eax
jmp 0x46a2a5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46a34f
lea ecx, [ecx]
push 0
push 0x400
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b17a
push 1
push 0x400
lea ecx, [esp + 0xb0]
push ecx
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b17a
mov ecx, 0x4c2768
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a320
test dl, dl
je 0x46a31c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a320
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a300
xor eax, eax
jmp 0x46a325
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a2b0
push 0x400
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b1c1
call fcn.00453af0
fldz
fstp qword [esp + 0x80]
mov byte [esp + 0x46], 1
jmp 0x46b0aa
mov ecx, str.VERTEX
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a393
test dl, dl
je 0x46a38f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a393
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a373
xor eax, eax
jmp 0x46a398
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a4ba
fldz
xor bl, bl
mov byte [esp + 0x44], bl
fstp qword [esp + 0x60]
lea esp, [esp]
push 0
push 0x400
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b208
push 1
push 0x400
lea edx, [esp + 0xb0]
push edx
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b208
lea eax, [esp + 0x4b0]
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 4
cmp eax, 0xa
je 0x46a442
cmp eax, 0x14
je 0x46a423
cmp eax, 0x2a
jne 0x46a45e
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.MSVCR100.dll_atof]
add esp, 4
jmp 0x46a3a8
lea edx, [esp + 0xa8]
push edx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x5c]
add esp, 4
mov byte [esp + 0x44], 1
jmp 0x46a3b0
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x54]
add esp, 4
mov bl, 1
jmp 0x46a3b0
test eax, eax
jne 0x46a3b0
cmp byte [esp + 0x46], al
je 0x46b0aa
test bl, bl
je 0x46b0aa
cmp byte [esp + 0x44], al
je 0x46b0aa
fld qword [esp + 0x80]
sub esp, 0x18
fstp qword [esp + 0x10]
mov byte [esi], 1
fld qword [esp + 0x70]
fstp qword [esp + 8]
fld qword [esp + 0x68]
fstp qword [esp]
call fcn.00453c20
fld qword [esp + 0x78]
add esp, 0x18
fstp qword [esp + 0x80]
jmp 0x46b0aa
mov ecx, str.SEQEND
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a4e6
test dl, dl
je 0x46a4e2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a4e6
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a4c6
xor eax, eax
jmp 0x46a4eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a580
cmp byte [esp + 0x45], al
je 0x46a50e
fld qword [esp + 0x80]
sub esp, 8
fstp qword [esp]
call fcn.00453b10
add esp, 8
push 0x400
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x4b8]
push edx
push edi
mov byte [esp + 0x56], 0
call fcn.00469de0
add esp, 0x10
test al, al
jne 0x46b0aa
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c27f0
push 0x4c2818
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov al, byte [esp + 0xa8]
cmp al, 0x24
jne 0x46a5f8
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
jne 0x46b0aa
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2828
push 0x4c2850
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
cmp al, 0x7b
lea eax, [esp + 0xa8]
jne 0x46a765
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46a610
sub eax, edx
cmp byte [esp + eax + 0xa7], 0x7d
je 0x46a6f8
jmp 0x46a630
push 0x400
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b24f
mov ecx, 0x4c2898
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a682
test dl, dl
je 0x46a67e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a682
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a662
xor eax, eax
jmp 0x46a687
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a630
push 0x400
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x4b8]
push edx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
jne 0x46b0aa
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c289c
push 0x4c28c4
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
jne 0x46b0aa
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c28d4
push 0x4c28fc
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, str.LAYER
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a790
test dl, dl
je 0x46a78c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a790
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a770
xor eax, eax
jmp 0x46a795
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a7dc
lea esp, [esp]
push 0x400
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b296
lea ecx, [esp + 0x4b0]
push ecx
call ebx
add esp, 4
test eax, eax
jne 0x46a7a0
jmp 0x46b0aa
mov ecx, str.BLOCK
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a808
test dl, dl
je 0x46a804
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a808
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a7e8
xor eax, eax
jmp 0x46a80d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a8e8
jmp 0x46a820
push 0x400
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b2dd
mov ecx, str.ENDBLK
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a872
test dl, dl
je 0x46a86e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a872
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a852
xor eax, eax
jmp 0x46a877
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a820
push 0x400
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x4b8]
push edx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
jne 0x46b0aa
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2994
push 0x4c29bc
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, str.INSERT
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a914
test dl, dl
je 0x46a910
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a914
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a8f4
xor eax, eax
jmp 0x46a919
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a95c
lea ecx, [ecx]
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b324
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x46a920
jmp 0x46b0aa
mov ecx, str.SPLINE
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46a988
test dl, dl
je 0x46a984
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46a988
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a968
xor eax, eax
jmp 0x46a98d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46a9cd
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b36b
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x46a991
jmp 0x46b0aa
mov ecx, str.ELLIPSE
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46aa00
test dl, dl
je 0x46a9fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46aa00
add eax, 2
add ecx, 2
test dl, dl
jne 0x46a9e0
xor eax, eax
jmp 0x46aa05
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46aa4c
lea esp, [esp]
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b3b2
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x46aa10
jmp 0x46b0aa
mov ecx, str.TEXT
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46aa78
test dl, dl
je 0x46aa74
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46aa78
add eax, 2
add ecx, 2
test dl, dl
jne 0x46aa58
xor eax, eax
jmp 0x46aa7d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46aabd
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b3f9
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x46aa81
jmp 0x46b0aa
mov ecx, str.DIMENSION
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46aaf0
test dl, dl
je 0x46aaec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46aaf0
add eax, 2
add ecx, 2
test dl, dl
jne 0x46aad0
xor eax, eax
jmp 0x46aaf5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46ab3c
lea esp, [esp]
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b440
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x46ab00
jmp 0x46b0aa
mov ecx, str.HATCH
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46ab68
test dl, dl
je 0x46ab64
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46ab68
add eax, 2
add ecx, 2
test dl, dl
jne 0x46ab48
xor eax, eax
jmp 0x46ab6d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46abad
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
je 0x46b487
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x46ab71
jmp 0x46b0aa
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.00469de0
add esp, 0x10
test al, al
jne 0x46b0aa
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push str.ReadDXFFile_____premature_end_of_file__n
push 0x4c2b78
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
xor bl, bl
mov byte [esp + 0x44], 0
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4f], bl
mov byte [esp + 0x49], bl
mov byte [esp + 0x4d], bl
mov byte [esp + 0x47], bl
mov byte [esp + 0x4a], bl
mov byte [esp + 0x48], bl
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4c], bl
mov ecx, str.POINT
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46ac71
test dl, dl
je 0x46ac6d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46ac71
add eax, 2
add ecx, 2
test dl, dl
jne 0x46ac51
xor eax, eax
jmp 0x46ac76
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46ac7f
mov byte [esp + 0x4c], 1
mov ecx, str.LINE
lea eax, [esp + 0xa8]
jmp 0x46ac90
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46acb0
test dl, dl
je 0x46acac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46acb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x46ac90
xor eax, eax
jmp 0x46acb5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46acbe
mov byte [esp + 0x4e], 1
mov ecx, 0x4c265c
lea eax, [esp + 0xa8]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46acf0
test dl, dl
je 0x46acec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46acf0
add eax, 2
add ecx, 2
test dl, dl
jne 0x46acd0
xor eax, eax
jmp 0x46acf5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46acfe
mov byte [esp + 0x48], 1
mov ecx, str.CIRCLE
lea eax, [esp + 0xa8]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46ad30
test dl, dl
je 0x46ad2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46ad30
add eax, 2
add ecx, 2
test dl, dl
jne 0x46ad10
xor eax, eax
jmp 0x46ad35
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46ad40
mov byte [esp + 0x4a], 1
mov edi, edi
push 0
push 0x400
lea edx, [esp + 0x4b8]
push edx
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b4ce
push 1
push 0x400
lea eax, [esp + 0xb0]
push eax
push edi
call fcn.00469d30
add esp, 0x10
test al, al
je 0x46b4ce
lea ecx, [esp + 0x4b0]
push ecx
call dword [sym.imp.MSVCR100.dll_atoi]
mov esi, eax
lea eax, [esi - 0xa]
add esp, 4
cmp eax, 0x29
ja case.0x46ada6.12
movzx edx, byte [eax + 0x46b5a4]
jmp dword [edx*4 + 0x46b584]
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x54]
mov bl, 1
jmp 0x46ae66
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x5c]
mov byte [esp + 0x48], 1
jmp 0x46ae66
lea edx, [esp + 0xa8]
push edx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x9c]
mov byte [esp + 0x53], 1
jmp 0x46ae66
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x94]
mov byte [esp + 0x4f], 1
jmp 0x46ae66
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x74]
mov byte [esp + 0x4b], 1
jmp 0x46ae66
lea edx, [esp + 0xa8]
push edx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x7c]
mov byte [esp + 0x51], 1
jmp 0x46ae66
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x8c]
mov byte [esp + 0x4d], 1
add esp, 4
test esi, esi
jne 0x46ad40
test bl, bl
je 0x46b0aa
cmp byte [esp + 0x44], 0
je 0x46b0aa
cmp byte [esp + 0x4e], 0
mov ecx, dword [esp + 0x6c]
mov byte [ecx], 1
je 0x46aedc
cmp byte [esp + 0x4f], 0
je 0x46aedc
cmp byte [esp + 0x4b], 0
je 0x46aedc
mov edx, dword [0x4b95ec]
fld qword [esp + 0x90]
push edx
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [esp + 0xbc]
fstp qword [esp + 0x10]
fld qword [esp + 0x7c]
fstp qword [esp + 8]
fld qword [esp + 0x74]
fstp qword [esp]
call fcn.00453100
add esp, 0x24
jmp 0x46b0aa
cmp byte [esp + 0x48], 0
je 0x46afc5
cmp byte [esp + 0x47], 0
je 0x46afc5
cmp byte [esp + 0x4d], 0
je 0x46afc5
cmp byte [esp + 0x49], 0
je 0x46afc5
fld qword [esp + 0x78]
mov eax, dword [0x4b95ec]
fld qword [0x4b96b0]
push eax
fmul st(1), st(0)
push 1
fxch st(1)
sub esp, 0x10
fstp qword [esp + 0x90]
fmul qword [esp + 0xa0]
fst qword [esp + 0xa0]
fld qword [esp + 0x70]
fstp qword [esp + 8]
fld qword [esp + 0x68]
fstp qword [esp]
call sub.MSVCR100.dll__CIsin
fmul qword [esp + 0x88]
sub esp, 8
fadd qword [esp + 0x78]
fstp qword [esp]
fld qword [esp + 0xa8]
call sub.MSVCR100.dll__CIcos
fmul qword [esp + 0x90]
sub esp, 8
fadd qword [esp + 0x78]
fstp qword [esp]
fld qword [esp + 0xa0]
call sub.MSVCR100.dll__CIsin
fmul qword [esp + 0x98]
sub esp, 8
fadd qword [esp + 0x88]
fstp qword [esp]
fld qword [esp + 0xa8]
call sub.MSVCR100.dll__CIcos
fmul qword [esp + 0xa0]
sub esp, 8
fadd qword [esp + 0x88]
fstp qword [esp]
call fcn.00453220
add esp, 0x38
jmp 0x46b0aa
cmp byte [esp + 0x4a], 0
je 0x46b07c
cmp byte [esp + 0x47], 0
je 0x46b07c
fld qword [esp + 0x50]
mov ecx, dword [0x4b95ec]
fld st(0)
push ecx
fld qword [esp + 0x74]
push 1
fsub st(1), st(0)
sub esp, 0x30
fxch st(1)
fst qword [esp + 0xd8]
fxch st(1)
fadd st(2)
fst qword [esp + 0x98]
fld qword [esp + 0x90]
fst qword [esp + 0x28]
fxch st(3)
fstp qword [esp + 0x20]
fxch st(2)
fst qword [esp + 0x18]
fxch st(1)
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.00453220
mov edx, dword [0x4b95ec]
fld qword [esp + 0x90]
add esp, 0x38
push edx
push 1
sub esp, 0x30
fst qword [esp + 0x28]
fld qword [esp + 0x88]
fstp qword [esp + 0x20]
fst qword [esp + 0x18]
fld qword [esp + 0x98]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fld qword [esp + 0xd8]
fstp qword [esp]
call fcn.00453220
add esp, 0x38
jmp 0x46b0aa
cmp byte [esp + 0x4c], 0
je 0x46b0aa
mov eax, dword [0x4b95e8]
fld qword [esp + 0x58]
push eax
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x64]
fstp qword [esp]
call fcn.004530e0
add esp, 0x14
mov byte [0x4d30d8], 1
mov ecx, 0x4c262c
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46b0d6
test dl, dl
je 0x46b0d2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46b0d6
add eax, 2
add ecx, 2
test dl, dl
jne 0x46b0b6
xor eax, eax
jmp 0x46b0db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46b515
mov esi, dword [esp + 0x6c]
jmp 0x469f33
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c26ac
push 0x4c26d4
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c26f0
push 0x4c2718
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2730
push 0x4c2758
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2770
push 0x4c2798
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c27b0
push 0x4c27d8
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2860
push 0x4c2888
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2914
push 0x4c293c
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2954
push 0x4c297c
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c29d4
push 0x4c29fc
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2a14
push 0x4c2a3c
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2a54
push 0x4c2a7c
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2a94
push 0x4c2abc
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2ad8
push 0x4c2b00
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2b18
push 0x4c2b40
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x652212], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4c2668
push 0x4c2690
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
call esi
add eax, 0x40
push eax
call edi
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
push edi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
mov ecx, dword [esp + 0x8bc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0049f322
mov esp, ebp
pop ebp
ret