44114b:	85 c9                	test   %ecx,%ecx
44114d:	74 21                	je     0x441170
44114f:	8b f0                	mov    %eax,%esi
441151:	b8 05 40 00 80       	mov    $0x80004005,%eax
441156:	85 f6                	test   %esi,%esi
441158:	0f 49 f0             	cmovns %eax,%esi
44115b:	56                   	push   %esi
44115c:	68 1a 02 00 00       	push   $0x21a
441161:	68 34 64 46 00       	push   $0x466434
441166:	e8 68 26 fc ff       	call   0x4037d3
44116b:	e9 c5 00 00 00       	jmp    0x441235
441170:	d1 ea                	shr    $1,%edx
441172:	3b d7                	cmp    %edi,%edx
441174:	74 0a                	je     0x441180
441176:	be ff ff 00 80       	mov    $0x8000ffff,%esi
44117b:	e9 b5 00 00 00       	jmp    0x441235
441180:	83 7d f4 07          	cmpl   $0x7,-0xc(%ebp)
441184:	74 0d                	je     0x441193
441186:	be 0c 07 07 80       	mov    $0x8007070c,%esi
44118b:	56                   	push   %esi
44118c:	68 25 02 00 00       	push   $0x225
441191:	eb ce                	jmp    0x441161
441193:	83 ff 02             	cmp    $0x2,%edi
441196:	73 11                	jae    0x4411a9
441198:	8b 45 10             	mov    0x10(%ebp),%eax
44119b:	21 18                	and    %ebx,(%eax)
44119d:	8b 45 14             	mov    0x14(%ebp),%eax
4411a0:	21 18                	and    %ebx,(%eax)
4411a2:	33 f6                	xor    %esi,%esi
4411a4:	e9 8c 00 00 00       	jmp    0x441235
4411a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4411ac:	33 c9                	xor    %ecx,%ecx
4411ae:	66 3b 4c 78 fe       	cmp    -0x2(%eax,%edi,2),%cx
4411b3:	75 7b                	jne    0x441230
4411b5:	66 3b 4c 78 fc       	cmp    -0x4(%eax,%edi,2),%cx
4411ba:	75 74                	jne    0x441230
4411bc:	33 f6                	xor    %esi,%esi
4411be:	85 d2                	test   %edx,%edx
4411c0:	74 19                	je     0x4411db
4411c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4411c5:	33 ff                	xor    %edi,%edi
4411c7:	0f b7 0c 70          	movzwl (%eax,%esi,2),%ecx
4411cb:	46                   	inc    %esi
4411cc:	66 3b f9             	cmp    %cx,%di
4411cf:	8d 43 01             	lea    0x1(%ebx),%eax
4411d2:	0f 45 c3             	cmovne %ebx,%eax
4411d5:	8b d8                	mov    %eax,%ebx
4411d7:	3b f2                	cmp    %edx,%esi
4411d9:	72 e7                	jb     0x4411c2
4411db:	8b 4d 14             	mov    0x14(%ebp),%ecx
4411de:	8d 43 ff             	lea    -0x1(%ebx),%eax
4411e1:	6a 00                	push   $0x0
4411e3:	6a 04                	push   $0x4
4411e5:	50                   	push   %eax
4411e6:	ff 75 10             	push   0x10(%ebp)
4411e9:	89 01                	mov    %eax,(%ecx)
4411eb:	e8 06 27 fc ff       	call   0x4038f6
4411f0:	8b f0                	mov    %eax,%esi
4411f2:	85 f6                	test   %esi,%esi
4411f4:	78 3f                	js     0x441235
4411f6:	8b 45 14             	mov    0x14(%ebp),%eax
4411f9:	33 db                	xor    %ebx,%ebx
4411fb:	8b 7d fc             	mov    -0x4(%ebp),%edi
4411fe:	39 18                	cmp    %ebx,(%eax)
441200:	76 33                	jbe    0x441235
441202:	8b 45 10             	mov    0x10(%ebp),%eax
441205:	6a 00                	push   $0x0
441207:	57                   	push   %edi
441208:	8b 00                	mov    (%eax),%eax
44120a:	8d 04 98             	lea    (%eax,%ebx,4),%eax
44120d:	50                   	push   %eax
44120e:	e8 92 0f fc ff       	call   0x4021a5
441213:	8b f0                	mov    %eax,%esi
441215:	85 f6                	test   %esi,%esi
441217:	78 1c                	js     0x441235
441219:	57                   	push   %edi
44121a:	ff 15 f8 b0 44 00    	call   *0x44b0f8
441220:	8d 3c 47             	lea    (%edi,%eax,2),%edi
441223:	8b 45 14             	mov    0x14(%ebp),%eax
441226:	83 c7 02             	add    $0x2,%edi
441229:	43                   	inc    %ebx
44122a:	3b 18                	cmp    (%eax),%ebx
44122c:	72 d4                	jb     0x441202
44122e:	eb 05                	jmp    0x441235
441230:	be 57 00 07 80       	mov    $0x80070057,%esi
441235:	8b 45 fc             	mov    -0x4(%ebp),%eax
441238:	85 c0                	test   %eax,%eax
44123a:	74 06                	je     0x441242
44123c:	50                   	push   %eax
44123d:	e8 ad 42 00 00       	call   0x4454ef
441242:	5f                   	pop    %edi
441243:	8b c6                	mov    %esi,%eax
441245:	5e                   	pop    %esi
441246:	5b                   	pop    %ebx
441247:	8b e5                	mov    %ebp,%esp
441249:	5d                   	pop    %ebp
44124a:	c2 10 00             	ret    $0x10
44124d:	55                   	push   %ebp
44124e:	8b ec                	mov    %esp,%ebp
441250:	83 ec 0c             	sub    $0xc,%esp
441253:	53                   	push   %ebx
441254:	56                   	push   %esi
441255:	57                   	push   %edi
441256:	8b 7d 10             	mov    0x10(%ebp),%edi
441259:	8d 45 f4             	lea    -0xc(%ebp),%eax
44125c:	50                   	push   %eax
44125d:	33 db                	xor    %ebx,%ebx
44125f:	c7 45 f4 08 00 00 00 	movl   $0x8,-0xc(%ebp)
441266:	8d 45 fc             	lea    -0x4(%ebp),%eax
441269:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44126c:	ff 37                	push   (%edi)
44126e:	8b f3                	mov    %ebx,%esi
441270:	89 5d f8             	mov    %ebx,-0x8(%ebp)
441273:	50                   	push   %eax
441274:	53                   	push   %ebx
441275:	ff 75 0c             	push   0xc(%ebp)
441278:	ff 75 08             	push   0x8(%ebp)
44127b:	ff 15 60 b6 46 00    	call   *0x46b660
441281:	8b c8                	mov    %eax,%ecx
441283:	ba 02 00 07 80       	mov    $0x80070002,%edx
441288:	0f b7 c1             	movzwl %cx,%eax
44128b:	0d 00 00 07 80       	or     $0x80070000,%eax
441290:	85 c9                	test   %ecx,%ecx
441292:	0f 4e c1             	cmovle %ecx,%eax
441295:	3b c2                	cmp    %edx,%eax
441297:	75 04                	jne    0x44129d
441299:	8b f2                	mov    %edx,%esi
44129b:	eb 62                	jmp    0x4412ff
44129d:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
4412a1:	74 3b                	je     0x4412de
4412a3:	83 7d fc 02          	cmpl   $0x2,-0x4(%ebp)
4412a7:	74 35                	je     0x4412de
4412a9:	83 7d fc 0b          	cmpl   $0xb,-0x4(%ebp)
4412ad:	75 22                	jne    0x4412d1
4412af:	85 c9                	test   %ecx,%ecx
4412b1:	74 4c                	je     0x4412ff
4412b3:	8b f0                	mov    %eax,%esi
4412b5:	b8 05 40 00 80       	mov    $0x80004005,%eax
4412ba:	85 f6                	test   %esi,%esi
4412bc:	0f 49 f0             	cmovns %eax,%esi
4412bf:	56                   	push   %esi
4412c0:	68 79 02 00 00       	push   $0x279
4412c5:	68 34 64 46 00       	push   $0x466434
4412ca:	e8 04 25 fc ff       	call   0x4037d3
4412cf:	eb 2e                	jmp    0x4412ff
4412d1:	be 0c 07 07 80       	mov    $0x8007070c,%esi
4412d6:	56                   	push   %esi
4412d7:	68 7e 02 00 00       	push   $0x27e
4412dc:	eb e7                	jmp    0x4412c5
4412de:	8d 45 f8             	lea    -0x8(%ebp),%eax
4412e1:	50                   	push   %eax
4412e2:	ff 75 0c             	push   0xc(%ebp)
4412e5:	ff 75 08             	push   0x8(%ebp)
4412e8:	e8 81 fc ff ff       	call   0x440f6e
4412ed:	8b f0                	mov    %eax,%esi
4412ef:	85 f6                	test   %esi,%esi
4412f1:	78 0c                	js     0x4412ff
4412f3:	57                   	push   %edi
4412f4:	53                   	push   %ebx
4412f5:	ff 75 f8             	push   -0x8(%ebp)
4412f8:	e8 5d 38 00 00       	call   0x444b5a
4412fd:	8b f0                	mov    %eax,%esi
4412ff:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
441302:	74 08                	je     0x44130c
441304:	ff 75 f8             	push   -0x8(%ebp)
441307:	e8 e3 41 00 00       	call   0x4454ef
44130c:	5f                   	pop    %edi
44130d:	8b c6                	mov    %esi,%eax
44130f:	5e                   	pop    %esi
441310:	5b                   	pop    %ebx
441311:	8b e5                	mov    %ebp,%esp
441313:	5d                   	pop    %ebp
441314:	c2 0c 00             	ret    $0xc
441317:	a1 44 b6 46 00       	mov    0x46b644,%eax
44131c:	56                   	push   %esi
44131d:	33 f6                	xor    %esi,%esi
44131f:	85 c0                	test   %eax,%eax
441321:	74 19                	je     0x44133c
441323:	50                   	push   %eax
441324:	ff 15 b0 b1 44 00    	call   *0x44b1b0
44132a:	89 35 44 b6 46 00    	mov    %esi,0x46b644
441330:	89 35 70 b6 46 00    	mov    %esi,0x46b670
441336:	89 35 6c b6 46 00    	mov    %esi,0x46b66c
44133c:	89 35 74 b6 46 00    	mov    %esi,0x46b674
441342:	5e                   	pop    %esi
441343:	c3                   	ret
441344:	55                   	push   %ebp
441345:	8b ec                	mov    %esp,%ebp
441347:	56                   	push   %esi
441348:	6a 04                	push   $0x4
44134a:	8d 45 10             	lea    0x10(%ebp),%eax
44134d:	33 f6                	xor    %esi,%esi
44134f:	50                   	push   %eax
441350:	6a 04                	push   $0x4
441352:	56                   	push   %esi
441353:	ff 75 0c             	push   0xc(%ebp)
441356:	ff 75 08             	push   0x8(%ebp)
441359:	ff 15 64 b6 46 00    	call   *0x46b664
44135f:	85 c0                	test   %eax,%eax
441361:	74 28                	je     0x44138b
441363:	0f b7 f0             	movzwl %ax,%esi
441366:	81 ce 00 00 07 80    	or     $0x80070000,%esi
44136c:	85 c0                	test   %eax,%eax
44136e:	0f 4e f0             	cmovle %eax,%esi
441371:	b8 05 40 00 80       	mov    $0x80004005,%eax
441376:	85 f6                	test   %esi,%esi
441378:	0f 49 f0             	cmovns %eax,%esi
44137b:	56                   	push   %esi
44137c:	68 72 03 00 00       	push   $0x372
441381:	68 34 64 46 00       	push   $0x466434
441386:	e8 48 24 fc ff       	call   0x4037d3
44138b:	8b c6                	mov    %esi,%eax
44138d:	5e                   	pop    %esi
44138e:	5d                   	pop    %ebp
44138f:	c2 0c 00             	ret    $0xc
441392:	55                   	push   %ebp
441393:	8b ec                	mov    %esp,%ebp
441395:	51                   	push   %ecx
441396:	56                   	push   %esi
441397:	33 f6                	xor    %esi,%esi
441399:	21 75 fc             	and    %esi,-0x4(%ebp)
44139c:	39 75 10             	cmp    %esi,0x10(%ebp)
44139f:	74 4e                	je     0x4413ef
4413a1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4413a4:	50                   	push   %eax
4413a5:	6a ff                	push   $0xffffffff
4413a7:	ff 75 10             	push   0x10(%ebp)
4413aa:	e8 7c f6 ff ff       	call   0x440a2b
4413af:	8b f0                	mov    %eax,%esi
4413b1:	85 f6                	test   %esi,%esi
4413b3:	78 7e                	js     0x441433
4413b5:	ff 75 fc             	push   -0x4(%ebp)
4413b8:	ff 75 10             	push   0x10(%ebp)
4413bb:	6a 01                	push   $0x1
4413bd:	6a 00                	push   $0x0
4413bf:	ff 75 0c             	push   0xc(%ebp)
4413c2:	ff 75 08             	push   0x8(%ebp)
4413c5:	ff 15 64 b6 46 00    	call   *0x46b664
4413cb:	85 c0                	test   %eax,%eax
4413cd:	74 64                	je     0x441433
4413cf:	0f b7 f0             	movzwl %ax,%esi
4413d2:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4413d8:	85 c0                	test   %eax,%eax
4413da:	0f 4e f0             	cmovle %eax,%esi
4413dd:	b8 05 40 00 80       	mov    $0x80004005,%eax
4413e2:	85 f6                	test   %esi,%esi
4413e4:	0f 49 f0             	cmovns %eax,%esi
4413e7:	56                   	push   %esi
4413e8:	68 f5 02 00 00       	push   $0x2f5
4413ed:	eb 3a                	jmp    0x441429
4413ef:	ff 75 0c             	push   0xc(%ebp)
4413f2:	ff 75 08             	push   0x8(%ebp)
4413f5:	ff 15 68 b6 46 00    	call   *0x46b668
4413fb:	83 f8 02             	cmp    $0x2,%eax
4413fe:	74 05                	je     0x441405
441400:	83 f8 03             	cmp    $0x3,%eax
441403:	75 02                	jne    0x441407
441405:	33 c0                	xor    %eax,%eax
441407:	85 c0                	test   %eax,%eax
441409:	74 28                	je     0x441433
44140b:	0f b7 f0             	movzwl %ax,%esi
44140e:	81 ce 00 00 07 80    	or     $0x80070000,%esi
441414:	85 c0                	test   %eax,%eax
441416:	0f 4e f0             	cmovle %eax,%esi
441419:	b8 05 40 00 80       	mov    $0x80004005,%eax
44141e:	85 f6                	test   %esi,%esi
441420:	0f 49 f0             	cmovns %eax,%esi
441423:	56                   	push   %esi
441424:	68 fe 02 00 00       	push   $0x2fe
441429:	68 34 64 46 00       	push   $0x466434
44142e:	e8 a0 23 fc ff       	call   0x4037d3
441433:	8b c6                	mov    %esi,%eax
441435:	5e                   	pop    %esi
441436:	8b e5                	mov    %ebp,%esp
441438:	5d                   	pop    %ebp
441439:	c2 0c 00             	ret    $0xc
44143c:	55                   	push   %ebp
44143d:	8b ec                	mov    %esp,%ebp
44143f:	83 ec 0c             	sub    $0xc,%esp
441442:	53                   	push   %ebx
441443:	8b 5d 14             	mov    0x14(%ebp),%ebx
441446:	33 c0                	xor    %eax,%eax
441448:	21 45 f4             	and    %eax,-0xc(%ebp)
44144b:	56                   	push   %esi
44144c:	57                   	push   %edi
44144d:	33 ff                	xor    %edi,%edi
44144f:	89 7d fc             	mov    %edi,-0x4(%ebp)
441452:	85 db                	test   %ebx,%ebx
441454:	75 0a                	jne    0x441460
441456:	bb 40 64 46 00       	mov    $0x466440,%ebx
44145b:	e9 b9 00 00 00       	jmp    0x441519
441460:	33 c0                	xor    %eax,%eax
441462:	33 c9                	xor    %ecx,%ecx
441464:	40                   	inc    %eax
441465:	89 4d f8             	mov    %ecx,-0x8(%ebp)
441468:	89 45 14             	mov    %eax,0x14(%ebp)
44146b:	85 db                	test   %ebx,%ebx
44146d:	74 40                	je     0x4414af
44146f:	8b f8                	mov    %eax,%edi
441471:	8b f0                	mov    %eax,%esi
441473:	8b 45 10             	mov    0x10(%ebp),%eax
441476:	ff 34 88             	push   (%eax,%ecx,4)
441479:	ff 15 f8 b0 44 00    	call   *0x44b0f8
44147f:	8b 55 14             	mov    0x14(%ebp),%edx
441482:	8d 4a 01             	lea    0x1(%edx),%ecx
441485:	03 c8                	add    %eax,%ecx
441487:	83 c8 ff             	or     $0xffffffff,%eax
44148a:	3b ca                	cmp    %edx,%ecx
44148c:	0f 43 c1             	cmovae %ecx,%eax
44148f:	3b ce                	cmp    %esi,%ecx
441491:	89 45 14             	mov    %eax,0x14(%ebp)
441494:	1b f6                	sbb    %esi,%esi
441496:	81 e6 16 02 07 80    	and    $0x80070216,%esi
44149c:	3b cf                	cmp    %edi,%ecx
44149e:	0f 82 cb 00 00 00    	jb     0x44156f
4414a4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4414a7:	41                   	inc    %ecx
4414a8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4414ab:	3b cb                	cmp    %ebx,%ecx
4414ad:	72 c0                	jb     0x44146f
4414af:	50                   	push   %eax
4414b0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4414b3:	50                   	push   %eax
4414b4:	e8 25 0a fc ff       	call   0x401ede
4414b9:	8b f0                	mov    %eax,%esi
4414bb:	85 f6                	test   %esi,%esi
4414bd:	0f 88 ac 00 00 00    	js     0x44156f
4414c3:	8b 7d fc             	mov    -0x4(%ebp),%edi
4414c6:	33 f6                	xor    %esi,%esi
4414c8:	89 75 f8             	mov    %esi,-0x8(%ebp)
4414cb:	85 db                	test   %ebx,%ebx
4414cd:	74 45                	je     0x441514
4414cf:	8b 45 10             	mov    0x10(%ebp),%eax
4414d2:	ff 34 b0             	push   (%eax,%esi,4)
4414d5:	ff 75 14             	push   0x14(%ebp)
4414d8:	57                   	push   %edi
4414d9:	e8 0c 07 fc ff       	call   0x401bea
4414de:	8b f0                	mov    %eax,%esi
4414e0:	85 f6                	test   %esi,%esi
4414e2:	0f 88 87 00 00 00    	js     0x44156f
4414e8:	8b 45 10             	mov    0x10(%ebp),%eax
4414eb:	8b 75 f8             	mov    -0x8(%ebp),%esi
4414ee:	ff 34 b0             	push   (%eax,%esi,4)
4414f1:	ff 15 f8 b0 44 00    	call   *0x44b0f8
4414f7:	8b 45 10             	mov    0x10(%ebp),%eax
4414fa:	ff 34 b0             	push   (%eax,%esi,4)
4414fd:	ff 15 f8 b0 44 00    	call   *0x44b0f8
441503:	8d 3c 47             	lea    (%edi,%eax,2),%edi
441506:	83 c7 02             	add    $0x2,%edi
441509:	46                   	inc    %esi