4101b5:	68 18 02 00 00       	push   $0x218
4101ba:	56                   	push   %esi
4101bb:	50                   	push   %eax
4101bc:	e8 87 26 01 00       	call   0x422848
4101c1:	83 c4 0c             	add    $0xc,%esp
4101c4:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4101c8:	74 4f                	je     0x410219
4101ca:	ff 37                	push   (%edi)
4101cc:	ff 15 68 64 42 00    	call   *0x426468
4101d2:	ff 37                	push   (%edi)
4101d4:	89 44 24 38          	mov    %eax,0x38(%esp)
4101d8:	ff 15 34 63 42 00    	call   *0x426334
4101de:	89 44 24 38          	mov    %eax,0x38(%esp)
4101e2:	8d 84 24 4c 02 00 00 	lea    0x24c(%esp),%eax
4101e9:	50                   	push   %eax
4101ea:	56                   	push   %esi
4101eb:	ff 37                	push   (%edi)
4101ed:	ff 15 fc 60 42 00    	call   *0x4260fc
4101f3:	8b 0f                	mov    (%edi),%ecx
4101f5:	8d 54 24 3c          	lea    0x3c(%esp),%edx
4101f9:	f7 d8                	neg    %eax
4101fb:	1b c0                	sbb    %eax,%eax
4101fd:	23 84 24 6c 02 00 00 	and    0x26c(%esp),%eax
410204:	89 44 24 30          	mov    %eax,0x30(%esp)
410208:	e8 d4 01 00 00       	call   0x4103e1
41020d:	a1 3c 4e 42 00       	mov    0x424e3c,%eax
410212:	89 84 24 44 02 00 00 	mov    %eax,0x244(%esp)
410219:	39 35 f0 5b 42 00    	cmp    %esi,0x425bf0
41021f:	74 05                	je     0x410226
410221:	e8 76 fc ff ff       	call   0x40fe9c
410226:	8b de                	mov    %esi,%ebx
410228:	66 39 1d c8 59 42 00 	cmp    %bx,0x4259c8
41022f:	74 5a                	je     0x41028b
410231:	89 74 24 14          	mov    %esi,0x14(%esp)
410235:	39 5c 24 28          	cmp    %ebx,0x28(%esp)
410239:	75 05                	jne    0x410240
41023b:	33 db                	xor    %ebx,%ebx
41023d:	43                   	inc    %ebx
41023e:	eb 4b                	jmp    0x41028b
410240:	51                   	push   %ecx
410241:	8b 0f                	mov    (%edi),%ecx
410243:	8d 54 24 18          	lea    0x18(%esp),%edx
410247:	e8 c1 0d 00 00       	call   0x41100d
41024c:	8b 74 24 14          	mov    0x14(%esp),%esi
410250:	85 c0                	test   %eax,%eax
410252:	78 2a                	js     0x41027e
410254:	21 5c 24 14          	and    %ebx,0x14(%esp)
410258:	8d 44 24 14          	lea    0x14(%esp),%eax
41025c:	50                   	push   %eax
41025d:	51                   	push   %ecx
41025e:	8d 94 24 78 02 00 00 	lea    0x278(%esp),%edx
410265:	8b ce                	mov    %esi,%ecx
410267:	e8 24 f2 00 00       	call   0x41f490
41026c:	85 c0                	test   %eax,%eax
41026e:	78 0c                	js     0x41027c
410270:	83 7c 24 14 02       	cmpl   $0x2,0x14(%esp)
410275:	74 05                	je     0x41027c
410277:	33 db                	xor    %ebx,%ebx
410279:	43                   	inc    %ebx
41027a:	eb 02                	jmp    0x41027e
41027c:	33 db                	xor    %ebx,%ebx
41027e:	85 f6                	test   %esi,%esi
410280:	74 07                	je     0x410289
410282:	56                   	push   %esi
410283:	ff 15 dc 62 42 00    	call   *0x4262dc
410289:	33 f6                	xor    %esi,%esi
41028b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41028f:	75 08                	jne    0x410299
410291:	85 db                	test   %ebx,%ebx
410293:	0f 84 c6 00 00 00    	je     0x41035f
410299:	51                   	push   %ecx
41029a:	8b 0f                	mov    (%edi),%ecx
41029c:	8d 54 24 14          	lea    0x14(%esp),%edx
4102a0:	89 74 24 14          	mov    %esi,0x14(%esp)
4102a4:	e8 64 0d 00 00       	call   0x41100d
4102a9:	8b 74 24 10          	mov    0x10(%esp),%esi
4102ad:	85 c0                	test   %eax,%eax
4102af:	0f 88 9f 00 00 00    	js     0x410354
4102b5:	68 fa 01 00 00       	push   $0x1fa
4102ba:	8d 84 24 74 02 00 00 	lea    0x274(%esp),%eax
4102c1:	6a 00                	push   $0x0
4102c3:	50                   	push   %eax
4102c4:	e8 7f 25 01 00       	call   0x422848
4102c9:	8b 45 0c             	mov    0xc(%ebp),%eax
4102cc:	83 c4 0c             	add    $0xc,%esp
4102cf:	85 c0                	test   %eax,%eax
4102d1:	75 05                	jne    0x4102d8
4102d3:	b8 c8 59 42 00       	mov    $0x4259c8,%eax
4102d8:	50                   	push   %eax
4102d9:	ba fd 00 00 00       	mov    $0xfd,%edx
4102de:	8d 8c 24 74 02 00 00 	lea    0x274(%esp),%ecx
4102e5:	e8 6a 61 ff ff       	call   0x406454
4102ea:	85 c0                	test   %eax,%eax
4102ec:	79 1a                	jns    0x410308
4102ee:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
4102f3:	0f 84 cf 00 00 00    	je     0x4103c8
4102f9:	ff 74 24 10          	push   0x10(%esp)
4102fd:	ff 15 dc 62 42 00    	call   *0x4262dc
410303:	e9 c0 00 00 00       	jmp    0x4103c8
410308:	8d 94 24 70 02 00 00 	lea    0x270(%esp),%edx
41030f:	8b ce                	mov    %esi,%ecx
410311:	e8 38 fc 00 00       	call   0x41ff4e
410316:	85 c0                	test   %eax,%eax
410318:	78 3a                	js     0x410354
41031a:	66 83 bc 24 70 02 00 	cmpw   $0x0,0x270(%esp)
410321:	00 00
410323:	74 27                	je     0x41034c
410325:	8d 8c 24 70 02 00 00 	lea    0x270(%esp),%ecx
41032c:	e8 d8 dd ff ff       	call   0x40e109
410331:	85 c0                	test   %eax,%eax
410333:	75 0e                	jne    0x410343
410335:	8b 15 bc 4e 42 00    	mov    0x424ebc,%edx
41033b:	8b cf                	mov    %edi,%ecx
41033d:	50                   	push   %eax
41033e:	e8 20 01 00 00       	call   0x410463
410343:	66 ff 05 1c 4e 42 00 	incw   0x424e1c
41034a:	eb 08                	jmp    0x410354
41034c:	33 c9                	xor    %ecx,%ecx
41034e:	41                   	inc    %ecx
41034f:	e8 13 de ff ff       	call   0x40e167
410354:	85 f6                	test   %esi,%esi
410356:	74 07                	je     0x41035f
410358:	56                   	push   %esi
410359:	ff 15 dc 62 42 00    	call   *0x4262dc
41035f:	ff 35 3c 4f 42 00    	push   0x424f3c
410365:	ff 15 dc 61 42 00    	call   *0x4261dc
41036b:	e8 70 d0 ff ff       	call   0x40d3e0
410370:	0f b6 55 08          	movzbl 0x8(%ebp),%edx
410374:	8d 4c 24 30          	lea    0x30(%esp),%ecx
410378:	e8 90 e4 00 00       	call   0x41e80d
41037d:	b0 01                	mov    $0x1,%al
41037f:	eb 49                	jmp    0x4103ca
410381:	ff 35 3c 4f 42 00    	push   0x424f3c
410387:	ff 15 dc 61 42 00    	call   *0x4261dc
41038d:	ff 35 30 4e 42 00    	push   0x424e30
410393:	ff 15 54 61 42 00    	call   *0x426154
410399:	83 0d 30 4e 42 00 ff 	orl    $0xffffffff,0x424e30
4103a0:	85 f6                	test   %esi,%esi
4103a2:	74 07                	je     0x4103ab
4103a4:	56                   	push   %esi
4103a5:	ff 15 f0 60 42 00    	call   *0x4260f0
4103ab:	83 7c 24 2c 00       	cmpl   $0x0,0x2c(%esp)
4103b0:	74 08                	je     0x4103ba
4103b2:	ff 37                	push   (%edi)
4103b4:	ff 15 f4 60 42 00    	call   *0x4260f4
4103ba:	83 3d f0 5b 42 00 00 	cmpl   $0x0,0x425bf0
4103c1:	74 05                	je     0x4103c8
4103c3:	e8 d4 fa ff ff       	call   0x40fe9c
4103c8:	32 c0                	xor    %al,%al
4103ca:	8b 8c 24 74 04 00 00 	mov    0x474(%esp),%ecx
4103d1:	5f                   	pop    %edi
4103d2:	5e                   	pop    %esi
4103d3:	5b                   	pop    %ebx
4103d4:	33 cc                	xor    %esp,%ecx
4103d6:	e8 95 14 01 00       	call   0x421870
4103db:	8b e5                	mov    %ebp,%esp
4103dd:	5d                   	pop    %ebp
4103de:	c2 08 00             	ret    $0x8
4103e1:	8b ff                	mov    %edi,%edi
4103e3:	55                   	push   %ebp
4103e4:	8b ec                	mov    %esp,%ebp
4103e6:	51                   	push   %ecx
4103e7:	53                   	push   %ebx
4103e8:	56                   	push   %esi
4103e9:	57                   	push   %edi
4103ea:	8b f9                	mov    %ecx,%edi
4103ec:	33 db                	xor    %ebx,%ebx
4103ee:	57                   	push   %edi
4103ef:	8b f2                	mov    %edx,%esi
4103f1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4103f4:	ff 15 34 63 42 00    	call   *0x426334
4103fa:	85 c0                	test   %eax,%eax
4103fc:	74 4f                	je     0x41044d
4103fe:	68 04 20 40 00       	push   $0x402004
410403:	50                   	push   %eax
410404:	ff 15 ec 63 42 00    	call   *0x4263ec
41040a:	59                   	pop    %ecx
41040b:	59                   	pop    %ecx
41040c:	85 c0                	test   %eax,%eax
41040e:	74 36                	je     0x410446
410410:	53                   	push   %ebx
410411:	8d 45 fc             	lea    -0x4(%ebp),%eax
410414:	50                   	push   %eax
410415:	53                   	push   %ebx
410416:	53                   	push   %ebx
410417:	53                   	push   %ebx
410418:	53                   	push   %ebx
410419:	57                   	push   %edi
41041a:	53                   	push   %ebx
41041b:	ff 15 b4 90 42 00    	call   *0x4290b4
410421:	ba 04 01 00 00       	mov    $0x104,%edx
410426:	8b ce                	mov    %esi,%ecx
410428:	85 c0                	test   %eax,%eax
41042a:	78 13                	js     0x41043f
41042c:	ff 75 fc             	push   -0x4(%ebp)
41042f:	e8 20 60 ff ff       	call   0x406454
410434:	ff 75 fc             	push   -0x4(%ebp)
410437:	ff 15 dc 62 42 00    	call   *0x4262dc
41043d:	eb 1f                	jmp    0x41045e
41043f:	68 10 20 40 00       	push   $0x402010
410444:	eb 13                	jmp    0x410459
410446:	68 28 20 40 00       	push   $0x402028
41044b:	eb 05                	jmp    0x410452
41044d:	68 3c 20 40 00       	push   $0x40203c
410452:	8b ce                	mov    %esi,%ecx
410454:	ba 04 01 00 00       	mov    $0x104,%edx
410459:	e8 f6 5f ff ff       	call   0x406454
41045e:	5f                   	pop    %edi
41045f:	5e                   	pop    %esi
410460:	5b                   	pop    %ebx
410461:	c9                   	leave
410462:	c3                   	ret
410463:	68 a0 02 00 00       	push   $0x2a0
410468:	68 e0 2c 42 00       	push   $0x422ce0
41046d:	e8 7e 26 01 00       	call   0x422af0
410472:	89 95 54 fd ff ff    	mov    %edx,-0x2ac(%ebp)
410478:	8b f1                	mov    %ecx,%esi
41047a:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
410480:	89 b5 50 fd ff ff    	mov    %esi,-0x2b0(%ebp)
410486:	33 ff                	xor    %edi,%edi
410488:	8b df                	mov    %edi,%ebx
41048a:	89 bd 58 fd ff ff    	mov    %edi,-0x2a8(%ebp)
410490:	89 bd 5c fd ff ff    	mov    %edi,-0x2a4(%ebp)
410496:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
41049c:	6a 34                	push   $0x34
41049e:	57                   	push   %edi
41049f:	8d 45 b0             	lea    -0x50(%ebp),%eax
4104a2:	50                   	push   %eax
4104a3:	e8 a0 23 01 00       	call   0x422848
4104a8:	83 c4 0c             	add    $0xc,%esp
4104ab:	89 bd 60 fd ff ff    	mov    %edi,-0x2a0(%ebp)
4104b1:	8b c7                	mov    %edi,%eax
4104b3:	89 85 88 fd ff ff    	mov    %eax,-0x278(%ebp)
4104b9:	e8 e5 e1 00 00       	call   0x41e6a3
4104be:	68 0c 02 00 00       	push   $0x20c
4104c3:	57                   	push   %edi
4104c4:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
4104ca:	50                   	push   %eax
4104cb:	e8 78 23 01 00       	call   0x422848
4104d0:	83 c4 0c             	add    $0xc,%esp
4104d3:	ff 36                	push   (%esi)
4104d5:	ff 15 68 64 42 00    	call   *0x426468
4104db:	89 85 9c fd ff ff    	mov    %eax,-0x264(%ebp)
4104e1:	ff 36                	push   (%esi)
4104e3:	ff 15 34 63 42 00    	call   *0x426334
4104e9:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
4104ef:	a1 30 4e 42 00       	mov    0x424e30,%eax
4104f4:	83 f8 ff             	cmp    $0xffffffff,%eax
4104f7:	0f 84 db 07 00 00    	je     0x410cd8
4104fd:	8d 4d b0             	lea    -0x50(%ebp),%ecx
410500:	51                   	push   %ecx
410501:	50                   	push   %eax
410502:	ff 15 00 61 42 00    	call   *0x426100
410508:	8b f0                	mov    %eax,%esi
41050a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41050d:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
410513:	89 85 98 fd ff ff    	mov    %eax,-0x268(%ebp)
410519:	8d 95 a4 fd ff ff    	lea    -0x25c(%ebp),%edx
41051f:	8b 8d 7c fd ff ff    	mov    -0x284(%ebp),%ecx
410525:	8b 09                	mov    (%ecx),%ecx
410527:	e8 b5 fe ff ff       	call   0x4103e1
41052c:	85 f6                	test   %esi,%esi
41052e:	0f 84 91 07 00 00    	je     0x410cc5
410534:	81 bd 94 fd ff ff 00 	cmpl   $0x40000000,-0x26c(%ebp)
41053b:	00 00 40
41053e:	0f 83 60 07 00 00    	jae    0x410ca4
410544:	39 5d d0             	cmp    %ebx,-0x30(%ebp)
410547:	0f 85 57 07 00 00    	jne    0x410ca4
41054d:	ff 35 38 4f 42 00    	push   0x424f38
410553:	ff 15 dc 61 42 00    	call   *0x4261dc
410559:	8b 85 7c fd ff ff    	mov    -0x284(%ebp),%eax
41055f:	8b 08                	mov    (%eax),%ecx
410561:	e8 5d 09 00 00       	call   0x410ec3
410566:	85 c0                	test   %eax,%eax
410568:	0f 84 6a 07 00 00    	je     0x410cd8
41056e:	8b 85 94 fd ff ff    	mov    -0x26c(%ebp),%eax
410574:	85 c0                	test   %eax,%eax
410576:	74 55                	je     0x4105cd
410578:	8b f7                	mov    %edi,%esi
41057a:	89 b5 68 fd ff ff    	mov    %esi,-0x298(%ebp)
410580:	57                   	push   %edi
410581:	50                   	push   %eax
410582:	57                   	push   %edi
410583:	6a 02                	push   $0x2
410585:	57                   	push   %edi
410586:	ff 35 30 4e 42 00    	push   0x424e30
41058c:	ff 15 04 61 42 00    	call   *0x426104
410592:	8b c8                	mov    %eax,%ecx
410594:	89 8d 6c fd ff ff    	mov    %ecx,-0x294(%ebp)
41059a:	85 c9                	test   %ecx,%ecx
41059c:	74 44                	je     0x4105e2
41059e:	ff b5 94 fd ff ff    	push   -0x26c(%ebp)
4105a4:	57                   	push   %edi
4105a5:	57                   	push   %edi
4105a6:	6a 04                	push   $0x4
4105a8:	58                   	pop    %eax
4105a9:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
4105af:	50                   	push   %eax
4105b0:	51                   	push   %ecx
4105b1:	ff 15 08 61 42 00    	call   *0x426108
4105b7:	8b f0                	mov    %eax,%esi
4105b9:	89 b5 68 fd ff ff    	mov    %esi,-0x298(%ebp)
4105bf:	ff b5 6c fd ff ff    	push   -0x294(%ebp)
4105c5:	ff 15 54 61 42 00    	call   *0x426154
4105cb:	eb 1f                	jmp    0x4105ec
4105cd:	8d b5 64 fd ff ff    	lea    -0x29c(%ebp),%esi
4105d3:	89 b5 68 fd ff ff    	mov    %esi,-0x298(%ebp)
4105d9:	33 c0                	xor    %eax,%eax
4105db:	66 89 85 64 fd ff ff 	mov    %ax,-0x29c(%ebp)
4105e2:	c7 85 90 fd ff ff 04 	movl   $0x4,-0x270(%ebp)
4105e9:	00 00 00
4105ec:	ff 35 30 4e 42 00    	push   0x424e30
4105f2:	ff 15 54 61 42 00    	call   *0x426154
4105f8:	83 0d 30 4e 42 00 ff 	orl    $0xffffffff,0x424e30
4105ff:	85 f6                	test   %esi,%esi
410601:	75 11                	jne    0x410614
410603:	ff 35 3c 4f 42 00    	push   0x424f3c
410609:	ff 15 dc 61 42 00    	call   *0x4261dc
41060f:	e9 c4 06 00 00       	jmp    0x410cd8
410614:	89 7d fc             	mov    %edi,-0x4(%ebp)
410617:	8b d6                	mov    %esi,%edx
410619:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
41061f:	8b 85 54 fd ff ff    	mov    -0x2ac(%ebp),%eax
410625:	85 c0                	test   %eax,%eax
410627:	0f 85 35 01 00 00    	jne    0x410762
41062d:	0f b7 16             	movzwl (%esi),%edx
410630:	8b c2                	mov    %edx,%eax
410632:	b9 ef bb 00 00       	mov    $0xbbef,%ecx
410637:	66 3b c1             	cmp    %cx,%ax
41063a:	74 52                	je     0x41068e
41063c:	b9 ff fe 00 00       	mov    $0xfeff,%ecx
410641:	66 3b c1             	cmp    %cx,%ax
410644:	74 44                	je     0x41068a
410646:	b9 fe ff 00 00       	mov    $0xfffe,%ecx
41064b:	66 3b d1             	cmp    %cx,%dx
41064e:	75 6f                	jne    0x4106bf
410650:	6a 03                	push   $0x3
410652:	33 c0                	xor    %eax,%eax
410654:	40                   	inc    %eax
410655:	89 85 70 fd ff ff    	mov    %eax,-0x290(%ebp)
41065b:	89 85 78 fd ff ff    	mov    %eax,-0x288(%ebp)
410661:	58                   	pop    %eax
410662:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
410668:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
41066e:	8b 85 94 fd ff ff    	mov    -0x26c(%ebp),%eax
410674:	8b d8                	mov    %eax,%ebx
410676:	d1 eb                	shr    $1,%ebx
410678:	4b                   	dec    %ebx
410679:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
41067f:	8b 95 84 fd ff ff    	mov    -0x27c(%ebp),%edx