440101:	8b 0e                	mov    (%esi),%ecx
440103:	85 c9                	test   %ecx,%ecx
440105:	0f 84 d7 ac fc ff    	je     0x40ade2
44010b:	51                   	push   %ecx
44010c:	e8 23 8d fc ff       	call   0x408e34
440111:	e9 cc ac fc ff       	jmp    0x40ade2
440116:	8b 06                	mov    (%esi),%eax
440118:	ff 70 04             	push   0x4(%eax)
44011b:	e8 4c 0f fe ff       	call   0x42106c
440120:	83 c4 04             	add    $0x4,%esp
440123:	ff 36                	push   (%esi)
440125:	e8 42 0f fe ff       	call   0x42106c
44012a:	83 c4 04             	add    $0x4,%esp
44012d:	e9 b0 ac fc ff       	jmp    0x40ade2
440132:	8b 0e                	mov    (%esi),%ecx
440134:	85 c9                	test   %ecx,%ecx
440136:	0f 84 a6 ac fc ff    	je     0x40ade2
44013c:	51                   	push   %ecx
44013d:	e8 ae 72 01 00       	call   0x4573f0
440142:	e9 9b ac fc ff       	jmp    0x40ade2
440147:	8b 0e                	mov    (%esi),%ecx
440149:	85 c9                	test   %ecx,%ecx
44014b:	0f 84 91 ac fc ff    	je     0x40ade2
440151:	51                   	push   %ecx
440152:	e8 ae 72 01 00       	call   0x457405
440157:	e9 86 ac fc ff       	jmp    0x40ade2
44015c:	8b 36                	mov    (%esi),%esi
44015e:	85 f6                	test   %esi,%esi
440160:	74 10                	je     0x440172
440162:	8b ce                	mov    %esi,%ecx
440164:	e8 fb 58 fc ff       	call   0x405a64
440169:	56                   	push   %esi
44016a:	e8 fd 0e fe ff       	call   0x42106c
44016f:	83 c4 04             	add    $0x4,%esp
440172:	8b 74 24 18          	mov    0x18(%esp),%esi
440176:	e9 67 ac fc ff       	jmp    0x40ade2
44017b:	8b 40 08             	mov    0x8(%eax),%eax
44017e:	8b 70 38             	mov    0x38(%eax),%esi
440181:	e9 b2 ac fc ff       	jmp    0x40ae38
440186:	51                   	push   %ecx
440187:	e8 b1 79 fc ff       	call   0x407b3d
44018c:	8b 54 24 0c          	mov    0xc(%esp),%edx
440190:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
440197:	e9 a7 ac fc ff       	jmp    0x40ae43
44019c:	83 e8 05             	sub    $0x5,%eax
44019f:	83 f8 0a             	cmp    $0xa,%eax
4401a2:	0f 87 a7 ac fc ff    	ja     0x40ae4f
4401a8:	ff 24 85 38 0f 44 00 	jmp    *0x440f38(,%eax,4)
4401af:	8b 46 20             	mov    0x20(%esi),%eax
4401b2:	85 c0                	test   %eax,%eax
4401b4:	0f 84 95 ac fc ff    	je     0x40ae4f
4401ba:	50                   	push   %eax
4401bb:	ff 15 5c f4 48 00    	call   *0x48f45c
4401c1:	ff 76 20             	push   0x20(%esi)
4401c4:	eb 7a                	jmp    0x440240
4401c6:	8b 46 20             	mov    0x20(%esi),%eax
4401c9:	89 44 24 40          	mov    %eax,0x40(%esp)
4401cd:	85 c0                	test   %eax,%eax
4401cf:	0f 84 7a ac fc ff    	je     0x40ae4f
4401d5:	8d 48 08             	lea    0x8(%eax),%ecx
4401d8:	eb 5d                	jmp    0x440237
4401da:	8b 4e 20             	mov    0x20(%esi),%ecx
4401dd:	85 c9                	test   %ecx,%ecx
4401df:	0f 84 6a ac fc ff    	je     0x40ae4f
4401e5:	51                   	push   %ecx
4401e6:	e8 49 8c fc ff       	call   0x408e34
4401eb:	eb 5b                	jmp    0x440248
4401ed:	8b 46 20             	mov    0x20(%esi),%eax
4401f0:	ff 70 04             	push   0x4(%eax)
4401f3:	e8 74 0e fe ff       	call   0x42106c
4401f8:	83 c4 04             	add    $0x4,%esp
4401fb:	ff 76 20             	push   0x20(%esi)
4401fe:	eb 40                	jmp    0x440240
440200:	8b 4e 20             	mov    0x20(%esi),%ecx
440203:	85 c9                	test   %ecx,%ecx
440205:	0f 84 44 ac fc ff    	je     0x40ae4f
44020b:	51                   	push   %ecx
44020c:	e8 df 71 01 00       	call   0x4573f0
440211:	eb 35                	jmp    0x440248
440213:	8b 4e 20             	mov    0x20(%esi),%ecx
440216:	85 c9                	test   %ecx,%ecx
440218:	0f 84 31 ac fc ff    	je     0x40ae4f
44021e:	51                   	push   %ecx
44021f:	e8 e1 71 01 00       	call   0x457405
440224:	eb 22                	jmp    0x440248
440226:	8b 46 20             	mov    0x20(%esi),%eax
440229:	89 44 24 40          	mov    %eax,0x40(%esp)
44022d:	85 c0                	test   %eax,%eax
44022f:	0f 84 1a ac fc ff    	je     0x40ae4f
440235:	8b c8                	mov    %eax,%ecx
440237:	e8 28 58 fc ff       	call   0x405a64
44023c:	ff 74 24 40          	push   0x40(%esp)
440240:	e8 27 0e fe ff       	call   0x42106c
440245:	83 c4 04             	add    $0x4,%esp
440248:	8b 54 24 0c          	mov    0xc(%esp),%edx
44024c:	e9 fe ab fc ff       	jmp    0x40ae4f
440251:	68 88 74 4c 00       	push   $0x4c7488
440256:	8d 4c 24 24          	lea    0x24(%esp),%ecx
44025a:	c7 44 24 14 16 00 00 	movl   $0x16,0x14(%esp)
440261:	00
440262:	e8 1d f9 fd ff       	call   0x41fb84
440267:	8b 75 0c             	mov    0xc(%ebp),%esi
44026a:	8b 7d 08             	mov    0x8(%ebp),%edi
44026d:	8b 0e                	mov    (%esi),%ecx
44026f:	8b 57 04             	mov    0x4(%edi),%edx
440272:	8b 44 8a 04          	mov    0x4(%edx,%ecx,4),%eax
440276:	66 83 78 08 47       	cmpw   $0x47,0x8(%eax)
44027b:	74 6b                	je     0x4402e8
44027d:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
440280:	8b 08                	mov    (%eax),%ecx
440282:	8b 01                	mov    (%ecx),%eax
440284:	89 84 24 a8 00 00 00 	mov    %eax,0xa8(%esp)
44028b:	8b 41 04             	mov    0x4(%ecx),%eax
44028e:	89 84 24 ac 00 00 00 	mov    %eax,0xac(%esp)
440295:	8b 41 08             	mov    0x8(%ecx),%eax
440298:	89 84 24 b0 00 00 00 	mov    %eax,0xb0(%esp)
44029f:	8b 41 0c             	mov    0xc(%ecx),%eax
4402a2:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4402a6:	89 84 24 b4 00 00 00 	mov    %eax,0xb4(%esp)
4402ad:	ff 00                	incl   (%eax)
4402af:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
4402b6:	50                   	push   %eax
4402b7:	e8 01 9d fc ff       	call   0x409fbd
4402bc:	85 c0                	test   %eax,%eax
4402be:	0f 84 02 0a 00 00    	je     0x440cc6
4402c4:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
4402cb:	50                   	push   %eax
4402cc:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4402d0:	e8 98 f8 fd ff       	call   0x41fb6d
4402d5:	8b c8                	mov    %eax,%ecx
4402d7:	e8 fd 82 02 00       	call   0x4685d9
4402dc:	8d 8c 24 a8 00 00 00 	lea    0xa8(%esp),%ecx
4402e3:	e9 61 03 00 00       	jmp    0x440649
4402e8:	8d 44 24 7f          	lea    0x7f(%esp),%eax
4402ec:	50                   	push   %eax
4402ed:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4402f1:	e8 77 f8 fd ff       	call   0x41fb6d
4402f6:	50                   	push   %eax
4402f7:	56                   	push   %esi
4402f8:	57                   	push   %edi
4402f9:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4402fd:	8b cf                	mov    %edi,%ecx
4402ff:	6a 00                	push   $0x0
440301:	e8 3a fb fc ff       	call   0x40fe40
440306:	85 c0                	test   %eax,%eax
440308:	0f 88 05 0a 00 00    	js     0x440d13
44030e:	83 bf f8 00 00 00 01 	cmpl   $0x1,0xf8(%edi)
440315:	0f 84 f8 09 00 00    	je     0x440d13
44031b:	e9 c8 a1 fc ff       	jmp    0x40a4e8
440320:	c7 44 24 10 10 00 00 	movl   $0x10,0x10(%esp)
440327:	00
440328:	e9 86 ad fc ff       	jmp    0x40b0b3
44032d:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
440332:	c7 44 24 10 16 00 00 	movl   $0x16,0x10(%esp)
440339:	00
44033a:	0f 84 eb 09 00 00    	je     0x440d2b
440340:	8d 84 24 c8 00 00 00 	lea    0xc8(%esp),%eax
440347:	c7 84 24 c8 00 00 00 	movl   $0x0,0xc8(%esp)
44034e:	00 00 00 00
440352:	50                   	push   %eax
440353:	8d 4c 24 24          	lea    0x24(%esp),%ecx
440357:	c7 84 24 d4 00 00 00 	movl   $0x0,0xd4(%esp)
44035e:	00 00 00 00
440362:	c7 84 24 d8 00 00 00 	movl   $0x1,0xd8(%esp)
440369:	01 00 00 00
44036d:	e8 fb f7 fd ff       	call   0x41fb6d
440372:	8b 75 0c             	mov    0xc(%ebp),%esi
440375:	8b 4c 24 10          	mov    0x10(%esp),%ecx
440379:	50                   	push   %eax
44037a:	56                   	push   %esi
44037b:	ff 75 08             	push   0x8(%ebp)
44037e:	e8 9d c6 fc ff       	call   0x40ca20
440383:	85 c0                	test   %eax,%eax
440385:	0f 88 92 09 00 00    	js     0x440d1d
44038b:	8d 84 24 c8 00 00 00 	lea    0xc8(%esp),%eax
440392:	50                   	push   %eax
440393:	8d 4c 24 24          	lea    0x24(%esp),%ecx
440397:	e8 d1 f7 fd ff       	call   0x41fb6d
44039c:	8b c8                	mov    %eax,%ecx
44039e:	e8 f9 9a fc ff       	call   0x409e9c
4403a3:	8d 8c 24 c8 00 00 00 	lea    0xc8(%esp),%ecx
4403aa:	e8 71 96 fc ff       	call   0x409a20
4403af:	e9 53 9d fc ff       	jmp    0x40a107
4403b4:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
4403b9:	0f 84 6c 09 00 00    	je     0x440d2b
4403bf:	8d 84 24 b8 00 00 00 	lea    0xb8(%esp),%eax
4403c6:	c7 84 24 b8 00 00 00 	movl   $0x0,0xb8(%esp)
4403cd:	00 00 00 00
4403d1:	50                   	push   %eax
4403d2:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4403d6:	c7 84 24 c4 00 00 00 	movl   $0x0,0xc4(%esp)
4403dd:	00 00 00 00
4403e1:	c7 84 24 c8 00 00 00 	movl   $0x1,0xc8(%esp)
4403e8:	01 00 00 00
4403ec:	e8 7c f7 fd ff       	call   0x41fb6d
4403f1:	8b 75 0c             	mov    0xc(%ebp),%esi
4403f4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4403f8:	50                   	push   %eax
4403f9:	56                   	push   %esi
4403fa:	ff 75 08             	push   0x8(%ebp)
4403fd:	e8 1e c6 fc ff       	call   0x40ca20
440402:	85 c0                	test   %eax,%eax
440404:	0f 88 58 09 00 00    	js     0x440d62
44040a:	8d 84 24 b8 00 00 00 	lea    0xb8(%esp),%eax
440411:	50                   	push   %eax
440412:	8d 4c 24 24          	lea    0x24(%esp),%ecx
440416:	e8 52 f7 fd ff       	call   0x41fb6d
44041b:	8b c8                	mov    %eax,%ecx
44041d:	e8 7a 9a fc ff       	call   0x409e9c
440422:	8d 8c 24 b8 00 00 00 	lea    0xb8(%esp),%ecx
440429:	e8 f2 95 fc ff       	call   0x409a20
44042e:	e9 d4 9c fc ff       	jmp    0x40a107
440433:	8d 41 01             	lea    0x1(%ecx),%eax
440436:	be 06 00 00 00       	mov    $0x6,%esi
44043b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44043e:	89 01                	mov    %eax,(%ecx)
440440:	e9 26 9d fc ff       	jmp    0x40a16b
440445:	8d 41 01             	lea    0x1(%ecx),%eax
440448:	be 0f 00 00 00       	mov    $0xf,%esi
44044d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
440450:	89 01                	mov    %eax,(%ecx)
440452:	e9 14 9d fc ff       	jmp    0x40a16b
440457:	8d 4c 24 50          	lea    0x50(%esp),%ecx
44045b:	e8 7d fc fd ff       	call   0x4200dd
440460:	8b 00                	mov    (%eax),%eax
440462:	83 f8 14             	cmp    $0x14,%eax
440465:	74 43                	je     0x4404aa
440467:	83 f8 12             	cmp    $0x12,%eax
44046a:	74 3e                	je     0x4404aa
44046c:	8d 44 24 20          	lea    0x20(%esp),%eax
440470:	50                   	push   %eax
440471:	8d 44 24 54          	lea    0x54(%esp),%eax
440475:	50                   	push   %eax
440476:	e8 e5 b5 fc ff       	call   0x40ba60
44047b:	85 c0                	test   %eax,%eax
44047d:	79 d8                	jns    0x440457
44047f:	ff 74 24 5c          	push   0x5c(%esp)
440483:	8b 4c 24 10          	mov    0x10(%esp),%ecx
440487:	6a 6e                	push   $0x6e
440489:	e8 27 9c 02 00       	call   0x46a0b5
44048e:	8b 54 24 54          	mov    0x54(%esp),%edx
440492:	8b 7c 24 28          	mov    0x28(%esp),%edi
440496:	89 54 24 1c          	mov    %edx,0x1c(%esp)
44049a:	89 7c 24 08          	mov    %edi,0x8(%esp)
44049e:	8b 44 24 08          	mov    0x8(%esp),%eax
4404a2:	83 cf ff             	or     $0xffffffff,%edi
4404a5:	e9 01 9d fc ff       	jmp    0x40a1ab
4404aa:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
4404af:	0f 84 c2 08 00 00    	je     0x440d77
4404b5:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4404b9:	e8 af f6 fd ff       	call   0x41fb6d
4404be:	8b c8                	mov    %eax,%ecx
4404c0:	e8 b6 73 02 00       	call   0x46787b
4404c5:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4404c9:	84 c0                	test   %al,%al
4404cb:	74 5e                	je     0x44052b
4404cd:	e8 45 f6 fd ff       	call   0x41fb17
4404d2:	8b 7d 0c             	mov    0xc(%ebp),%edi
4404d5:	b9 01 00 00 00       	mov    $0x1,%ecx
4404da:	8b 45 08             	mov    0x8(%ebp),%eax
4404dd:	ff 07                	incl   (%edi)
4404df:	8b 17                	mov    (%edi),%edx
4404e1:	8b 70 04             	mov    0x4(%eax),%esi
4404e4:	8b 04 96             	mov    (%esi,%edx,4),%eax
4404e7:	0f b7 40 08          	movzwl 0x8(%eax),%eax
4404eb:	66 83 f8 57          	cmp    $0x57,%ax
4404ef:	75 03                	jne    0x4404f4
4404f1:	41                   	inc    %ecx
4404f2:	eb 19                	jmp    0x44050d
4404f4:	66 83 f8 58          	cmp    $0x58,%ax
4404f8:	75 03                	jne    0x4404fd
4404fa:	49                   	dec    %ecx
4404fb:	eb 10                	jmp    0x44050d
4404fd:	66 83 f8 7f          	cmp    $0x7f,%ax
440501:	74 11                	je     0x440514
440503:	66 83 f8 40          	cmp    $0x40,%ax
440507:	75 04                	jne    0x44050d
440509:	85 c9                	test   %ecx,%ecx
44050b:	74 07                	je     0x440514
44050d:	42                   	inc    %edx
44050e:	89 17                	mov    %edx,(%edi)
440510:	85 c9                	test   %ecx,%ecx
440512:	75 d0                	jne    0x4404e4
440514:	8b f7                	mov    %edi,%esi
440516:	8b 44 24 54          	mov    0x54(%esp),%eax
44051a:	c7 44 24 10 12 00 00 	movl   $0x12,0x10(%esp)
440521:	00
440522:	89 44 24 1c          	mov    %eax,0x1c(%esp)
440526:	e9 bd 9f fc ff       	jmp    0x40a4e8
44052b:	e8 e7 f5 fd ff       	call   0x41fb17
440530:	8b 75 0c             	mov    0xc(%ebp),%esi
440533:	ff 06                	incl   (%esi)
440535:	eb df                	jmp    0x440516
440537:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
44053c:	8b 45 0c             	mov    0xc(%ebp),%eax
44053f:	0f 84 e9 07 00 00    	je     0x440d2e
440545:	8b 75 0c             	mov    0xc(%ebp),%esi
440548:	8d 51 01             	lea    0x1(%ecx),%edx
44054b:	89 10                	mov    %edx,(%eax)
44054d:	b9 01 00 00 00       	mov    $0x1,%ecx
440552:	8b 45 08             	mov    0x8(%ebp),%eax
440555:	c7 44 24 10 16 00 00 	movl   $0x16,0x10(%esp)
44055c:	00
44055d:	8b 78 04             	mov    0x4(%eax),%edi
440560:	8b 04 97             	mov    (%edi,%edx,4),%eax
440563:	0f b7 40 08          	movzwl 0x8(%eax),%eax
440567:	66 83 f8 47          	cmp    $0x47,%ax
44056b:	75 03                	jne    0x440570
44056d:	41                   	inc    %ecx
44056e:	eb 1a                	jmp    0x44058a
440570:	66 83 f8 48          	cmp    $0x48,%ax
440574:	75 03                	jne    0x440579
440576:	49                   	dec    %ecx
440577:	eb 11                	jmp    0x44058a
440579:	66 83 f8 7f          	cmp    $0x7f,%ax
44057d:	74 12                	je     0x440591
44057f:	66 83 f8 40          	cmp    $0x40,%ax
440583:	75 05                	jne    0x44058a
440585:	83 f9 01             	cmp    $0x1,%ecx
440588:	74 07                	je     0x440591
44058a:	42                   	inc    %edx
44058b:	89 16                	mov    %edx,(%esi)
44058d:	85 c9                	test   %ecx,%ecx
44058f:	75 cf                	jne    0x440560
440591:	8b 7d 10             	mov    0x10(%ebp),%edi
440594:	8b d6                	mov    %esi,%edx
440596:	8b 74 24 40          	mov    0x40(%esp),%esi
44059a:	8b 12                	mov    (%edx),%edx
44059c:	8b 44 96 fc          	mov    -0x4(%esi,%edx,4),%eax
4405a0:	8b 75 0c             	mov    0xc(%ebp),%esi
4405a3:	66 83 78 08 48       	cmpw   $0x48,0x8(%eax)
4405a8:	8b 45 14             	mov    0x14(%ebp),%eax
4405ab:	0f 85 3d ad fc ff    	jne    0x40b2ee
4405b1:	85 c9                	test   %ecx,%ecx
4405b3:	0f 85 35 ad fc ff    	jne    0x40b2ee
4405b9:	8d 42 ff             	lea    -0x1(%edx),%eax
4405bc:	89 06                	mov    %eax,(%esi)
4405be:	e9 44 9b fc ff       	jmp    0x40a107
4405c3:	8d 41 01             	lea    0x1(%ecx),%eax
4405c6:	be 0a 00 00 00       	mov    $0xa,%esi
4405cb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4405ce:	89 01                	mov    %eax,(%ecx)
4405d0:	e9 96 9b fc ff       	jmp    0x40a16b
4405d5:	83 ec 10             	sub    $0x10,%esp
4405d8:	c7 44 24 20 16 00 00 	movl   $0x16,0x20(%esp)
4405df:	00
4405e0:	8b cc                	mov    %esp,%ecx
4405e2:	68 d4 a4 4b 00       	push   $0x4ba4d4
4405e7:	e8 55 79 fc ff       	call   0x407f41
4405ec:	6a ff                	push   $0xffffffff