Function at 0x43d39f
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x8b4
mov eax, dword [0x4b3fa0]
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 0x4af7dc
fst qword [esp + 0x7c]
push eax
fstp qword [esp + 0x90]
mov dword [esp + 0x74], esi
fld qword [0x4a4cc8]
mov byte [esp + 0x4d], 0
fst qword [0x1cd4718]
mov byte [esp + 0x4e], 0
fstp qword [0x1cd4710]
mov byte [0x73b999], 0
fld qword [0x4a4e88]
fst qword [0x1cd4758]
fstp qword [0x1cd4750]
call fcn.0043b0e0
push 0
mov edi, eax
push 0x400
lea eax, [esp + 0x4c0]
push eax
push edi
call fcn.0043cfe0
add esp, 0x18
test al, al
je 0x43e7cf
push 1
push 0x400
lea ecx, [esp + 0xb0]
push ecx
push edi
call fcn.0043cfe0
add esp, 0x10
test al, al
je 0x43e7cf
mov ecx, 0x4af7e0
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d1d6
test dl, dl
je 0x43d1d2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d1d6
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d1b6
xor eax, eax
jmp 0x43d1db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43e7c5
mov ebx, dword [sym.imp.MSVCR100.dll_atoi]
mov ecx, 0x4af7e4
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d215
test dl, dl
je 0x43d211
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d215
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d1f5
xor eax, eax
jmp 0x43d21a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43deca
mov ecx, 0x4af7ec
lea eax, [esp + 0xa8]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d250
test dl, dl
je 0x43d24c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d250
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d230
xor eax, eax
jmp 0x43d255
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43deca
mov ecx, 0x4af7f4
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d290
test dl, dl
je 0x43d28c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d290
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d270
xor eax, eax
jmp 0x43d295
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43deca
mov ecx, 0x4af7fc
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d2d0
test dl, dl
je 0x43d2cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d2d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d2b0
xor eax, eax
jmp 0x43d2d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43deca
mov ecx, str.LWPOLYLINE
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d310
test dl, dl
je 0x43d30c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d310
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d2f0
xor eax, eax
jmp 0x43d315
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43d475
call fcn.00436c20
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.0043cfe0
add esp, 0x10
test al, al
je 0x43e39c
push 1
push 0x400
lea eax, [esp + 0xb0]
push eax
push edi
call fcn.0043cfe0
add esp, 0x10
test al, al
je 0x43e39c
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.0x43d398.11
movzx edx, byte [eax + 0x43e7f4]
jmp dword [edx*4 + 0x43e7e4]
cmp esi, 0xa
jne 0x43d3fd
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 0x43d332
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.00436d50
fldz
add esp, 0x18
xor bl, bl
fstp qword [esp + 0x60]
mov byte [esp + 0x44], bl
jmp case.0x43d398.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.0x43d398.11
jmp 0x43d3c6
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x64]
add esp, 4
jmp case.0x43d398.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 0x43d332
cmp byte [esp + 0x45], 0
je 0x43e35a
fld qword [esp + 0x60]
sub esp, 8
fstp qword [esp]
call fcn.00436c40
add esp, 8
jmp 0x43e35a
mov ecx, str.POLYLINE
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d4a1
test dl, dl
je 0x43d49d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d4a1
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d481
xor eax, eax
jmp 0x43d4a6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43d617
mov byte [esp + 0x45], al
push 0
push 0x400
lea edx, [esp + 0x4b8]
push edx
push edi
call fcn.0043cfe0
add esp, 0x10
test al, al
je 0x43e3e3
push 1
push 0x400
lea eax, [esp + 0xb0]
push eax
push edi
call fcn.0043cfe0
add esp, 0x10
test al, al
je 0x43e3e3
lea ecx, [esp + 0x4b0]
push ecx
call ebx
add esp, 4
cmp eax, 0x46
jne 0x43d519
lea edx, [esp + 0xa8]
push edx
call ebx
add esp, 4
and al, 1
mov byte [esp + 0x45], al
jmp 0x43d4b2
test eax, eax
jne 0x43d4b2
mov ecx, 0x4af8dc
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d550
test dl, dl
je 0x43d54c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d550
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d530
xor eax, eax
jmp 0x43d555
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43d5ff
lea ecx, [ecx]
push 0
push 0x400
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.0043cfe0
add esp, 0x10
test al, al
je 0x43e42a
push 1
push 0x400
lea ecx, [esp + 0xb0]
push ecx
push edi
call fcn.0043cfe0
add esp, 0x10
test al, al
je 0x43e42a
mov ecx, 0x4af91c
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d5d0
test dl, dl
je 0x43d5cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d5d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d5b0
xor eax, eax
jmp 0x43d5d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43d560
push 0x400
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e471
call fcn.00436c20
fldz
fstp qword [esp + 0x80]
mov byte [esp + 0x46], 1
jmp 0x43e35a
mov ecx, str.VERTEX
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d643
test dl, dl
je 0x43d63f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d643
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d623
xor eax, eax
jmp 0x43d648
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43d76a
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.0043cfe0
add esp, 0x10
test al, al
je 0x43e4b8
push 1
push 0x400
lea edx, [esp + 0xb0]
push edx
push edi
call fcn.0043cfe0
add esp, 0x10
test al, al
je 0x43e4b8
lea eax, [esp + 0x4b0]
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 4
cmp eax, 0xa
je 0x43d6f2
cmp eax, 0x14
je 0x43d6d3
cmp eax, 0x2a
jne 0x43d70e
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.MSVCR100.dll_atof]
add esp, 4
jmp 0x43d658
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 0x43d660
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x54]
add esp, 4
mov bl, 1
jmp 0x43d660
test eax, eax
jne 0x43d660
cmp byte [esp + 0x46], al
je 0x43e35a
test bl, bl
je 0x43e35a
cmp byte [esp + 0x44], al
je 0x43e35a
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.00436d50
fld qword [esp + 0x78]
add esp, 0x18
fstp qword [esp + 0x80]
jmp 0x43e35a
mov ecx, str.SEQEND
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d796
test dl, dl
je 0x43d792
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d796
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d776
xor eax, eax
jmp 0x43d79b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43d830
cmp byte [esp + 0x45], al
je 0x43d7be
fld qword [esp + 0x80]
sub esp, 8
fstp qword [esp]
call fcn.00436c40
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.0043d090
add esp, 0x10
test al, al
jne 0x43e35a
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4af9a4
push 0x4af9cc
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 0x43d8a8
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
jne 0x43e35a
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4af9dc
push 0x4afa04
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 0x43da15
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43d8c0
sub eax, edx
cmp byte [esp + eax + 0xa7], 0x7d
je 0x43d9a8
jmp 0x43d8e0
push 0x400
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e4ff
mov ecx, 0x4afa4c
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d932
test dl, dl
je 0x43d92e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d932
add eax, 2
add ecx, 2
test dl, dl
jne 0x43d912
xor eax, eax
jmp 0x43d937
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43d8e0
push 0x400
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x4b8]
push edx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
jne 0x43e35a
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afa50
push 0x4afa78
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.0043d090
add esp, 0x10
test al, al
jne 0x43e35a
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afa88
push 0x4afab0
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 0x43da40
test dl, dl
je 0x43da3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43da40
add eax, 2
add ecx, 2
test dl, dl
jne 0x43da20
xor eax, eax
jmp 0x43da45
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43da8c
lea esp, [esp]
push 0x400
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e546
lea ecx, [esp + 0x4b0]
push ecx
call ebx
add esp, 4
test eax, eax
jne 0x43da50
jmp 0x43e35a
mov ecx, str.BLOCK
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43dab8
test dl, dl
je 0x43dab4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43dab8
add eax, 2
add ecx, 2
test dl, dl
jne 0x43da98
xor eax, eax
jmp 0x43dabd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43db98
jmp 0x43dad0
push 0x400
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x4b8]
push eax
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e58d
mov ecx, str.ENDBLK
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43db22
test dl, dl
je 0x43db1e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43db22
add eax, 2
add ecx, 2
test dl, dl
jne 0x43db02
xor eax, eax
jmp 0x43db27
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43dad0
push 0x400
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x4b8]
push edx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
jne 0x43e35a
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afb48
push 0x4afb70
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 0x43dbc4
test dl, dl
je 0x43dbc0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43dbc4
add eax, 2
add ecx, 2
test dl, dl
jne 0x43dba4
xor eax, eax
jmp 0x43dbc9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43dc0c
lea ecx, [ecx]
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e5d4
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x43dbd0
jmp 0x43e35a
mov ecx, str.SPLINE
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43dc38
test dl, dl
je 0x43dc34
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43dc38
add eax, 2
add ecx, 2
test dl, dl
jne 0x43dc18
xor eax, eax
jmp 0x43dc3d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43dc7d
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e61b
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x43dc41
jmp 0x43e35a
mov ecx, str.ELLIPSE
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43dcb0
test dl, dl
je 0x43dcac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43dcb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43dc90
xor eax, eax
jmp 0x43dcb5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43dcfc
lea esp, [esp]
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e662
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x43dcc0
jmp 0x43e35a
mov ecx, str.TEXT
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43dd28
test dl, dl
je 0x43dd24
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43dd28
add eax, 2
add ecx, 2
test dl, dl
jne 0x43dd08
xor eax, eax
jmp 0x43dd2d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43dd6d
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e6a9
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x43dd31
jmp 0x43e35a
mov ecx, str.DIMENSION
lea eax, [esp + 0xa8]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43dda0
test dl, dl
je 0x43dd9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43dda0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43dd80
xor eax, eax
jmp 0x43dda5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43ddec
lea esp, [esp]
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e6f0
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x43ddb0
jmp 0x43e35a
mov ecx, str.HATCH
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43de18
test dl, dl
je 0x43de14
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43de18
add eax, 2
add ecx, 2
test dl, dl
jne 0x43ddf8
xor eax, eax
jmp 0x43de1d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43de5d
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
je 0x43e737
lea edx, [esp + 0x4b0]
push edx
call ebx
add esp, 4
test eax, eax
jne 0x43de21
jmp 0x43e35a
push 0x400
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x4b8]
push ecx
push edi
call fcn.0043d090
add esp, 0x10
test al, al
jne 0x43e35a
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x1cd46f3], 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 0x4afd2c
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 0x43df21
test dl, dl
je 0x43df1d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43df21
add eax, 2
add ecx, 2
test dl, dl
jne 0x43df01
xor eax, eax
jmp 0x43df26
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43df2f
mov byte [esp + 0x4c], 1
mov ecx, str.LINE
lea eax, [esp + 0xa8]
jmp 0x43df40
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43df60
test dl, dl
je 0x43df5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43df60
add eax, 2
add ecx, 2
test dl, dl
jne 0x43df40
xor eax, eax
jmp 0x43df65
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43df6e
mov byte [esp + 0x4e], 1
mov ecx, 0x4af810
lea eax, [esp + 0xa8]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43dfa0
test dl, dl
je 0x43df9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43dfa0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43df80
xor eax, eax
jmp 0x43dfa5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43dfae
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 0x43dfe0
test dl, dl
je 0x43dfdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43dfe0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43dfc0
xor eax, eax
jmp 0x43dfe5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43dff0
mov byte [esp + 0x4a], 1
mov edi, edi
push 0
push 0x400
lea edx, [esp + 0x4b8]
push edx
push edi
call fcn.0043cfe0
add esp, 0x10
test al, al
je 0x43e77e
push 1
push 0x400
lea eax, [esp + 0xb0]
push eax
push edi
call fcn.0043cfe0
add esp, 0x10
test al, al
je 0x43e77e
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.0x43e056.12
movzx edx, byte [eax + 0x43e854]
jmp dword [edx*4 + 0x43e834]
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x54]
mov bl, 1
jmp 0x43e116
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x5c]
mov byte [esp + 0x48], 1
jmp 0x43e116
lea edx, [esp + 0xa8]
push edx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x9c]
mov byte [esp + 0x53], 1
jmp 0x43e116
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x94]
mov byte [esp + 0x4f], 1
jmp 0x43e116
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x74]
mov byte [esp + 0x4b], 1
jmp 0x43e116
lea edx, [esp + 0xa8]
push edx
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [esp + 0x7c]
mov byte [esp + 0x51], 1
jmp 0x43e116
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 0x43dff0
test bl, bl
je 0x43e35a
cmp byte [esp + 0x44], 0
je 0x43e35a
cmp byte [esp + 0x4e], 0
mov ecx, dword [esp + 0x6c]
mov byte [ecx], 1
je 0x43e18c
cmp byte [esp + 0x4f], 0
je 0x43e18c
cmp byte [esp + 0x4b], 0
je 0x43e18c
mov edx, dword [0x4a4e00]
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.00436230
add esp, 0x24
jmp 0x43e35a
cmp byte [esp + 0x48], 0
je 0x43e275
cmp byte [esp + 0x47], 0
je 0x43e275
cmp byte [esp + 0x4d], 0
je 0x43e275
cmp byte [esp + 0x49], 0
je 0x43e275
fld qword [esp + 0x78]
mov eax, dword [0x4a4e00]
fld qword [0x4a4e80]
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.libmmd.dll__CIsin
fmul qword [esp + 0x88]
sub esp, 8
fadd qword [esp + 0x78]
fstp qword [esp]
fld qword [esp + 0xa8]
call sub.libmmd.dll__CIcos
fmul qword [esp + 0x90]
sub esp, 8
fadd qword [esp + 0x78]
fstp qword [esp]
fld qword [esp + 0xa0]
call sub.libmmd.dll__CIsin
fmul qword [esp + 0x98]
sub esp, 8
fadd qword [esp + 0x88]
fstp qword [esp]
fld qword [esp + 0xa8]
call sub.libmmd.dll__CIcos
fmul qword [esp + 0xa0]
sub esp, 8
fadd qword [esp + 0x88]
fstp qword [esp]
call fcn.00436350
add esp, 0x38
jmp 0x43e35a
cmp byte [esp + 0x4a], 0
je 0x43e32c
cmp byte [esp + 0x47], 0
je 0x43e32c
fld qword [esp + 0x50]
mov ecx, dword [0x4a4e00]
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.00436350
mov edx, dword [0x4a4e00]
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.00436350
add esp, 0x38
jmp 0x43e35a
cmp byte [esp + 0x4c], 0
je 0x43e35a
mov eax, dword [0x4a4dfc]
fld qword [esp + 0x58]
push eax
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x64]
fstp qword [esp]
call fcn.00436210
add esp, 0x14
mov byte [0x73b999], 1
mov ecx, 0x4af7e0
lea eax, [esp + 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43e386
test dl, dl
je 0x43e382
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43e386
add eax, 2
add ecx, 2
test dl, dl
jne 0x43e366
xor eax, eax
jmp 0x43e38b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43e7c5
mov esi, dword [esp + 0x6c]
jmp 0x43d1e3
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
mov byte [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4af860
push 0x4af888
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4af8a4
push 0x4af8cc
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4af8e4
push 0x4af90c
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4af924
push 0x4af94c
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4af964
push 0x4af98c
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afa14
push 0x4afa3c
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afac8
push 0x4afaf0
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afb08
push 0x4afb30
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afb88
push 0x4afbb0
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afbc8
push 0x4afbf0
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afc08
push 0x4afc30
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afc48
push 0x4afc70
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afc8c
push 0x4afcb4
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4afccc
push 0x4afcf4
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 [0x1cd46f3], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call edi
add esp, 4
push 0x4af81c
push 0x4af844
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.00480dbe
mov esp, ebp
pop ebp
ret