40643c:	cc                   	int3
40643d:	cc                   	int3
40643e:	cc                   	int3
40643f:	cc                   	int3
406440:	8b 44 24 0c          	mov    0xc(%esp),%eax
406444:	81 ec 08 02 00 00    	sub    $0x208,%esp
40644a:	50                   	push   %eax
40644b:	68 74 c9 45 00       	push   $0x45c974
406450:	8d 4c 24 08          	lea    0x8(%esp),%ecx
406454:	68 04 01 00 00       	push   $0x104
406459:	51                   	push   %ecx
40645a:	e8 00 a2 02 00       	call   0x43065f
40645f:	8b 84 24 20 02 00 00 	mov    0x220(%esp),%eax
406466:	8b 8c 24 1c 02 00 00 	mov    0x21c(%esp),%ecx
40646d:	8d 54 24 10          	lea    0x10(%esp),%edx
406471:	52                   	push   %edx
406472:	50                   	push   %eax
406473:	51                   	push   %ecx
406474:	e8 c7 fd ff ff       	call   0x406240
406479:	81 c4 24 02 00 00    	add    $0x224,%esp
40647f:	c3                   	ret
406480:	81 ec 08 02 00 00    	sub    $0x208,%esp
406486:	8b 84 24 14 02 00 00 	mov    0x214(%esp),%eax
40648d:	50                   	push   %eax
40648e:	68 70 be 45 00       	push   $0x45be70
406493:	8d 4c 24 08          	lea    0x8(%esp),%ecx
406497:	68 04 01 00 00       	push   $0x104
40649c:	51                   	push   %ecx
40649d:	e8 bd a1 02 00       	call   0x43065f
4064a2:	8b 8c 24 20 02 00 00 	mov    0x220(%esp),%ecx
4064a9:	33 d2                	xor    %edx,%edx
4064ab:	8d 44 24 10          	lea    0x10(%esp),%eax
4064af:	50                   	push   %eax
4064b0:	66 89 94 24 1a 02 00 	mov    %dx,0x21a(%esp)
4064b7:	00
4064b8:	8b 94 24 20 02 00 00 	mov    0x220(%esp),%edx
4064bf:	51                   	push   %ecx
4064c0:	52                   	push   %edx
4064c1:	e8 7a fd ff ff       	call   0x406240
4064c6:	81 c4 24 02 00 00    	add    $0x224,%esp
4064cc:	c3                   	ret
4064cd:	cc                   	int3
4064ce:	cc                   	int3
4064cf:	cc                   	int3
4064d0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4064d4:	33 c9                	xor    %ecx,%ecx
4064d6:	81 ec 08 02 00 00    	sub    $0x208,%esp
4064dc:	66 39 08             	cmp    %cx,(%eax)
4064df:	74 2d                	je     0x40650e
4064e1:	8d 14 24             	lea    (%esp),%edx
4064e4:	56                   	push   %esi
4064e5:	2b d0                	sub    %eax,%edx
4064e7:	57                   	push   %edi
4064e8:	81 f9 03 01 00 00    	cmp    $0x103,%ecx
4064ee:	73 1c                	jae    0x40650c
4064f0:	0f b6 70 01          	movzbl 0x1(%eax),%esi
4064f4:	66 8b 38             	mov    (%eax),%di
4064f7:	66 c1 e7 08          	shl    $0x8,%di
4064fb:	66 33 f7             	xor    %di,%si
4064fe:	66 89 34 02          	mov    %si,(%edx,%eax,1)
406502:	83 c0 02             	add    $0x2,%eax
406505:	41                   	inc    %ecx
406506:	66 83 38 00          	cmpw   $0x0,(%eax)
40650a:	75 dc                	jne    0x4064e8
40650c:	5f                   	pop    %edi
40650d:	5e                   	pop    %esi
40650e:	8b 94 24 10 02 00 00 	mov    0x210(%esp),%edx
406515:	33 c0                	xor    %eax,%eax
406517:	66 89 04 4c          	mov    %ax,(%esp,%ecx,2)
40651b:	8b 84 24 0c 02 00 00 	mov    0x20c(%esp),%eax
406522:	8d 0c 24             	lea    (%esp),%ecx
406525:	51                   	push   %ecx
406526:	52                   	push   %edx
406527:	50                   	push   %eax
406528:	e8 13 fd ff ff       	call   0x406240
40652d:	81 c4 14 02 00 00    	add    $0x214,%esp
406533:	c3                   	ret
406534:	cc                   	int3
406535:	cc                   	int3
406536:	cc                   	int3
406537:	cc                   	int3
406538:	cc                   	int3
406539:	cc                   	int3
40653a:	cc                   	int3
40653b:	cc                   	int3
40653c:	cc                   	int3
40653d:	cc                   	int3
40653e:	cc                   	int3
40653f:	cc                   	int3
406540:	8b 44 24 04          	mov    0x4(%esp),%eax
406544:	56                   	push   %esi
406545:	8b 70 0c             	mov    0xc(%eax),%esi
406548:	57                   	push   %edi
406549:	85 f6                	test   %esi,%esi
40654b:	74 23                	je     0x406570
40654d:	8b 7c 24 10          	mov    0x10(%esp),%edi
406551:	8b 4e 04             	mov    0x4(%esi),%ecx
406554:	57                   	push   %edi
406555:	51                   	push   %ecx
406556:	e8 3c d0 02 00       	call   0x433597
40655b:	83 c4 08             	add    $0x8,%esp
40655e:	85 c0                	test   %eax,%eax
406560:	74 0a                	je     0x40656c
406562:	8b 36                	mov    (%esi),%esi
406564:	85 f6                	test   %esi,%esi
406566:	75 e9                	jne    0x406551
406568:	33 c0                	xor    %eax,%eax
40656a:	eb 0b                	jmp    0x406577
40656c:	85 f6                	test   %esi,%esi
40656e:	75 04                	jne    0x406574
406570:	33 c0                	xor    %eax,%eax
406572:	eb 03                	jmp    0x406577
406574:	8b 46 08             	mov    0x8(%esi),%eax
406577:	33 d2                	xor    %edx,%edx
406579:	85 c0                	test   %eax,%eax
40657b:	75 0a                	jne    0x406587
40657d:	8b 44 24 14          	mov    0x14(%esp),%eax
406581:	5f                   	pop    %edi
406582:	66 89 10             	mov    %dx,(%eax)
406585:	5e                   	pop    %esi
406586:	c3                   	ret
406587:	8b 7c 24 14          	mov    0x14(%esp),%edi
40658b:	66 39 10             	cmp    %dx,(%eax)
40658e:	74 32                	je     0x4065c2
406590:	8b 74 24 18          	mov    0x18(%esp),%esi
406594:	8b cf                	mov    %edi,%ecx
406596:	53                   	push   %ebx
406597:	4e                   	dec    %esi
406598:	2b c8                	sub    %eax,%ecx
40659a:	55                   	push   %ebp
40659b:	eb 03                	jmp    0x4065a0
40659d:	8d 49 00             	lea    0x0(%ecx),%ecx
4065a0:	3b d6                	cmp    %esi,%edx
4065a2:	73 1c                	jae    0x4065c0
4065a4:	0f b6 58 01          	movzbl 0x1(%eax),%ebx
4065a8:	66 8b 28             	mov    (%eax),%bp
4065ab:	66 c1 e5 08          	shl    $0x8,%bp
4065af:	66 33 dd             	xor    %bp,%bx
4065b2:	66 89 1c 01          	mov    %bx,(%ecx,%eax,1)
4065b6:	83 c0 02             	add    $0x2,%eax
4065b9:	42                   	inc    %edx
4065ba:	66 83 38 00          	cmpw   $0x0,(%eax)
4065be:	75 e0                	jne    0x4065a0
4065c0:	5d                   	pop    %ebp
4065c1:	5b                   	pop    %ebx
4065c2:	33 c9                	xor    %ecx,%ecx
4065c4:	66 89 0c 57          	mov    %cx,(%edi,%edx,2)
4065c8:	5f                   	pop    %edi
4065c9:	5e                   	pop    %esi
4065ca:	c3                   	ret
4065cb:	cc                   	int3
4065cc:	cc                   	int3
4065cd:	cc                   	int3
4065ce:	cc                   	int3
4065cf:	cc                   	int3
4065d0:	53                   	push   %ebx
4065d1:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
4065d5:	55                   	push   %ebp
4065d6:	8b 6b 14             	mov    0x14(%ebx),%ebp
4065d9:	57                   	push   %edi
4065da:	8b 7c 24 10          	mov    0x10(%esp),%edi
4065de:	85 ff                	test   %edi,%edi
4065e0:	74 26                	je     0x406608
4065e2:	56                   	push   %esi
4065e3:	8b 77 04             	mov    0x4(%edi),%esi
4065e6:	85 f6                	test   %esi,%esi
4065e8:	74 1d                	je     0x406607
4065ea:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4065f0:	8b 46 14             	mov    0x14(%esi),%eax
4065f3:	50                   	push   %eax
4065f4:	55                   	push   %ebp
4065f5:	e8 9d cf 02 00       	call   0x433597
4065fa:	83 c4 08             	add    $0x8,%esp
4065fd:	85 c0                	test   %eax,%eax
4065ff:	74 06                	je     0x406607
406601:	8b 36                	mov    (%esi),%esi
406603:	85 f6                	test   %esi,%esi
406605:	75 e9                	jne    0x4065f0
406607:	5e                   	pop    %esi
406608:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
40660c:	75 03                	jne    0x406611
40660e:	89 5f 04             	mov    %ebx,0x4(%edi)
406611:	8b 47 08             	mov    0x8(%edi),%eax
406614:	85 c0                	test   %eax,%eax
406616:	74 02                	je     0x40661a
406618:	89 18                	mov    %ebx,(%eax)
40661a:	89 5f 08             	mov    %ebx,0x8(%edi)
40661d:	5f                   	pop    %edi
40661e:	5d                   	pop    %ebp
40661f:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
406625:	5b                   	pop    %ebx
406626:	c3                   	ret
406627:	cc                   	int3
406628:	cc                   	int3
406629:	cc                   	int3
40662a:	cc                   	int3
40662b:	cc                   	int3
40662c:	cc                   	int3
40662d:	cc                   	int3
40662e:	cc                   	int3
40662f:	cc                   	int3
406630:	b8 20 06 01 00       	mov    $0x10620,%eax
406635:	e8 56 a8 02 00       	call   0x430e90
40663a:	83 bc 24 28 06 01 00 	cmpl   $0x0,0x10628(%esp)
406641:	00
406642:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
406649:	00
40664a:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
406651:	74 5e                	je     0x4066b1
406653:	8b 84 24 2c 06 01 00 	mov    0x1062c(%esp),%eax
40665a:	85 c0                	test   %eax,%eax
40665c:	74 53                	je     0x4066b1
40665e:	68 c4 c9 45 00       	push   $0x45c9c4
406663:	68 10 a4 00 00       	push   $0xa410
406668:	50                   	push   %eax
406669:	68 b0 c9 45 00       	push   $0x45c9b0
40666e:	8d 84 24 28 04 00 00 	lea    0x428(%esp),%eax
406675:	68 04 01 00 00       	push   $0x104
40667a:	50                   	push   %eax
40667b:	e8 df 9f 02 00       	call   0x43065f
406680:	8d 54 24 1c          	lea    0x1c(%esp),%edx
406684:	52                   	push   %edx
406685:	33 c9                	xor    %ecx,%ecx
406687:	68 00 00 01 00       	push   $0x10000
40668c:	8d 84 24 40 06 00 00 	lea    0x640(%esp),%eax
406693:	66 89 8c 24 3e 06 00 	mov    %cx,0x63e(%esp)
40669a:	00
40669b:	50                   	push   %eax
40669c:	8d 8c 24 3c 04 00 00 	lea    0x43c(%esp),%ecx
4066a3:	51                   	push   %ecx
4066a4:	e8 a7 d0 ff ff       	call   0x403750
4066a9:	83 c4 28             	add    $0x28,%esp
4066ac:	83 f8 02             	cmp    $0x2,%eax
4066af:	75 09                	jne    0x4066ba
4066b1:	33 c0                	xor    %eax,%eax
4066b3:	81 c4 20 06 01 00    	add    $0x10620,%esp
4066b9:	c3                   	ret
4066ba:	85 c0                	test   %eax,%eax
4066bc:	0f 85 cb 00 00 00    	jne    0x40678d
4066c2:	81 7c 24 04 fe ff 00 	cmpl   $0xfffe,0x4(%esp)
4066c9:	00
4066ca:	76 0c                	jbe    0x4066d8
4066cc:	b8 7a 00 00 00       	mov    $0x7a,%eax
4066d1:	81 c4 20 06 01 00    	add    $0x10620,%esp
4066d7:	c3                   	ret
4066d8:	56                   	push   %esi
4066d9:	57                   	push   %edi
4066da:	68 7c c9 45 00       	push   $0x45c97c
4066df:	e8 5c f9 ff ff       	call   0x406040
4066e4:	68 04 01 00 00       	push   $0x104
4066e9:	8d 54 24 18          	lea    0x18(%esp),%edx
4066ed:	52                   	push   %edx
4066ee:	8b f8                	mov    %eax,%edi
4066f0:	8d 84 24 24 02 00 00 	lea    0x224(%esp),%eax
4066f7:	50                   	push   %eax
4066f8:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4066fc:	51                   	push   %ecx
4066fd:	8d 94 24 3c 06 00 00 	lea    0x63c(%esp),%edx
406704:	6a 3a                	push   $0x3a
406706:	52                   	push   %edx
406707:	e8 a4 91 02 00       	call   0x42f8b0
40670c:	83 c4 1c             	add    $0x1c,%esp
40670f:	66 83 7c 24 10 00    	cmpw   $0x0,0x10(%esp)
406715:	8b f0                	mov    %eax,%esi
406717:	74 0e                	je     0x406727
406719:	5f                   	pop    %edi
40671a:	b8 f7 ff ff ff       	mov    $0xfffffff7,%eax
40671f:	5e                   	pop    %esi
406720:	81 c4 20 06 01 00    	add    $0x10620,%esp
406726:	c3                   	ret
406727:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
40672c:	75 4a                	jne    0x406778
40672e:	8b ff                	mov    %edi,%edi
406730:	68 04 01 00 00       	push   $0x104
406735:	8d 44 24 14          	lea    0x14(%esp),%eax
406739:	50                   	push   %eax
40673a:	8d 8c 24 20 02 00 00 	lea    0x220(%esp),%ecx
406741:	51                   	push   %ecx
406742:	8d 54 24 14          	lea    0x14(%esp),%edx
406746:	52                   	push   %edx
406747:	6a 3a                	push   $0x3a
406749:	56                   	push   %esi
40674a:	e8 61 91 02 00       	call   0x42f8b0
40674f:	83 c4 18             	add    $0x18,%esp
406752:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
406757:	8b f0                	mov    %eax,%esi
406759:	75 1d                	jne    0x406778
40675b:	8d 44 24 10          	lea    0x10(%esp),%eax
40675f:	50                   	push   %eax
406760:	8d 8c 24 1c 02 00 00 	lea    0x21c(%esp),%ecx
406767:	51                   	push   %ecx
406768:	57                   	push   %edi
406769:	e8 d2 fa ff ff       	call   0x406240
40676e:	83 c4 0c             	add    $0xc,%esp
406771:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
406776:	74 b8                	je     0x406730
406778:	8b 94 24 2c 06 01 00 	mov    0x1062c(%esp),%edx
40677f:	57                   	push   %edi
406780:	52                   	push   %edx
406781:	e8 4a fe ff ff       	call   0x4065d0
406786:	83 c4 08             	add    $0x8,%esp
406789:	5f                   	pop    %edi
40678a:	33 c0                	xor    %eax,%eax
40678c:	5e                   	pop    %esi
40678d:	81 c4 20 06 01 00    	add    $0x10620,%esp
406793:	c3                   	ret
406794:	cc                   	int3
406795:	cc                   	int3
406796:	cc                   	int3
406797:	cc                   	int3
406798:	cc                   	int3
406799:	cc                   	int3
40679a:	cc                   	int3
40679b:	cc                   	int3
40679c:	cc                   	int3
40679d:	cc                   	int3
40679e:	cc                   	int3
40679f:	cc                   	int3
4067a0:	8b 44 24 04          	mov    0x4(%esp),%eax
4067a4:	85 c0                	test   %eax,%eax
4067a6:	75 01                	jne    0x4067a9
4067a8:	c3                   	ret
4067a9:	b9 7c c9 45 00       	mov    $0x45c97c,%ecx
4067ae:	8b ff                	mov    %edi,%edi
4067b0:	66 8b 10             	mov    (%eax),%dx
4067b3:	66 3b 11             	cmp    (%ecx),%dx
4067b6:	75 28                	jne    0x4067e0
4067b8:	66 85 d2             	test   %dx,%dx
4067bb:	74 15                	je     0x4067d2
4067bd:	66 8b 50 02          	mov    0x2(%eax),%dx
4067c1:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4067c5:	75 19                	jne    0x4067e0
4067c7:	83 c0 04             	add    $0x4,%eax
4067ca:	83 c1 04             	add    $0x4,%ecx
4067cd:	66 85 d2             	test   %dx,%dx
4067d0:	75 de                	jne    0x4067b0
4067d2:	33 c0                	xor    %eax,%eax
4067d4:	f7 d8                	neg    %eax
4067d6:	1b c0                	sbb    %eax,%eax
4067d8:	f7 d0                	not    %eax
4067da:	25 30 66 40 00       	and    $0x406630,%eax
4067df:	c3                   	ret
4067e0:	1b c0                	sbb    %eax,%eax
4067e2:	83 d8 ff             	sbb    $0xffffffff,%eax
4067e5:	f7 d8                	neg    %eax
4067e7:	1b c0                	sbb    %eax,%eax
4067e9:	f7 d0                	not    %eax
4067eb:	25 30 66 40 00       	and    $0x406630,%eax
4067f0:	c3                   	ret
4067f1:	cc                   	int3