4090aa:	68 60 ea 4a 00       	push   $0x4aea60
4090af:	8d 8d 48 fd ff ff    	lea    -0x2b8(%ebp),%ecx
4090b5:	c7 85 48 fd ff ff 00 	movl   $0x0,-0x2b8(%ebp)
4090bc:	00 00 00
4090bf:	c7 85 58 fd ff ff 00 	movl   $0x0,-0x2a8(%ebp)
4090c6:	00 00 00
4090c9:	c7 85 5c fd ff ff 00 	movl   $0x0,-0x2a4(%ebp)
4090d0:	00 00 00
4090d3:	e8 88 8f ff ff       	call   0x402060
4090d8:	c6 45 fc 15          	movb   $0x15,-0x4(%ebp)
4090dc:	8b 8d c4 fd ff ff    	mov    -0x23c(%ebp),%ecx
4090e2:	85 c9                	test   %ecx,%ecx
4090e4:	0f 84 9b 00 00 00    	je     0x409185
4090ea:	8b 85 58 fd ff ff    	mov    -0x2a8(%ebp),%eax
4090f0:	85 c0                	test   %eax,%eax
4090f2:	0f 84 8d 00 00 00    	je     0x409185
4090f8:	8d 79 0b             	lea    0xb(%ecx),%edi
4090fb:	ba 02 00 00 00       	mov    $0x2,%edx
409100:	03 f8                	add    %eax,%edi
409102:	33 c9                	xor    %ecx,%ecx
409104:	8b c7                	mov    %edi,%eax
409106:	f7 e2                	mul    %edx
409108:	0f 90 c1             	seto   %cl
40910b:	f7 d9                	neg    %ecx
40910d:	0b c8                	or     %eax,%ecx
40910f:	51                   	push   %ecx
409110:	e8 ec 05 07 00       	call   0x479701
409115:	8b f0                	mov    %eax,%esi
409117:	83 c4 04             	add    $0x4,%esp
40911a:	85 f6                	test   %esi,%esi
40911c:	74 67                	je     0x409185
40911e:	83 bd c8 fd ff ff 08 	cmpl   $0x8,-0x238(%ebp)
409125:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
40912b:	0f 43 85 b4 fd ff ff 	cmovae -0x24c(%ebp),%eax
409132:	50                   	push   %eax
409133:	57                   	push   %edi
409134:	56                   	push   %esi
409135:	e8 63 05 07 00       	call   0x47969d
40913a:	83 c4 0c             	add    $0xc,%esp
40913d:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
409143:	83 bd 5c fd ff ff 08 	cmpl   $0x8,-0x2a4(%ebp)
40914a:	0f 43 85 48 fd ff ff 	cmovae -0x2b8(%ebp),%eax
409151:	50                   	push   %eax
409152:	56                   	push   %esi
409153:	ff 15 68 e2 49 00    	call   *0x49e268
409159:	8b ce                	mov    %esi,%ecx
40915b:	8d 51 02             	lea    0x2(%ecx),%edx
40915e:	66 90                	xchg   %ax,%ax
409160:	66 8b 01             	mov    (%ecx),%ax
409163:	83 c1 02             	add    $0x2,%ecx
409166:	66 85 c0             	test   %ax,%ax
409169:	75 f5                	jne    0x409160
40916b:	2b ca                	sub    %edx,%ecx
40916d:	d1 f9                	sar    $1,%ecx
40916f:	51                   	push   %ecx
409170:	56                   	push   %esi
409171:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
409177:	e8 84 9c ff ff       	call   0x402e00
40917c:	56                   	push   %esi
40917d:	e8 00 05 07 00       	call   0x479682
409182:	83 c4 04             	add    $0x4,%esp
409185:	c6 45 fc 14          	movb   $0x14,-0x4(%ebp)
409189:	8b 8d 5c fd ff ff    	mov    -0x2a4(%ebp),%ecx
40918f:	83 f9 08             	cmp    $0x8,%ecx
409192:	72 35                	jb     0x4091c9
409194:	8b 95 48 fd ff ff    	mov    -0x2b8(%ebp),%edx
40919a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4091a1:	8b c2                	mov    %edx,%eax
4091a3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4091a9:	72 14                	jb     0x4091bf
4091ab:	8b 50 fc             	mov    -0x4(%eax),%edx
4091ae:	83 c1 23             	add    $0x23,%ecx
4091b1:	2b c2                	sub    %edx,%eax
4091b3:	83 c0 fc             	add    $0xfffffffc,%eax
4091b6:	83 f8 1f             	cmp    $0x1f,%eax
4091b9:	0f 87 29 09 00 00    	ja     0x409ae8
4091bf:	51                   	push   %ecx
4091c0:	52                   	push   %edx
4091c1:	e8 42 08 06 00       	call   0x469a08
4091c6:	83 c4 08             	add    $0x8,%esp
4091c9:	c6 45 fc 13          	movb   $0x13,-0x4(%ebp)
4091cd:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
4091d3:	83 f9 08             	cmp    $0x8,%ecx
4091d6:	72 35                	jb     0x40920d
4091d8:	8b 95 90 fd ff ff    	mov    -0x270(%ebp),%edx
4091de:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4091e5:	8b c2                	mov    %edx,%eax
4091e7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4091ed:	72 14                	jb     0x409203
4091ef:	8b 50 fc             	mov    -0x4(%eax),%edx
4091f2:	83 c1 23             	add    $0x23,%ecx
4091f5:	2b c2                	sub    %edx,%eax
4091f7:	83 c0 fc             	add    $0xfffffffc,%eax
4091fa:	83 f8 1f             	cmp    $0x1f,%eax
4091fd:	0f 87 ea 08 00 00    	ja     0x409aed
409203:	51                   	push   %ecx
409204:	52                   	push   %edx
409205:	e8 fe 07 06 00       	call   0x469a08
40920a:	83 c4 08             	add    $0x8,%esp
40920d:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
409211:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
409217:	83 f9 08             	cmp    $0x8,%ecx
40921a:	0f 82 07 03 00 00    	jb     0x409527
409220:	8b 95 cc fd ff ff    	mov    -0x234(%ebp),%edx
409226:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40922d:	8b c2                	mov    %edx,%eax
40922f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
409235:	0f 82 e2 02 00 00    	jb     0x40951d
40923b:	8b 50 fc             	mov    -0x4(%eax),%edx
40923e:	83 c1 23             	add    $0x23,%ecx
409241:	2b c2                	sub    %edx,%eax
409243:	83 c0 fc             	add    $0xfffffffc,%eax
409246:	83 f8 1f             	cmp    $0x1f,%eax
409249:	0f 87 9e 08 00 00    	ja     0x409aed
40924f:	e9 c9 02 00 00       	jmp    0x40951d
409254:	80 bd ff fc ff ff 00 	cmpb   $0x0,-0x301(%ebp)
40925b:	8d 8d 78 fd ff ff    	lea    -0x288(%ebp),%ecx
409261:	8b 95 88 fd ff ff    	mov    -0x278(%ebp),%edx
409267:	6a 0e                	push   $0xe
409269:	0f 45 ce             	cmovne %esi,%ecx
40926c:	68 ac 0a 4b 00       	push   $0x4b0aac
409271:	e8 aa a9 ff ff       	call   0x403c20
409276:	83 c4 08             	add    $0x8,%esp
409279:	85 c0                	test   %eax,%eax
40927b:	0f 85 0e 06 00 00    	jne    0x40988f
409281:	50                   	push   %eax
409282:	68 60 ea 4a 00       	push   $0x4aea60
409287:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
40928d:	e8 6e 9b ff ff       	call   0x402e00
409292:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
409298:	8d 8d f4 fc ff ff    	lea    -0x30c(%ebp),%ecx
40929e:	e8 ed f2 02 00       	call   0x438590
4092a3:	83 bd e4 fd ff ff 02 	cmpl   $0x2,-0x21c(%ebp)
4092aa:	75 18                	jne    0x4092c4
4092ac:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
4092b2:	e8 59 da 01 00       	call   0x426d10
4092b7:	84 c0                	test   %al,%al
4092b9:	74 5d                	je     0x409318
4092bb:	6a 15                	push   $0x15
4092bd:	68 a8 45 4b 00       	push   $0x4b45a8
4092c2:	eb 49                	jmp    0x40930d
4092c4:	6a 00                	push   $0x0
4092c6:	6a 2b                	push   $0x2b
4092c8:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4092ce:	50                   	push   %eax
4092cf:	6a 00                	push   $0x0
4092d1:	ff 15 50 e2 49 00    	call   *0x49e250
4092d7:	85 c0                	test   %eax,%eax
4092d9:	74 3d                	je     0x409318
4092db:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
4092e1:	8d 51 02             	lea    0x2(%ecx),%edx
4092e4:	66 8b 01             	mov    (%ecx),%ax
4092e7:	83 c1 02             	add    $0x2,%ecx
4092ea:	66 85 c0             	test   %ax,%ax
4092ed:	75 f5                	jne    0x4092e4
4092ef:	2b ca                	sub    %edx,%ecx
4092f1:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4092f7:	d1 f9                	sar    $1,%ecx
4092f9:	51                   	push   %ecx
4092fa:	50                   	push   %eax
4092fb:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
409301:	e8 fa 9a ff ff       	call   0x402e00
409306:	6a 1b                	push   $0x1b
409308:	68 d4 45 4b 00       	push   $0x4b45d4
40930d:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
409313:	e8 f8 9b ff ff       	call   0x402f10
409318:	6a 10                	push   $0x10
40931a:	68 cc 0a 4b 00       	push   $0x4b0acc
40931f:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
409325:	c7 85 cc fd ff ff 00 	movl   $0x0,-0x234(%ebp)
40932c:	00 00 00
40932f:	c7 85 dc fd ff ff 00 	movl   $0x0,-0x224(%ebp)
409336:	00 00 00
409339:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
409340:	00 00 00
409343:	e8 18 8d ff ff       	call   0x402060
409348:	c6 45 fc 16          	movb   $0x16,-0x4(%ebp)
40934c:	be 02 00 00 00       	mov    $0x2,%esi
409351:	8b 8d c4 fd ff ff    	mov    -0x23c(%ebp),%ecx
409357:	85 c9                	test   %ecx,%ecx
409359:	0f 84 9b 00 00 00    	je     0x4093fa
40935f:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
409365:	85 c0                	test   %eax,%eax
409367:	0f 84 8d 00 00 00    	je     0x4093fa
40936d:	8d 79 0b             	lea    0xb(%ecx),%edi
409370:	33 c9                	xor    %ecx,%ecx
409372:	03 f8                	add    %eax,%edi
409374:	8b c7                	mov    %edi,%eax
409376:	f7 e6                	mul    %esi
409378:	0f 90 c1             	seto   %cl
40937b:	f7 d9                	neg    %ecx
40937d:	0b c8                	or     %eax,%ecx
40937f:	51                   	push   %ecx
409380:	e8 7c 03 07 00       	call   0x479701
409385:	8b f0                	mov    %eax,%esi
409387:	83 c4 04             	add    $0x4,%esp
40938a:	85 f6                	test   %esi,%esi
40938c:	74 67                	je     0x4093f5
40938e:	83 bd c8 fd ff ff 08 	cmpl   $0x8,-0x238(%ebp)
409395:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
40939b:	0f 43 85 b4 fd ff ff 	cmovae -0x24c(%ebp),%eax
4093a2:	50                   	push   %eax
4093a3:	57                   	push   %edi
4093a4:	56                   	push   %esi
4093a5:	e8 f3 02 07 00       	call   0x47969d
4093aa:	83 c4 0c             	add    $0xc,%esp
4093ad:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
4093b3:	83 bd e0 fd ff ff 08 	cmpl   $0x8,-0x220(%ebp)
4093ba:	0f 43 85 cc fd ff ff 	cmovae -0x234(%ebp),%eax
4093c1:	50                   	push   %eax
4093c2:	56                   	push   %esi
4093c3:	ff 15 68 e2 49 00    	call   *0x49e268
4093c9:	8b ce                	mov    %esi,%ecx
4093cb:	8d 51 02             	lea    0x2(%ecx),%edx
4093ce:	66 90                	xchg   %ax,%ax
4093d0:	66 8b 01             	mov    (%ecx),%ax
4093d3:	83 c1 02             	add    $0x2,%ecx
4093d6:	66 85 c0             	test   %ax,%ax
4093d9:	75 f5                	jne    0x4093d0
4093db:	2b ca                	sub    %edx,%ecx
4093dd:	d1 f9                	sar    $1,%ecx
4093df:	51                   	push   %ecx
4093e0:	56                   	push   %esi
4093e1:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
4093e7:	e8 14 9a ff ff       	call   0x402e00
4093ec:	56                   	push   %esi
4093ed:	e8 90 02 07 00       	call   0x479682
4093f2:	83 c4 04             	add    $0x4,%esp
4093f5:	be 02 00 00 00       	mov    $0x2,%esi
4093fa:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4093fe:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
409404:	83 f9 08             	cmp    $0x8,%ecx
409407:	72 35                	jb     0x40943e
409409:	8b 95 cc fd ff ff    	mov    -0x234(%ebp),%edx
40940f:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
409416:	8b c2                	mov    %edx,%eax
409418:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40941e:	72 14                	jb     0x409434
409420:	8b 50 fc             	mov    -0x4(%eax),%edx
409423:	83 c1 23             	add    $0x23,%ecx
409426:	2b c2                	sub    %edx,%eax
409428:	83 c0 fc             	add    $0xfffffffc,%eax
40942b:	83 f8 1f             	cmp    $0x1f,%eax
40942e:	0f 87 be 06 00 00    	ja     0x409af2
409434:	51                   	push   %ecx
409435:	52                   	push   %edx
409436:	e8 cd 05 06 00       	call   0x469a08
40943b:	83 c4 08             	add    $0x8,%esp
40943e:	6a 13                	push   $0x13
409440:	68 f0 0a 4b 00       	push   $0x4b0af0
409445:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
40944b:	c7 85 cc fd ff ff 00 	movl   $0x0,-0x234(%ebp)
409452:	00 00 00
409455:	c7 85 dc fd ff ff 00 	movl   $0x0,-0x224(%ebp)
40945c:	00 00 00
40945f:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
409466:	00 00 00
409469:	e8 f2 8b ff ff       	call   0x402060
40946e:	c6 45 fc 17          	movb   $0x17,-0x4(%ebp)
409472:	8b 8d c4 fd ff ff    	mov    -0x23c(%ebp),%ecx
409478:	85 c9                	test   %ecx,%ecx
40947a:	0f 84 8d fd ff ff    	je     0x40920d
409480:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
409486:	85 c0                	test   %eax,%eax
409488:	0f 84 7f fd ff ff    	je     0x40920d
40948e:	8d 79 0b             	lea    0xb(%ecx),%edi
409491:	33 c9                	xor    %ecx,%ecx
409493:	03 f8                	add    %eax,%edi
409495:	8b c7                	mov    %edi,%eax
409497:	f7 e6                	mul    %esi
409499:	0f 90 c1             	seto   %cl
40949c:	f7 d9                	neg    %ecx
40949e:	0b c8                	or     %eax,%ecx
4094a0:	51                   	push   %ecx
4094a1:	e8 5b 02 07 00       	call   0x479701
4094a6:	8b f0                	mov    %eax,%esi
4094a8:	83 c4 04             	add    $0x4,%esp
4094ab:	85 f6                	test   %esi,%esi
4094ad:	0f 84 5a fd ff ff    	je     0x40920d
4094b3:	83 bd c8 fd ff ff 08 	cmpl   $0x8,-0x238(%ebp)
4094ba:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
4094c0:	0f 43 85 b4 fd ff ff 	cmovae -0x24c(%ebp),%eax
4094c7:	50                   	push   %eax
4094c8:	57                   	push   %edi
4094c9:	56                   	push   %esi
4094ca:	e8 ce 01 07 00       	call   0x47969d
4094cf:	83 c4 0c             	add    $0xc,%esp
4094d2:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
4094d8:	83 bd e0 fd ff ff 08 	cmpl   $0x8,-0x220(%ebp)
4094df:	0f 43 85 cc fd ff ff 	cmovae -0x234(%ebp),%eax
4094e6:	50                   	push   %eax
4094e7:	56                   	push   %esi
4094e8:	ff 15 68 e2 49 00    	call   *0x49e268
4094ee:	8b ce                	mov    %esi,%ecx
4094f0:	8d 51 02             	lea    0x2(%ecx),%edx
4094f3:	66 8b 01             	mov    (%ecx),%ax
4094f6:	83 c1 02             	add    $0x2,%ecx
4094f9:	66 85 c0             	test   %ax,%ax
4094fc:	75 f5                	jne    0x4094f3
4094fe:	2b ca                	sub    %edx,%ecx
409500:	d1 f9                	sar    $1,%ecx
409502:	51                   	push   %ecx
409503:	56                   	push   %esi
409504:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
40950a:	e8 f1 98 ff ff       	call   0x402e00
40950f:	56                   	push   %esi
409510:	e8 6d 01 07 00       	call   0x479682
409515:	83 c4 04             	add    $0x4,%esp
409518:	e9 f0 fc ff ff       	jmp    0x40920d
40951d:	51                   	push   %ecx
40951e:	52                   	push   %edx
40951f:	e8 e4 04 06 00       	call   0x469a08
409524:	83 c4 08             	add    $0x8,%esp
409527:	6a 30                	push   $0x30
409529:	e8 aa 04 06 00       	call   0x4699d8
40952e:	6a 30                	push   $0x30
409530:	8b f8                	mov    %eax,%edi
409532:	6a 00                	push   $0x0
409534:	57                   	push   %edi
409535:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
40953b:	e8 70 26 06 00       	call   0x46bbb0
409540:	83 c4 10             	add    $0x10,%esp
409543:	c7 07 b8 0c 4b 00    	movl   $0x4b0cb8,(%edi)
409549:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
409550:	33 c0                	xor    %eax,%eax
409552:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
409559:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
409560:	ff b5 e8 fc ff ff    	push   -0x318(%ebp)
409566:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
40956d:	83 ec 18             	sub    $0x18,%esp
409570:	66 89 47 10          	mov    %ax,0x10(%edi)
409574:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
40957b:	8b cc                	mov    %esp,%ecx
40957d:	c7 47 24 07 00 00 00 	movl   $0x7,0x24(%edi)
409584:	88 47 28             	mov    %al,0x28(%edi)
409587:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
40958d:	89 a5 e4 fd ff ff    	mov    %esp,-0x21c(%ebp)
409593:	50                   	push   %eax
409594:	e8 d7 9f ff ff       	call   0x403570
409599:	83 ec 0c             	sub    $0xc,%esp
40959c:	c6 45 fc 1a          	movb   $0x1a,-0x4(%ebp)
4095a0:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
4095a6:	8b cc                	mov    %esp,%ecx
4095a8:	50                   	push   %eax
4095a9:	e8 52 10 00 00       	call   0x40a600
4095ae:	8b cf                	mov    %edi,%ecx
4095b0:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4095b4:	e8 47 ca ff ff       	call   0x406000
4095b9:	33 c0                	xor    %eax,%eax
4095bb:	39 85 70 fd ff ff    	cmp    %eax,-0x290(%ebp)