416fea:	ff 50 4c             	call   *0x4c(%eax)
416fed:	db e2                	fnclex
416fef:	3b c7                	cmp    %edi,%eax
416ff1:	7d 0f                	jge    0x417002
416ff3:	6a 4c                	push   $0x4c
416ff5:	68 a8 4b 41 00       	push   $0x414ba8
416ffa:	56                   	push   %esi
416ffb:	50                   	push   %eax
416ffc:	ff 15 48 10 40 00    	call   *0x401048
417002:	8b 45 d4             	mov    -0x2c(%ebp),%eax
417005:	8d 5d d0             	lea    -0x30(%ebp),%ebx
417008:	53                   	push   %ebx
417009:	83 ec 10             	sub    $0x10,%esp
41700c:	ba 02 00 00 00       	mov    $0x2,%edx
417011:	8b dc                	mov    %esp,%ebx
417013:	89 13                	mov    %edx,(%ebx)
417015:	89 55 80             	mov    %edx,-0x80(%ebp)
417018:	8b 55 84             	mov    -0x7c(%ebp),%edx
41701b:	b9 58 00 00 00       	mov    $0x58,%ecx
417020:	89 53 04             	mov    %edx,0x4(%ebx)
417023:	89 4d 88             	mov    %ecx,-0x78(%ebp)
417026:	8b 38                	mov    (%eax),%edi
417028:	89 4b 08             	mov    %ecx,0x8(%ebx)
41702b:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
41702e:	50                   	push   %eax
41702f:	8b f0                	mov    %eax,%esi
417031:	89 4b 0c             	mov    %ecx,0xc(%ebx)
417034:	ff 57 1c             	call   *0x1c(%edi)
417037:	db e2                	fnclex
417039:	33 ff                	xor    %edi,%edi
41703b:	3b c7                	cmp    %edi,%eax
41703d:	7d 0f                	jge    0x41704e
41703f:	6a 1c                	push   $0x1c
417041:	68 3c 50 41 00       	push   $0x41503c
417046:	56                   	push   %esi
417047:	50                   	push   %eax
417048:	ff 15 48 10 40 00    	call   *0x401048
41704e:	8b 45 d0             	mov    -0x30(%ebp),%eax
417051:	50                   	push   %eax
417052:	8d 55 e0             	lea    -0x20(%ebp),%edx
417055:	52                   	push   %edx
417056:	89 7d d0             	mov    %edi,-0x30(%ebp)
417059:	ff 15 34 11 40 00    	call   *0x401134
41705f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
417062:	ff 15 a4 11 40 00    	call   *0x4011a4
417068:	68 50 50 41 00       	push   $0x415050
41706d:	ff 15 a0 10 40 00    	call   *0x4010a0
417073:	8b d0                	mov    %eax,%edx
417075:	8d 4d d8             	lea    -0x28(%ebp),%ecx
417078:	ff 15 7c 11 40 00    	call   *0x40117c
41707e:	50                   	push   %eax
41707f:	68 2c 4e 41 00       	push   $0x414e2c
417084:	ff 15 a8 10 40 00    	call   *0x4010a8
41708a:	8b f0                	mov    %eax,%esi
41708c:	f7 de                	neg    %esi
41708e:	1b f6                	sbb    %esi,%esi
417090:	f7 de                	neg    %esi
417092:	8d 4d d8             	lea    -0x28(%ebp),%ecx
417095:	f7 de                	neg    %esi
417097:	ff 15 a0 11 40 00    	call   *0x4011a0
41709d:	66 3b f7             	cmp    %di,%si
4170a0:	74 3f                	je     0x4170e1
4170a2:	8d 55 80             	lea    -0x80(%ebp),%edx
4170a5:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4170a8:	c7 45 88 58 50 41 00 	movl   $0x415058,-0x78(%ebp)
4170af:	c7 45 80 08 00 00 00 	movl   $0x8,-0x80(%ebp)
4170b6:	ff 15 68 11 40 00    	call   *0x401168
4170bc:	8d 45 c0             	lea    -0x40(%ebp),%eax
4170bf:	50                   	push   %eax
4170c0:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4170c3:	51                   	push   %ecx
4170c4:	ff 15 58 10 40 00    	call   *0x401058
4170ca:	8b 35 28 10 40 00    	mov    0x401028,%esi
4170d0:	8d 55 b0             	lea    -0x50(%ebp),%edx
4170d3:	52                   	push   %edx
4170d4:	8d 45 c0             	lea    -0x40(%ebp),%eax
4170d7:	50                   	push   %eax
4170d8:	6a 02                	push   $0x2
4170da:	ff d6                	call   *%esi
4170dc:	83 c4 0c             	add    $0xc,%esp
4170df:	eb 06                	jmp    0x4170e7
4170e1:	8b 35 28 10 40 00    	mov    0x401028,%esi
4170e7:	6a 01                	push   $0x1
4170e9:	6a 01                	push   $0x1
4170eb:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4170ee:	51                   	push   %ecx
4170ef:	8d 55 c0             	lea    -0x40(%ebp),%edx
4170f2:	52                   	push   %edx
4170f3:	8d 45 a0             	lea    -0x60(%ebp),%eax
4170f6:	bb 0a 00 00 00       	mov    $0xa,%ebx
4170fb:	bf 0c 00 00 00       	mov    $0xc,%edi
417100:	50                   	push   %eax
417101:	c7 45 b8 04 00 02 80 	movl   $0x80020004,-0x48(%ebp)
417108:	89 5d b0             	mov    %ebx,-0x50(%ebp)
41710b:	89 7d c8             	mov    %edi,-0x38(%ebp)
41710e:	c7 45 c0 02 00 00 00 	movl   $0x2,-0x40(%ebp)
417115:	ff 15 40 10 40 00    	call   *0x401040
41711b:	8d 4d a0             	lea    -0x60(%ebp),%ecx
41711e:	51                   	push   %ecx
41711f:	8d 95 60 ff ff ff    	lea    -0xa0(%ebp),%edx
417125:	52                   	push   %edx
417126:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
41712c:	c7 85 60 ff ff ff 02 	movl   $0x8002,-0xa0(%ebp)
417133:	80 00 00
417136:	ff 15 54 11 40 00    	call   *0x401154
41713c:	66 8b f8             	mov    %ax,%di
41713f:	8d 45 a0             	lea    -0x60(%ebp),%eax
417142:	50                   	push   %eax
417143:	8d 4d b0             	lea    -0x50(%ebp),%ecx
417146:	51                   	push   %ecx
417147:	8d 55 c0             	lea    -0x40(%ebp),%edx
41714a:	52                   	push   %edx
41714b:	6a 03                	push   $0x3
41714d:	ff d6                	call   *%esi
41714f:	83 c4 10             	add    $0x10,%esp
417152:	66 85 ff             	test   %di,%di
417155:	74 60                	je     0x4171b7
417157:	b8 04 00 02 80       	mov    $0x80020004,%eax
41715c:	8d 55 80             	lea    -0x80(%ebp),%edx
41715f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
417162:	89 45 98             	mov    %eax,-0x68(%ebp)
417165:	89 5d 90             	mov    %ebx,-0x70(%ebp)
417168:	89 45 a8             	mov    %eax,-0x58(%ebp)
41716b:	89 5d a0             	mov    %ebx,-0x60(%ebp)
41716e:	89 45 b8             	mov    %eax,-0x48(%ebp)
417171:	89 5d b0             	mov    %ebx,-0x50(%ebp)
417174:	c7 45 88 80 50 41 00 	movl   $0x415080,-0x78(%ebp)
41717b:	c7 45 80 08 00 00 00 	movl   $0x8,-0x80(%ebp)
417182:	ff 15 68 11 40 00    	call   *0x401168
417188:	8d 45 90             	lea    -0x70(%ebp),%eax
41718b:	50                   	push   %eax
41718c:	8d 4d a0             	lea    -0x60(%ebp),%ecx
41718f:	51                   	push   %ecx
417190:	8d 55 b0             	lea    -0x50(%ebp),%edx
417193:	52                   	push   %edx
417194:	6a 00                	push   $0x0
417196:	8d 45 c0             	lea    -0x40(%ebp),%eax
417199:	50                   	push   %eax
41719a:	ff 15 68 10 40 00    	call   *0x401068
4171a0:	8d 4d 90             	lea    -0x70(%ebp),%ecx
4171a3:	51                   	push   %ecx
4171a4:	8d 55 a0             	lea    -0x60(%ebp),%edx
4171a7:	52                   	push   %edx
4171a8:	8d 45 b0             	lea    -0x50(%ebp),%eax
4171ab:	50                   	push   %eax
4171ac:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4171af:	51                   	push   %ecx
4171b0:	6a 04                	push   $0x4
4171b2:	ff d6                	call   *%esi
4171b4:	83 c4 14             	add    $0x14,%esp
4171b7:	68 04 4b 41 00       	push   $0x414b04
4171bc:	ff 15 7c 10 40 00    	call   *0x40107c
4171c2:	dd 05 d8 11 40 00    	fldl   0x4011d8
4171c8:	52                   	push   %edx
4171c9:	50                   	push   %eax
4171ca:	ff 15 ec 10 40 00    	call   *0x4010ec
4171d0:	85 c0                	test   %eax,%eax
4171d2:	74 22                	je     0x4171f6
4171d4:	8b 75 08             	mov    0x8(%ebp),%esi
4171d7:	8b 16                	mov    (%esi),%edx
4171d9:	56                   	push   %esi
4171da:	ff 92 0c 07 00 00    	call   *0x70c(%edx)
4171e0:	85 c0                	test   %eax,%eax
4171e2:	7d 12                	jge    0x4171f6
4171e4:	68 0c 07 00 00       	push   $0x70c
4171e9:	68 ec 49 41 00       	push   $0x4149ec
4171ee:	56                   	push   %esi
4171ef:	50                   	push   %eax
4171f0:	ff 15 48 10 40 00    	call   *0x401048
4171f6:	9b                   	fwait
4171f7:	68 3d 72 41 00       	push   $0x41723d
4171fc:	eb 35                	jmp    0x417233
4171fe:	8d 4d d8             	lea    -0x28(%ebp),%ecx
417201:	ff 15 a0 11 40 00    	call   *0x4011a0
417207:	8d 45 d0             	lea    -0x30(%ebp),%eax
41720a:	50                   	push   %eax
41720b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41720e:	51                   	push   %ecx
41720f:	6a 02                	push   $0x2
417211:	ff 15 30 10 40 00    	call   *0x401030
417217:	8d 55 90             	lea    -0x70(%ebp),%edx
41721a:	52                   	push   %edx
41721b:	8d 45 a0             	lea    -0x60(%ebp),%eax
41721e:	50                   	push   %eax
41721f:	8d 4d b0             	lea    -0x50(%ebp),%ecx
417222:	51                   	push   %ecx
417223:	8d 55 c0             	lea    -0x40(%ebp),%edx
417226:	52                   	push   %edx
417227:	6a 04                	push   $0x4
417229:	ff 15 28 10 40 00    	call   *0x401028
41722f:	83 c4 20             	add    $0x20,%esp
417232:	c3                   	ret
417233:	8d 4d e0             	lea    -0x20(%ebp),%ecx
417236:	ff 15 1c 10 40 00    	call   *0x40101c
41723c:	c3                   	ret
41723d:	8b 45 20             	mov    0x20(%ebp),%eax
417240:	66 8b 4d dc          	mov    -0x24(%ebp),%cx
417244:	66 89 08             	mov    %cx,(%eax)
417247:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41724a:	5f                   	pop    %edi
41724b:	5e                   	pop    %esi
41724c:	33 c0                	xor    %eax,%eax
41724e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
417255:	5b                   	pop    %ebx
417256:	8b e5                	mov    %ebp,%esp
417258:	5d                   	pop    %ebp
417259:	c2 1c 00             	ret    $0x1c
41725c:	90                   	nop
41725d:	90                   	nop
41725e:	90                   	nop
41725f:	90                   	nop
417260:	55                   	push   %ebp
417261:	8b ec                	mov    %esp,%ebp
417263:	83 ec 0c             	sub    $0xc,%esp
417266:	68 d6 12 40 00       	push   $0x4012d6
41726b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
417271:	50                   	push   %eax
417272:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
417279:	83 ec 7c             	sub    $0x7c,%esp
41727c:	53                   	push   %ebx
41727d:	56                   	push   %esi
41727e:	57                   	push   %edi
41727f:	89 65 f4             	mov    %esp,-0xc(%ebp)
417282:	c7 45 f8 60 12 40 00 	movl   $0x401260,-0x8(%ebp)
417289:	33 ff                	xor    %edi,%edi
41728b:	89 7d fc             	mov    %edi,-0x4(%ebp)
41728e:	8b 45 08             	mov    0x8(%ebp),%eax
417291:	8b 08                	mov    (%eax),%ecx
417293:	50                   	push   %eax
417294:	ff 51 04             	call   *0x4(%ecx)
417297:	89 7d 90             	mov    %edi,-0x70(%ebp)
41729a:	be 08 00 00 00       	mov    $0x8,%esi
41729f:	8d 55 90             	lea    -0x70(%ebp),%edx
4172a2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4172a5:	89 7d e8             	mov    %edi,-0x18(%ebp)
4172a8:	89 7d d8             	mov    %edi,-0x28(%ebp)
4172ab:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4172ae:	89 7d d0             	mov    %edi,-0x30(%ebp)
4172b1:	89 7d c0             	mov    %edi,-0x40(%ebp)
4172b4:	89 7d b0             	mov    %edi,-0x50(%ebp)
4172b7:	89 7d a0             	mov    %edi,-0x60(%ebp)
4172ba:	89 7d 80             	mov    %edi,-0x80(%ebp)
4172bd:	c7 45 98 a0 50 41 00 	movl   $0x4150a0,-0x68(%ebp)
4172c4:	89 75 90             	mov    %esi,-0x70(%ebp)
4172c7:	ff 15 68 11 40 00    	call   *0x401168
4172cd:	8d 55 c0             	lea    -0x40(%ebp),%edx
4172d0:	52                   	push   %edx
4172d1:	8d 45 b0             	lea    -0x50(%ebp),%eax
4172d4:	50                   	push   %eax
4172d5:	ff 15 90 11 40 00    	call   *0x401190
4172db:	8b 1d 54 11 40 00    	mov    0x401154,%ebx
4172e1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4172e4:	51                   	push   %ecx
4172e5:	8d 55 80             	lea    -0x80(%ebp),%edx
4172e8:	52                   	push   %edx
4172e9:	89 75 88             	mov    %esi,-0x78(%ebp)
4172ec:	c7 45 80 02 80 00 00 	movl   $0x8002,-0x80(%ebp)
4172f3:	ff d3                	call   *%ebx
4172f5:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4172f8:	8b f0                	mov    %eax,%esi
4172fa:	8d 45 b0             	lea    -0x50(%ebp),%eax
4172fd:	50                   	push   %eax
4172fe:	51                   	push   %ecx
4172ff:	6a 02                	push   $0x2
417301:	ff 15 28 10 40 00    	call   *0x401028
417307:	83 c4 0c             	add    $0xc,%esp
41730a:	66 3b f7             	cmp    %di,%si
41730d:	74 0b                	je     0x41731a
41730f:	68 d0 00 00 00       	push   $0xd0
417314:	ff 15 d4 10 40 00    	call   *0x4010d4
41731a:	8d 55 90             	lea    -0x70(%ebp),%edx
41731d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
417320:	c7 45 98 b0 50 41 00 	movl   $0x4150b0,-0x68(%ebp)
417327:	c7 45 90 08 00 00 00 	movl   $0x8,-0x70(%ebp)
41732e:	ff 15 68 11 40 00    	call   *0x401168
417334:	8d 55 c0             	lea    -0x40(%ebp),%edx
417337:	52                   	push   %edx
417338:	8d 45 b0             	lea    -0x50(%ebp),%eax
41733b:	50                   	push   %eax
41733c:	ff 15 8c 11 40 00    	call   *0x40118c
417342:	8d 4d b0             	lea    -0x50(%ebp),%ecx
417345:	51                   	push   %ecx
417346:	8d 55 80             	lea    -0x80(%ebp),%edx
417349:	52                   	push   %edx
41734a:	c7 45 88 12 00 00 00 	movl   $0x12,-0x78(%ebp)
417351:	c7 45 80 02 80 00 00 	movl   $0x8002,-0x80(%ebp)
417358:	ff d3                	call   *%ebx
41735a:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41735d:	8b f0                	mov    %eax,%esi
41735f:	8d 45 b0             	lea    -0x50(%ebp),%eax
417362:	50                   	push   %eax
417363:	51                   	push   %ecx
417364:	6a 02                	push   $0x2
417366:	ff 15 28 10 40 00    	call   *0x401028
41736c:	83 c4 0c             	add    $0xc,%esp
41736f:	66 3b f7             	cmp    %di,%si
417372:	0f 84 87 00 00 00    	je     0x4173ff
417378:	57                   	push   %edi
417379:	68 c4 50 41 00       	push   $0x4150c4
41737e:	8d 55 d8             	lea    -0x28(%ebp),%edx
417381:	52                   	push   %edx
417382:	8d 45 c0             	lea    -0x40(%ebp),%eax
417385:	50                   	push   %eax
417386:	ff 15 6c 11 40 00    	call   *0x40116c
41738c:	a1 38 93 41 00       	mov    0x419338,%eax
417391:	83 c4 10             	add    $0x10,%esp
417394:	3b c7                	cmp    %edi,%eax
417396:	75 10                	jne    0x4173a8
417398:	68 38 93 41 00       	push   $0x419338
41739d:	68 b8 4b 41 00       	push   $0x414bb8
4173a2:	ff 15 1c 11 40 00    	call   *0x40111c
4173a8:	8b 35 38 93 41 00    	mov    0x419338,%esi
4173ae:	8b 1e                	mov    (%esi),%ebx
4173b0:	68 f0 50 41 00       	push   $0x4150f0
4173b5:	68 c8 4b 41 00       	push   $0x414bc8
4173ba:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4173bd:	51                   	push   %ecx
4173be:	ff 15 c8 10 40 00    	call   *0x4010c8
4173c4:	50                   	push   %eax
4173c5:	8d 55 d0             	lea    -0x30(%ebp),%edx
4173c8:	52                   	push   %edx
4173c9:	ff 15 6c 10 40 00    	call   *0x40106c
4173cf:	50                   	push   %eax
4173d0:	56                   	push   %esi
4173d1:	ff 53 40             	call   *0x40(%ebx)
4173d4:	db e2                	fnclex
4173d6:	3b c7                	cmp    %edi,%eax
4173d8:	7d 0f                	jge    0x4173e9
4173da:	6a 40                	push   $0x40
4173dc:	68 a8 4b 41 00       	push   $0x414ba8
4173e1:	56                   	push   %esi
4173e2:	50                   	push   %eax
4173e3:	ff 15 48 10 40 00    	call   *0x401048
4173e9:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4173ec:	ff 15 a4 11 40 00    	call   *0x4011a4
4173f2:	8b 1d 1c 10 40 00    	mov    0x40101c,%ebx
4173f8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4173fb:	ff d3                	call   *%ebx
4173fd:	eb 06                	jmp    0x417405
4173ff:	8b 1d 1c 10 40 00    	mov    0x40101c,%ebx
417405:	8d 45 c0             	lea    -0x40(%ebp),%eax
417408:	50                   	push   %eax
417409:	c7 45 c8 09 00 00 00 	movl   $0x9,-0x38(%ebp)
417410:	c7 45 c0 02 00 00 00 	movl   $0x2,-0x40(%ebp)
417417:	ff 15 3c 11 40 00    	call   *0x40113c
41741d:	8b d0                	mov    %eax,%edx
41741f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
417422:	ff 15 7c 11 40 00    	call   *0x40117c
417428:	50                   	push   %eax
417429:	68 08 51 41 00       	push   $0x415108