45fefa:	6a 00                	push   $0x0
45fefc:	ff 75 d0             	push   -0x30(%ebp)
45feff:	6a 01                	push   $0x1
45ff01:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45ff04:	ff 33                	push   (%ebx)
45ff06:	ff 75 08             	push   0x8(%ebp)
45ff09:	8b 04 24             	mov    (%esp),%eax
45ff0c:	8b 00                	mov    (%eax),%eax
45ff0e:	8b 00                	mov    (%eax),%eax
45ff10:	ff 90 90 01 00 00    	call   *0x190(%eax)
45ff16:	85 c0                	test   %eax,%eax
45ff18:	0f 84 b2 00 00 00    	je     0x45ffd0
45ff1e:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ff21:	8b 1b                	mov    (%ebx),%ebx
45ff23:	81 c3 38 01 00 00    	add    $0x138,%ebx
45ff29:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45ff2c:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
45ff33:	6a 00                	push   $0x0
45ff35:	ff 75 d0             	push   -0x30(%ebp)
45ff38:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45ff3b:	ff 33                	push   (%ebx)
45ff3d:	ff 75 08             	push   0x8(%ebp)
45ff40:	8b 04 24             	mov    (%esp),%eax
45ff43:	8b 00                	mov    (%eax),%eax
45ff45:	8b 00                	mov    (%eax),%eax
45ff47:	ff 90 b4 01 00 00    	call   *0x1b4(%eax)
45ff4d:	89 45 ec             	mov    %eax,-0x14(%ebp)
45ff50:	83 7d ec 02          	cmpl   $0x2,-0x14(%ebp)
45ff54:	0f 84 76 00 00 00    	je     0x45ffd0
45ff5a:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
45ff5e:	0f 84 6c 00 00 00    	je     0x45ffd0
45ff64:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ff67:	8b 1b                	mov    (%ebx),%ebx
45ff69:	81 c3 38 01 00 00    	add    $0x138,%ebx
45ff6f:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45ff72:	6a 01                	push   $0x1
45ff74:	68 00 00 00 00       	push   $0x0
45ff79:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45ff7c:	ff 33                	push   (%ebx)
45ff7e:	ff 75 08             	push   0x8(%ebp)
45ff81:	8b 04 24             	mov    (%esp),%eax
45ff84:	8b 00                	mov    (%eax),%eax
45ff86:	8b 00                	mov    (%eax),%eax
45ff88:	ff 90 b4 01 00 00    	call   *0x1b4(%eax)
45ff8e:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ff91:	8b 1b                	mov    (%ebx),%ebx
45ff93:	81 c3 38 01 00 00    	add    $0x138,%ebx
45ff99:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45ff9c:	68 01 00 00 00       	push   $0x1
45ffa1:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45ffa4:	ff 33                	push   (%ebx)
45ffa6:	ff 75 10             	push   0x10(%ebp)
45ffa9:	ff 75 08             	push   0x8(%ebp)
45ffac:	8b 04 24             	mov    (%esp),%eax
45ffaf:	8b 00                	mov    (%eax),%eax
45ffb1:	8b 00                	mov    (%eax),%eax
45ffb3:	ff 90 84 01 00 00    	call   *0x184(%eax)
45ffb9:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ffbc:	8b 1b                	mov    (%ebx),%ebx
45ffbe:	81 c3 38 01 00 00    	add    $0x138,%ebx
45ffc4:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45ffc7:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45ffca:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45ffd0:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ffd3:	8b 1b                	mov    (%ebx),%ebx
45ffd5:	81 c3 50 01 00 00    	add    $0x150,%ebx
45ffdb:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45ffde:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45ffe1:	83 3b 00             	cmpl   $0x0,(%ebx)
45ffe4:	0f 84 21 00 00 00    	je     0x46000b
45ffea:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ffed:	8b 1b                	mov    (%ebx),%ebx
45ffef:	81 c3 9c 01 00 00    	add    $0x19c,%ebx
45fff5:	89 5d cc             	mov    %ebx,-0x34(%ebp)
45fff8:	8b 5d cc             	mov    -0x34(%ebp),%ebx
45fffb:	83 3b 00             	cmpl   $0x0,(%ebx)
45fffe:	0f 84 07 00 00 00    	je     0x46000b
460004:	b8 01 00 00 00       	mov    $0x1,%eax
460009:	eb 05                	jmp    0x460010
46000b:	b8 00 00 00 00       	mov    $0x0,%eax
460010:	85 c0                	test   %eax,%eax
460012:	0f 84 3b 00 00 00    	je     0x460053
460018:	6a 01                	push   $0x1
46001a:	68 01 00 00 00       	push   $0x1
46001f:	68 00 00 00 00       	push   $0x0
460024:	68 00 00 00 00       	push   $0x0
460029:	ff 75 10             	push   0x10(%ebp)
46002c:	ff 75 08             	push   0x8(%ebp)
46002f:	8b 04 24             	mov    (%esp),%eax
460032:	8b 00                	mov    (%eax),%eax
460034:	8b 00                	mov    (%eax),%eax
460036:	ff 90 7c 01 00 00    	call   *0x17c(%eax)
46003c:	8b 5d 08             	mov    0x8(%ebp),%ebx
46003f:	8b 1b                	mov    (%ebx),%ebx
460041:	81 c3 50 01 00 00    	add    $0x150,%ebx
460047:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
46004a:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
46004d:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
460053:	e9 ca 32 00 00       	jmp    0x463322
460058:	81 7d 14 00 02 00 00 	cmpl   $0x200,0x14(%ebp)
46005f:	0f 85 6a 0d 00 00    	jne    0x460dcf
460065:	83 7d 18 01          	cmpl   $0x1,0x18(%ebp)
460069:	0f 85 d6 06 00 00    	jne    0x460745
46006f:	8b 5d 08             	mov    0x8(%ebp),%ebx
460072:	8b 1b                	mov    (%ebx),%ebx
460074:	81 c3 a4 01 00 00    	add    $0x1a4,%ebx
46007a:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
46007d:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
460080:	83 3b 00             	cmpl   $0x0,(%ebx)
460083:	0f 85 21 00 00 00    	jne    0x4600aa
460089:	8b 5d 08             	mov    0x8(%ebp),%ebx
46008c:	8b 1b                	mov    (%ebx),%ebx
46008e:	81 c3 a0 01 00 00    	add    $0x1a0,%ebx
460094:	89 5d cc             	mov    %ebx,-0x34(%ebp)
460097:	8b 5d cc             	mov    -0x34(%ebp),%ebx
46009a:	83 3b 00             	cmpl   $0x0,(%ebx)
46009d:	0f 85 07 00 00 00    	jne    0x4600aa
4600a3:	b8 01 00 00 00       	mov    $0x1,%eax
4600a8:	eb 05                	jmp    0x4600af
4600aa:	b8 00 00 00 00       	mov    $0x0,%eax
4600af:	85 c0                	test   %eax,%eax
4600b1:	0f 84 a4 00 00 00    	je     0x46015b
4600b7:	6a 01                	push   $0x1
4600b9:	8d 45 e0             	lea    -0x20(%ebp),%eax
4600bc:	50                   	push   %eax
4600bd:	6a 01                	push   $0x1
4600bf:	8d 45 f4             	lea    -0xc(%ebp),%eax
4600c2:	50                   	push   %eax
4600c3:	6a 01                	push   $0x1
4600c5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4600c8:	50                   	push   %eax
4600c9:	8d 45 ec             	lea    -0x14(%ebp),%eax
4600cc:	50                   	push   %eax
4600cd:	ff 75 1c             	push   0x1c(%ebp)
4600d0:	ff 75 08             	push   0x8(%ebp)
4600d3:	8b 04 24             	mov    (%esp),%eax
4600d6:	8b 00                	mov    (%eax),%eax
4600d8:	8b 00                	mov    (%eax),%eax
4600da:	ff 90 9c 01 00 00    	call   *0x19c(%eax)
4600e0:	89 45 e8             	mov    %eax,-0x18(%ebp)
4600e3:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
4600e7:	0f 85 5f 00 00 00    	jne    0x46014c
4600ed:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4600f4:	6a 00                	push   $0x0
4600f6:	ff 75 d4             	push   -0x2c(%ebp)
4600f9:	6a 01                	push   $0x1
4600fb:	ff 75 ec             	push   -0x14(%ebp)
4600fe:	ff 75 08             	push   0x8(%ebp)
460101:	8b 04 24             	mov    (%esp),%eax
460104:	8b 00                	mov    (%eax),%eax
460106:	8b 00                	mov    (%eax),%eax
460108:	ff 90 90 01 00 00    	call   *0x190(%eax)
46010e:	85 c0                	test   %eax,%eax
460110:	0f 84 36 00 00 00    	je     0x46014c
460116:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
46011d:	6a 00                	push   $0x0
46011f:	ff 75 d4             	push   -0x2c(%ebp)
460122:	ff 75 ec             	push   -0x14(%ebp)
460125:	ff 75 08             	push   0x8(%ebp)
460128:	8b 04 24             	mov    (%esp),%eax
46012b:	8b 00                	mov    (%eax),%eax
46012d:	8b 00                	mov    (%eax),%eax
46012f:	ff 90 b4 01 00 00    	call   *0x1b4(%eax)
460135:	89 45 cc             	mov    %eax,-0x34(%ebp)
460138:	83 7d cc 02          	cmpl   $0x2,-0x34(%ebp)
46013c:	0f 85 0a 00 00 00    	jne    0x46014c
460142:	b8 00 00 00 00       	mov    $0x0,%eax
460147:	e9 e0 31 00 00       	jmp    0x46332c
46014c:	b8 00 00 00 00       	mov    $0x0,%eax
460151:	e9 d6 31 00 00       	jmp    0x46332c
460156:	e9 ea 05 00 00       	jmp    0x460745
46015b:	8b 5d 08             	mov    0x8(%ebp),%ebx
46015e:	8b 1b                	mov    (%ebx),%ebx
460160:	81 c3 a4 01 00 00    	add    $0x1a4,%ebx
460166:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
460169:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
46016c:	83 3b 01             	cmpl   $0x1,(%ebx)
46016f:	0f 85 60 03 00 00    	jne    0x4604d5
460175:	ff 75 1c             	push   0x1c(%ebp)
460178:	e8 9d d5 fc ff       	call   0x42d71a
46017d:	89 45 f8             	mov    %eax,-0x8(%ebp)
460180:	8b 5d 08             	mov    0x8(%ebp),%ebx
460183:	8b 1b                	mov    (%ebx),%ebx
460185:	81 c3 a8 01 00 00    	add    $0x1a8,%ebx
46018b:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
46018e:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
460191:	8b 03                	mov    (%ebx),%eax
460193:	39 45 f8             	cmp    %eax,-0x8(%ebp)
460196:	0f 8e a0 00 00 00    	jle    0x46023c
46019c:	8b 5d 08             	mov    0x8(%ebp),%ebx
46019f:	8b 1b                	mov    (%ebx),%ebx
4601a1:	81 c3 a8 01 00 00    	add    $0x1a8,%ebx
4601a7:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4601aa:	8b 5d 08             	mov    0x8(%ebp),%ebx
4601ad:	8b 1b                	mov    (%ebx),%ebx
4601af:	8b 9b 64 01 00 00    	mov    0x164(%ebx),%ebx
4601b5:	83 c3 04             	add    $0x4,%ebx
4601b8:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4601bb:	8b 5d 08             	mov    0x8(%ebp),%ebx
4601be:	8b 1b                	mov    (%ebx),%ebx
4601c0:	81 c3 a8 01 00 00    	add    $0x1a8,%ebx
4601c6:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4601c9:	db 45 f8             	fildl  -0x8(%ebp)
4601cc:	dd 5d c4             	fstpl  -0x3c(%ebp)
4601cf:	dd 45 c4             	fldl   -0x3c(%ebp)
4601d2:	8b 5d cc             	mov    -0x34(%ebp),%ebx
4601d5:	db 03                	fildl  (%ebx)
4601d7:	dd 5d bc             	fstpl  -0x44(%ebp)
4601da:	dc 65 bc             	fsubl  -0x44(%ebp)
4601dd:	dd 5d b4             	fstpl  -0x4c(%ebp)
4601e0:	dd 45 b4             	fldl   -0x4c(%ebp)
4601e3:	dc 05 9a bb 4c 00    	faddl  0x4cbb9a
4601e9:	dd 5d ac             	fstpl  -0x54(%ebp)
4601ec:	8b 5d 08             	mov    0x8(%ebp),%ebx
4601ef:	8b 1b                	mov    (%ebx),%ebx
4601f1:	8b 9b 64 01 00 00    	mov    0x164(%ebx),%ebx
4601f7:	83 c3 0c             	add    $0xc,%ebx
4601fa:	89 5d a8             	mov    %ebx,-0x58(%ebp)
4601fd:	6a 01                	push   $0x1
4601ff:	8d 45 f0             	lea    -0x10(%ebp),%eax
460202:	50                   	push   %eax
460203:	8b 5d a8             	mov    -0x58(%ebp),%ebx
460206:	d9 03                	flds   (%ebx)
460208:	e8 e2 0f fa ff       	call   0x4011ef
46020d:	50                   	push   %eax
46020e:	dd 45 ac             	fldl   -0x54(%ebp)
460211:	e8 d9 0f fa ff       	call   0x4011ef
460216:	50                   	push   %eax
460217:	8b 5d d0             	mov    -0x30(%ebp),%ebx
46021a:	d9 03                	flds   (%ebx)
46021c:	e8 ce 0f fa ff       	call   0x4011ef
460221:	50                   	push   %eax
460222:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
460225:	ff 33                	push   (%ebx)
460227:	e8 f7 d7 fa ff       	call   0x40da23
46022c:	8b d8                	mov    %eax,%ebx
46022e:	53                   	push   %ebx
46022f:	e8 70 03 04 00       	call   0x4a05a4
460234:	83 c4 04             	add    $0x4,%esp
460237:	e9 14 02 00 00       	jmp    0x460450
46023c:	8b 5d 08             	mov    0x8(%ebp),%ebx
46023f:	8b 1b                	mov    (%ebx),%ebx
460241:	81 c3 50 01 00 00    	add    $0x150,%ebx
460247:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
46024a:	6a 01                	push   $0x1
46024c:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
46024f:	ff 33                	push   (%ebx)
460251:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
460258:	6a 00                	push   $0x0
46025a:	ff 75 d0             	push   -0x30(%ebp)
46025d:	ff 75 08             	push   0x8(%ebp)
460260:	8b 04 24             	mov    (%esp),%eax
460263:	8b 00                	mov    (%eax),%eax
460265:	8b 00                	mov    (%eax),%eax
460267:	ff 90 90 01 00 00    	call   *0x190(%eax)
46026d:	85 c0                	test   %eax,%eax
46026f:	0f 84 50 01 00 00    	je     0x4603c5
460275:	8b 5d 08             	mov    0x8(%ebp),%ebx
460278:	8b 1b                	mov    (%ebx),%ebx
46027a:	8b 9b 20 01 00 00    	mov    0x120(%ebx),%ebx
460280:	e8 6e 34 fa ff       	call   0x4036f3
460285:	53                   	push   %ebx
460286:	51                   	push   %ecx
460287:	8b 5d 08             	mov    0x8(%ebp),%ebx
46028a:	8b 1b                	mov    (%ebx),%ebx
46028c:	81 c3 50 01 00 00    	add    $0x150,%ebx
460292:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
460295:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
460298:	8b 03                	mov    (%ebx),%eax
46029a:	48                   	dec    %eax
46029b:	79 17                	jns    0x4602b4
46029d:	68 e1 15 00 00       	push   $0x15e1
4602a2:	68 5d d1 03 04       	push   $0x403d15d
4602a7:	68 04 00 00 00       	push   $0x4
4602ac:	e8 f9 02 04 00       	call   0x4a05aa
4602b1:	83 c4 0c             	add    $0xc,%esp
4602b4:	59                   	pop    %ecx
4602b5:	5b                   	pop    %ebx
4602b6:	3b c1                	cmp    %ecx,%eax
4602b8:	7c 17                	jl     0x4602d1
4602ba:	68 e1 15 00 00       	push   $0x15e1
4602bf:	68 5d d1 03 04       	push   $0x403d15d
4602c4:	68 01 00 00 00       	push   $0x1
4602c9:	e8 dc 02 04 00       	call   0x4a05aa
4602ce:	83 c4 0c             	add    $0xc,%esp
4602d1:	c1 e0 02             	shl    $0x2,%eax
4602d4:	03 d8                	add    %eax,%ebx
4602d6:	8b 1b                	mov    (%ebx),%ebx
4602d8:	83 c3 0c             	add    $0xc,%ebx
4602db:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4602de:	8b 5d 08             	mov    0x8(%ebp),%ebx
4602e1:	8b 1b                	mov    (%ebx),%ebx
4602e3:	81 c3 ac 01 00 00    	add    $0x1ac,%ebx
4602e9:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4602ec:	8b 5d cc             	mov    -0x34(%ebp),%ebx
4602ef:	db 03                	fildl  (%ebx)
4602f1:	dd 5d c4             	fstpl  -0x3c(%ebp)
4602f4:	dd 45 c4             	fldl   -0x3c(%ebp)
4602f7:	db 45 f8             	fildl  -0x8(%ebp)
4602fa:	dd 5d bc             	fstpl  -0x44(%ebp)
4602fd:	dc 65 bc             	fsubl  -0x44(%ebp)
460300:	dd 5d b4             	fstpl  -0x4c(%ebp)
460303:	8b 5d d0             	mov    -0x30(%ebp),%ebx
460306:	db 03                	fildl  (%ebx)
460308:	dd 5d ac             	fstpl  -0x54(%ebp)
46030b:	dd 45 ac             	fldl   -0x54(%ebp)
46030e:	dc 65 b4             	fsubl  -0x4c(%ebp)
460311:	dc 1d 7a bb 4c 00    	fcompl 0x4cbb7a
460317:	df e0                	fnstsw %ax
460319:	f6 c4 01             	test   $0x1,%ah
46031c:	0f 84 a3 00 00 00    	je     0x4603c5
460322:	8b 5d 08             	mov    0x8(%ebp),%ebx
460325:	8b 1b                	mov    (%ebx),%ebx
460327:	8b 9b 20 01 00 00    	mov    0x120(%ebx),%ebx
46032d:	e8 c1 33 fa ff       	call   0x4036f3
460332:	53                   	push   %ebx
460333:	51                   	push   %ecx
460334:	8b 5d 08             	mov    0x8(%ebp),%ebx
460337:	8b 1b                	mov    (%ebx),%ebx
460339:	81 c3 50 01 00 00    	add    $0x150,%ebx
46033f:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
460342:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
460345:	8b 03                	mov    (%ebx),%eax
460347:	48                   	dec    %eax
460348:	79 17                	jns    0x460361
46034a:	68 58 16 00 00       	push   $0x1658
46034f:	68 5d d1 03 04       	push   $0x403d15d
460354:	68 04 00 00 00       	push   $0x4
460359:	e8 4c 02 04 00       	call   0x4a05aa
46035e:	83 c4 0c             	add    $0xc,%esp
460361:	59                   	pop    %ecx
460362:	5b                   	pop    %ebx
460363:	3b c1                	cmp    %ecx,%eax
460365:	7c 17                	jl     0x46037e
460367:	68 58 16 00 00       	push   $0x1658
46036c:	68 5d d1 03 04       	push   $0x403d15d
460371:	68 01 00 00 00       	push   $0x1
460376:	e8 2f 02 04 00       	call   0x4a05aa
46037b:	83 c4 0c             	add    $0xc,%esp
46037e:	c1 e0 02             	shl    $0x2,%eax
460381:	03 d8                	add    %eax,%ebx
460383:	8b 1b                	mov    (%ebx),%ebx
460385:	83 c3 0c             	add    $0xc,%ebx
460388:	89 5d d0             	mov    %ebx,-0x30(%ebp)
46038b:	8b 5d 08             	mov    0x8(%ebp),%ebx
46038e:	8b 1b                	mov    (%ebx),%ebx
460390:	81 c3 ac 01 00 00    	add    $0x1ac,%ebx
460396:	89 5d cc             	mov    %ebx,-0x34(%ebp)
460399:	8b 5d d0             	mov    -0x30(%ebp),%ebx
46039c:	db 03                	fildl  (%ebx)