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
4067f2:	cc                   	int3
4067f3:	cc                   	int3
4067f4:	cc                   	int3
4067f5:	cc                   	int3
4067f6:	cc                   	int3
4067f7:	cc                   	int3
4067f8:	cc                   	int3
4067f9:	cc                   	int3
4067fa:	cc                   	int3
4067fb:	cc                   	int3
4067fc:	cc                   	int3
4067fd:	cc                   	int3
4067fe:	cc                   	int3
4067ff:	cc                   	int3
406800:	81 ec 2c 0c 00 00    	sub    $0xc2c,%esp
406806:	53                   	push   %ebx
406807:	55                   	push   %ebp
406808:	56                   	push   %esi
406809:	57                   	push   %edi
40680a:	8b bc 24 48 0c 00 00 	mov    0xc48(%esp),%edi
406811:	33 db                	xor    %ebx,%ebx
406813:	89 5c 24 10          	mov    %ebx,0x10(%esp)
406817:	3b fb                	cmp    %ebx,%edi
406819:	75 0d                	jne    0x406828
40681b:	8b 84 24 40 0c 00 00 	mov    0xc40(%esp),%eax
406822:	89 44 24 10          	mov    %eax,0x10(%esp)
406826:	eb 54                	jmp    0x40687c
406828:	68 04 01 00 00       	push   $0x104
40682d:	8d 8c 24 38 02 00 00 	lea    0x238(%esp),%ecx
406834:	57                   	push   %edi
406835:	51                   	push   %ecx
406836:	e8 6f a2 02 00       	call   0x430aaa
40683b:	8d 94 24 40 02 00 00 	lea    0x240(%esp),%edx
406842:	52                   	push   %edx
406843:	e8 48 f6 ff ff       	call   0x405e90
406848:	8d 44 24 20          	lea    0x20(%esp),%eax
40684c:	83 c4 10             	add    $0x10,%esp
40684f:	50                   	push   %eax
406850:	e8 bb c6 ff ff       	call   0x402f10
406855:	8b 94 24 44 0c 00 00 	mov    0xc44(%esp),%edx
40685c:	0d 19 00 02 00       	or     $0x20019,%eax
406861:	50                   	push   %eax
406862:	53                   	push   %ebx
406863:	8d 8c 24 40 02 00 00 	lea    0x240(%esp),%ecx
40686a:	51                   	push   %ecx
40686b:	52                   	push   %edx
40686c:	ff 15 a0 33 47 00    	call   *0x4733a0
406872:	8b f0                	mov    %eax,%esi
406874:	3b f3                	cmp    %ebx,%esi
406876:	0f 85 13 02 00 00    	jne    0x406a8f
40687c:	6a 18                	push   $0x18
40687e:	e8 93 a1 02 00       	call   0x430a16
406883:	8b e8                	mov    %eax,%ebp
406885:	83 c4 04             	add    $0x4,%esp
406888:	89 5d 00             	mov    %ebx,0x0(%ebp)
40688b:	89 5d 04             	mov    %ebx,0x4(%ebp)
40688e:	89 5d 08             	mov    %ebx,0x8(%ebp)
406891:	89 5d 0c             	mov    %ebx,0xc(%ebp)
406894:	89 5d 10             	mov    %ebx,0x10(%ebp)
406897:	3b fb                	cmp    %ebx,%edi
406899:	75 04                	jne    0x40689f
40689b:	33 c0                	xor    %eax,%eax
40689d:	eb 09                	jmp    0x4068a8
40689f:	57                   	push   %edi
4068a0:	e8 f3 19 04 00       	call   0x448298
4068a5:	83 c4 04             	add    $0x4,%esp
4068a8:	89 45 14             	mov    %eax,0x14(%ebp)
4068ab:	8d 44 24 18          	lea    0x18(%esp),%eax
4068af:	50                   	push   %eax
4068b0:	8d 8c 24 40 04 00 00 	lea    0x440(%esp),%ecx
4068b7:	51                   	push   %ecx
4068b8:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4068bc:	53                   	push   %ebx
4068bd:	53                   	push   %ebx
4068be:	8d 54 24 24          	lea    0x24(%esp),%edx
4068c2:	52                   	push   %edx
4068c3:	8d 44 24 40          	lea    0x40(%esp),%eax
4068c7:	50                   	push   %eax
4068c8:	53                   	push   %ebx
4068c9:	51                   	push   %ecx
4068ca:	33 ff                	xor    %edi,%edi
4068cc:	c7 44 24 34 04 01 00 	movl   $0x104,0x34(%esp)
4068d3:	00
4068d4:	c7 44 24 38 00 08 00 	movl   $0x800,0x38(%esp)
4068db:	00
4068dc:	ff 15 ac 33 47 00    	call   *0x4733ac
4068e2:	8b f0                	mov    %eax,%esi
4068e4:	81 fe 03 01 00 00    	cmp    $0x103,%esi
4068ea:	0f 84 c6 00 00 00    	je     0x4069b6
4068f0:	3b f3                	cmp    %ebx,%esi
4068f2:	0f 85 90 01 00 00    	jne    0x406a88
4068f8:	b9 7c c9 45 00       	mov    $0x45c97c,%ecx
4068fd:	8d 44 24 2c          	lea    0x2c(%esp),%eax
406901:	66 8b 10             	mov    (%eax),%dx
406904:	66 3b 11             	cmp    (%ecx),%dx
406907:	75 1e                	jne    0x406927
406909:	66 3b d3             	cmp    %bx,%dx
40690c:	74 15                	je     0x406923
40690e:	66 8b 50 02          	mov    0x2(%eax),%dx
406912:	66 3b 51 02          	cmp    0x2(%ecx),%dx
406916:	75 0f                	jne    0x406927
406918:	83 c0 04             	add    $0x4,%eax
40691b:	83 c1 04             	add    $0x4,%ecx
40691e:	66 3b d3             	cmp    %bx,%dx
406921:	75 de                	jne    0x406901
406923:	33 c0                	xor    %eax,%eax
406925:	eb 05                	jmp    0x40692c
406927:	1b c0                	sbb    %eax,%eax
406929:	83 d8 ff             	sbb    $0xffffffff,%eax
40692c:	3b c3                	cmp    %ebx,%eax
40692e:	75 2c                	jne    0x40695c
406930:	33 d2                	xor    %edx,%edx
406932:	81 fa 30 66 40 00    	cmp    $0x406630,%edx
406938:	74 22                	je     0x40695c
40693a:	8d 84 24 3c 04 00 00 	lea    0x43c(%esp),%eax
406941:	50                   	push   %eax
406942:	8d 4c 24 30          	lea    0x30(%esp),%ecx
406946:	51                   	push   %ecx
406947:	55                   	push   %ebp
406948:	e8 e3 fc ff ff       	call   0x406630
40694d:	8b f0                	mov    %eax,%esi
40694f:	83 c4 0c             	add    $0xc,%esp
406952:	3b f3                	cmp    %ebx,%esi
406954:	0f 85 2e 01 00 00    	jne    0x406a88
40695a:	eb 16                	jmp    0x406972
40695c:	8d 94 24 3c 04 00 00 	lea    0x43c(%esp),%edx
406963:	52                   	push   %edx
406964:	8d 44 24 30          	lea    0x30(%esp),%eax
406968:	50                   	push   %eax
406969:	55                   	push   %ebp
40696a:	e8 d1 f8 ff ff       	call   0x406240
40696f:	83 c4 0c             	add    $0xc,%esp
406972:	8d 4c 24 18          	lea    0x18(%esp),%ecx
406976:	51                   	push   %ecx
406977:	8d 94 24 40 04 00 00 	lea    0x440(%esp),%edx
40697e:	52                   	push   %edx
40697f:	8b 54 24 18          	mov    0x18(%esp),%edx
406983:	53                   	push   %ebx
406984:	53                   	push   %ebx
406985:	8d 44 24 24          	lea    0x24(%esp),%eax
406989:	50                   	push   %eax
40698a:	8d 4c 24 40          	lea    0x40(%esp),%ecx
40698e:	51                   	push   %ecx
40698f:	47                   	inc    %edi
406990:	57                   	push   %edi
406991:	52                   	push   %edx
406992:	c7 44 24 34 04 01 00 	movl   $0x104,0x34(%esp)
406999:	00
40699a:	c7 44 24 38 00 08 00 	movl   $0x800,0x38(%esp)
4069a1:	00
4069a2:	ff 15 ac 33 47 00    	call   *0x4733ac
4069a8:	8b f0                	mov    %eax,%esi
4069aa:	81 fe 03 01 00 00    	cmp    $0x103,%esi
4069b0:	0f 85 3a ff ff ff    	jne    0x4068f0
4069b6:	33 f6                	xor    %esi,%esi
4069b8:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4069bc:	39 9c 24 4c 0c 00 00 	cmp    %ebx,0xc4c(%esp)
4069c3:	0f 84 b6 00 00 00    	je     0x406a7f
4069c9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4069d0:	8d 44 24 24          	lea    0x24(%esp),%eax
4069d4:	50                   	push   %eax
4069d5:	8b 44 24 20          	mov    0x20(%esp),%eax
4069d9:	53                   	push   %ebx
4069da:	53                   	push   %ebx
4069db:	53                   	push   %ebx
4069dc:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4069e0:	51                   	push   %ecx
4069e1:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4069e5:	8d 54 24 40          	lea    0x40(%esp),%edx
4069e9:	52                   	push   %edx
4069ea:	50                   	push   %eax
4069eb:	51                   	push   %ecx
4069ec:	c7 44 24 34 04 01 00 	movl   $0x104,0x34(%esp)
4069f3:	00
4069f4:	ff 15 a8 33 47 00    	call   *0x4733a8