409683:	33 c0                	xor    %eax,%eax
409685:	59                   	pop    %ecx
409686:	5d                   	pop    %ebp
409687:	c2 04 00             	ret    $0x4
40968a:	8b ff                	mov    %edi,%edi
40968c:	51                   	push   %ecx
40968d:	8b 91 8c 01 00 00    	mov    0x18c(%ecx),%edx
409693:	85 d2                	test   %edx,%edx
409695:	75 2c                	jne    0x4096c3
409697:	a1 00 b0 42 00       	mov    0x42b000,%eax
40969c:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4096a1:	74 19                	je     0x4096bc
4096a3:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4096a7:	74 13                	je     0x4096bc
4096a9:	ff 70 14             	push   0x14(%eax)
4096ac:	ba e0 21 40 00       	mov    $0x4021e0,%edx
4096b1:	ff 70 10             	push   0x10(%eax)
4096b4:	6a 26                	push   $0x26
4096b6:	59                   	pop    %ecx
4096b7:	e8 f4 dc ff ff       	call   0x4073b0
4096bc:	b8 57 00 07 80       	mov    $0x80070057,%eax
4096c1:	59                   	pop    %ecx
4096c2:	c3                   	ret
4096c3:	8b 81 98 01 00 00    	mov    0x198(%ecx),%eax
4096c9:	83 e8 00             	sub    $0x0,%eax
4096cc:	0f 84 95 00 00 00    	je     0x409767
4096d2:	83 e8 01             	sub    $0x1,%eax
4096d5:	74 68                	je     0x40973f
4096d7:	83 e8 01             	sub    $0x1,%eax
4096da:	74 2c                	je     0x409708
4096dc:	a1 00 b0 42 00       	mov    0x42b000,%eax
4096e1:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4096e6:	74 19                	je     0x409701
4096e8:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4096ec:	74 13                	je     0x409701
4096ee:	ff 70 14             	push   0x14(%eax)
4096f1:	ba e0 21 40 00       	mov    $0x4021e0,%edx
4096f6:	ff 70 10             	push   0x10(%eax)
4096f9:	6a 29                	push   $0x29
4096fb:	59                   	pop    %ecx
4096fc:	e8 af dc ff ff       	call   0x4073b0
409701:	b8 05 40 00 80       	mov    $0x80004005,%eax
409706:	59                   	pop    %ecx
409707:	c3                   	ret
409708:	8b 81 94 01 00 00    	mov    0x194(%ecx),%eax
40970e:	85 c0                	test   %eax,%eax
409710:	74 11                	je     0x409723
409712:	8b 40 40             	mov    0x40(%eax),%eax
409715:	89 82 94 9c 00 00    	mov    %eax,0x9c94(%edx)
40971b:	8b 81 94 01 00 00    	mov    0x194(%ecx),%eax
409721:	eb 35                	jmp    0x409758
409723:	a1 00 b0 42 00       	mov    0x42b000,%eax
409728:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40972d:	74 61                	je     0x409790
40972f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
409733:	74 5b                	je     0x409790
409735:	ff 70 14             	push   0x14(%eax)
409738:	ff 70 10             	push   0x10(%eax)
40973b:	6a 28                	push   $0x28
40973d:	eb 46                	jmp    0x409785
40973f:	8b 81 90 01 00 00    	mov    0x190(%ecx),%eax
409745:	85 c0                	test   %eax,%eax
409747:	74 22                	je     0x40976b
409749:	8b 40 40             	mov    0x40(%eax),%eax
40974c:	89 82 94 9c 00 00    	mov    %eax,0x9c94(%edx)
409752:	8b 81 90 01 00 00    	mov    0x190(%ecx),%eax
409758:	8b 89 8c 01 00 00    	mov    0x18c(%ecx),%ecx
40975e:	8b 40 44             	mov    0x44(%eax),%eax
409761:	89 81 98 9c 00 00    	mov    %eax,0x9c98(%ecx)
409767:	33 c0                	xor    %eax,%eax
409769:	59                   	pop    %ecx
40976a:	c3                   	ret
40976b:	a1 00 b0 42 00       	mov    0x42b000,%eax
409770:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409775:	74 19                	je     0x409790
409777:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40977b:	74 13                	je     0x409790
40977d:	ff 70 14             	push   0x14(%eax)
409780:	ff 70 10             	push   0x10(%eax)
409783:	6a 27                	push   $0x27
409785:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40978a:	59                   	pop    %ecx
40978b:	e8 20 dc ff ff       	call   0x4073b0
409790:	b8 03 80 1b 80       	mov    $0x801b8003,%eax
409795:	59                   	pop    %ecx
409796:	c3                   	ret
409797:	8b ff                	mov    %edi,%edi
409799:	55                   	push   %ebp
40979a:	8b ec                	mov    %esp,%ebp
40979c:	53                   	push   %ebx
40979d:	56                   	push   %esi
40979e:	57                   	push   %edi
40979f:	8b f9                	mov    %ecx,%edi
4097a1:	a1 00 b0 42 00       	mov    0x42b000,%eax
4097a6:	bb 00 b0 42 00       	mov    $0x42b000,%ebx
4097ab:	3b c3                	cmp    %ebx,%eax
4097ad:	74 1e                	je     0x4097cd
4097af:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4097b3:	74 18                	je     0x4097cd
4097b5:	ff 70 14             	push   0x14(%eax)
4097b8:	ba e0 21 40 00       	mov    $0x4021e0,%edx
4097bd:	ff 70 10             	push   0x10(%eax)
4097c0:	6a 2a                	push   $0x2a
4097c2:	59                   	pop    %ecx
4097c3:	e8 e8 db ff ff       	call   0x4073b0
4097c8:	a1 00 b0 42 00       	mov    0x42b000,%eax
4097cd:	8b 8f 8c 01 00 00    	mov    0x18c(%edi),%ecx
4097d3:	85 c9                	test   %ecx,%ecx
4097d5:	75 24                	jne    0x4097fb
4097d7:	3b c3                	cmp    %ebx,%eax
4097d9:	74 19                	je     0x4097f4
4097db:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4097df:	74 13                	je     0x4097f4
4097e1:	ff 70 14             	push   0x14(%eax)
4097e4:	ba e0 21 40 00       	mov    $0x4021e0,%edx
4097e9:	ff 70 10             	push   0x10(%eax)
4097ec:	6a 2b                	push   $0x2b
4097ee:	59                   	pop    %ecx
4097ef:	e8 bc db ff ff       	call   0x4073b0
4097f4:	b8 03 80 1b 80       	mov    $0x801b8003,%eax
4097f9:	eb 7a                	jmp    0x409875
4097fb:	f7 87 80 01 00 00 00 	testl  $0x1000,0x180(%edi)
409802:	10 00 00
409805:	74 04                	je     0x40980b
409807:	33 c0                	xor    %eax,%eax
409809:	eb 6a                	jmp    0x409875
40980b:	ff b1 84 9a 00 00    	push   0x9a84(%ecx)
409811:	ff 71 28             	push   0x28(%ecx)
409814:	ff 15 78 c2 42 00    	call   *0x42c278
40981a:	85 c0                	test   %eax,%eax
40981c:	75 39                	jne    0x409857
40981e:	ff 15 18 c2 42 00    	call   *0x42c218
409824:	8b c8                	mov    %eax,%ecx
409826:	e8 7f 1d 00 00       	call   0x40b5aa
40982b:	8b f0                	mov    %eax,%esi
40982d:	85 f6                	test   %esi,%esi
40982f:	79 26                	jns    0x409857
409831:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
409837:	3b cb                	cmp    %ebx,%ecx
409839:	74 38                	je     0x409873
40983b:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
40983f:	74 32                	je     0x409873
409841:	56                   	push   %esi
409842:	ff 71 14             	push   0x14(%ecx)
409845:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40984a:	ff 71 10             	push   0x10(%ecx)
40984d:	6a 2c                	push   $0x2c
40984f:	59                   	pop    %ecx
409850:	e8 79 db ff ff       	call   0x4073ce
409855:	eb 1c                	jmp    0x409873
409857:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40985b:	74 14                	je     0x409871
40985d:	8b 87 8c 01 00 00    	mov    0x18c(%edi),%eax
409863:	68 a0 0f 00 00       	push   $0xfa0
409868:	ff 70 28             	push   0x28(%eax)
40986b:	ff 15 b4 c2 42 00    	call   *0x42c2b4
409871:	33 f6                	xor    %esi,%esi
409873:	8b c6                	mov    %esi,%eax
409875:	5f                   	pop    %edi
409876:	5e                   	pop    %esi
409877:	5b                   	pop    %ebx
409878:	5d                   	pop    %ebp
409879:	c2 04 00             	ret    $0x4
40987c:	8b ff                	mov    %edi,%edi
40987e:	51                   	push   %ecx
40987f:	a1 00 b0 42 00       	mov    0x42b000,%eax
409884:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409889:	74 19                	je     0x4098a4
40988b:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40988f:	74 13                	je     0x4098a4
409891:	ff 70 14             	push   0x14(%eax)
409894:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409899:	ff 70 10             	push   0x10(%eax)
40989c:	6a 2d                	push   $0x2d
40989e:	59                   	pop    %ecx
40989f:	e8 0c db ff ff       	call   0x4073b0
4098a4:	33 c0                	xor    %eax,%eax
4098a6:	59                   	pop    %ecx
4098a7:	c3                   	ret
4098a8:	8b ff                	mov    %edi,%edi
4098aa:	51                   	push   %ecx
4098ab:	a1 00 b0 42 00       	mov    0x42b000,%eax
4098b0:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4098b5:	74 19                	je     0x4098d0
4098b7:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4098bb:	74 13                	je     0x4098d0
4098bd:	ff 70 14             	push   0x14(%eax)
4098c0:	ba e0 21 40 00       	mov    $0x4021e0,%edx
4098c5:	ff 70 10             	push   0x10(%eax)
4098c8:	6a 2e                	push   $0x2e
4098ca:	59                   	pop    %ecx
4098cb:	e8 e0 da ff ff       	call   0x4073b0
4098d0:	33 c0                	xor    %eax,%eax
4098d2:	59                   	pop    %ecx
4098d3:	c3                   	ret
4098d4:	8b ff                	mov    %edi,%edi
4098d6:	56                   	push   %esi
4098d7:	8b f1                	mov    %ecx,%esi
4098d9:	8b 96 8c 01 00 00    	mov    0x18c(%esi),%edx
4098df:	85 d2                	test   %edx,%edx
4098e1:	75 07                	jne    0x4098ea
4098e3:	e8 94 ff ff ff       	call   0x40987c
4098e8:	eb 09                	jmp    0x4098f3
4098ea:	8b 82 84 9a 00 00    	mov    0x9a84(%edx),%eax
4098f0:	23 42 48             	and    0x48(%edx),%eax
4098f3:	85 c0                	test   %eax,%eax
4098f5:	75 20                	jne    0x409917
4098f7:	8b 8e 8c 01 00 00    	mov    0x18c(%esi),%ecx
4098fd:	85 c9                	test   %ecx,%ecx
4098ff:	75 07                	jne    0x409908
409901:	e8 a2 ff ff ff       	call   0x4098a8
409906:	eb 09                	jmp    0x409911
409908:	8b 81 84 9a 00 00    	mov    0x9a84(%ecx),%eax
40990e:	23 41 4c             	and    0x4c(%ecx),%eax
409911:	85 c0                	test   %eax,%eax
409913:	75 02                	jne    0x409917
409915:	5e                   	pop    %esi
409916:	c3                   	ret
409917:	33 c0                	xor    %eax,%eax
409919:	40                   	inc    %eax
40991a:	5e                   	pop    %esi
40991b:	c3                   	ret
40991c:	8b ff                	mov    %edi,%edi
40991e:	55                   	push   %ebp
40991f:	8b ec                	mov    %esp,%ebp
409921:	83 ec 14             	sub    $0x14,%esp
409924:	a1 74 b6 42 00       	mov    0x42b674,%eax
409929:	33 c5                	xor    %ebp,%eax
40992b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40992e:	53                   	push   %ebx
40992f:	56                   	push   %esi
409930:	57                   	push   %edi
409931:	8b f9                	mov    %ecx,%edi
409933:	8b 97 8c 01 00 00    	mov    0x18c(%edi),%edx
409939:	85 d2                	test   %edx,%edx
40993b:	75 1c                	jne    0x409959
40993d:	a1 00 b0 42 00       	mov    0x42b000,%eax
409942:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409947:	74 3b                	je     0x409984
409949:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40994d:	74 35                	je     0x409984
40994f:	ff 70 14             	push   0x14(%eax)
409952:	ff 70 10             	push   0x10(%eax)
409955:	6a 2f                	push   $0x2f
409957:	eb 20                	jmp    0x409979
409959:	83 7a 1c 00          	cmpl   $0x0,0x1c(%edx)
40995d:	75 2f                	jne    0x40998e
40995f:	a1 00 b0 42 00       	mov    0x42b000,%eax
409964:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409969:	74 19                	je     0x409984
40996b:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40996f:	74 13                	je     0x409984
409971:	ff 70 14             	push   0x14(%eax)
409974:	ff 70 10             	push   0x10(%eax)
409977:	6a 30                	push   $0x30
409979:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40997e:	59                   	pop    %ecx
40997f:	e8 2c da ff ff       	call   0x4073b0
409984:	b8 03 80 1b 80       	mov    $0x801b8003,%eax
409989:	e9 d2 02 00 00       	jmp    0x409c60
40998e:	8b 42 20             	mov    0x20(%edx),%eax
409991:	89 45 f0             	mov    %eax,-0x10(%ebp)
409994:	8b 42 1c             	mov    0x1c(%edx),%eax
409997:	89 45 f4             	mov    %eax,-0xc(%ebp)
40999a:	8b 42 28             	mov    0x28(%edx),%eax
40999d:	89 45 f8             	mov    %eax,-0x8(%ebp)
4099a0:	a1 00 b0 42 00       	mov    0x42b000,%eax
4099a5:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4099aa:	74 19                	je     0x4099c5
4099ac:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4099b0:	74 13                	je     0x4099c5
4099b2:	ff 70 14             	push   0x14(%eax)
4099b5:	ba e0 21 40 00       	mov    $0x4021e0,%edx
4099ba:	ff 70 10             	push   0x10(%eax)
4099bd:	6a 31                	push   $0x31
4099bf:	59                   	pop    %ecx
4099c0:	e8 eb d9 ff ff       	call   0x4073b0
4099c5:	ff 15 dc c2 42 00    	call   *0x42c2dc
4099cb:	6a 00                	push   $0x0
4099cd:	68 c0 d4 01 00       	push   $0x1d4c0
4099d2:	8b d8                	mov    %eax,%ebx
4099d4:	8d 45 f0             	lea    -0x10(%ebp),%eax
4099d7:	6a 00                	push   $0x0
4099d9:	50                   	push   %eax
4099da:	6a 03                	push   $0x3
4099dc:	ff 15 08 c1 42 00    	call   *0x42c108
4099e2:	8b f0                	mov    %eax,%esi
4099e4:	ff 15 dc c2 42 00    	call   *0x42c2dc
4099ea:	8b d0                	mov    %eax,%edx
4099ec:	a1 00 b0 42 00       	mov    0x42b000,%eax
4099f1:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4099f6:	74 2d                	je     0x409a25
4099f8:	f6 40 1c 08          	testb  $0x8,0x1c(%eax)
4099fc:	74 27                	je     0x409a25
4099fe:	8b ca                	mov    %edx,%ecx
409a00:	2b cb                	sub    %ebx,%ecx
409a02:	3b d3                	cmp    %ebx,%edx
409a04:	73 01                	jae    0x409a07
409a06:	49                   	dec    %ecx
409a07:	51                   	push   %ecx
409a08:	68 70 21 40 00       	push   $0x402170
409a0d:	ff 70 14             	push   0x14(%eax)
409a10:	ba 90 28 40 00       	mov    $0x402890,%edx
409a15:	ff 70 10             	push   0x10(%eax)
409a18:	6a 1c                	push   $0x1c
409a1a:	59                   	pop    %ecx
409a1b:	e8 96 df ff ff       	call   0x4079b6
409a20:	a1 00 b0 42 00       	mov    0x42b000,%eax
409a25:	81 fe 02 01 00 00    	cmp    $0x102,%esi
409a2b:	0f 84 09 02 00 00    	je     0x409c3a
409a31:	83 fe ff             	cmp    $0xffffffff,%esi
409a34:	0f 84 00 02 00 00    	je     0x409c3a
409a3a:	8b ce                	mov    %esi,%ecx
409a3c:	83 e9 00             	sub    $0x0,%ecx
409a3f:	74 40                	je     0x409a81
409a41:	83 e9 01             	sub    $0x1,%ecx
409a44:	0f 84 77 01 00 00    	je     0x409bc1
409a4a:	83 e9 01             	sub    $0x1,%ecx
409a4d:	0f 84 41 01 00 00    	je     0x409b94
409a53:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409a58:	0f 84 67 ff ff ff    	je     0x4099c5
409a5e:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
409a62:	0f 84 3d ff ff ff    	je     0x4099a5
409a68:	56                   	push   %esi
409a69:	ff 70 14             	push   0x14(%eax)
409a6c:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409a71:	ff 70 10             	push   0x10(%eax)
409a74:	6a 3b                	push   $0x3b
409a76:	59                   	pop    %ecx
409a77:	e8 52 d9 ff ff       	call   0x4073ce
409a7c:	e9 1f ff ff ff       	jmp    0x4099a0
409a81:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409a86:	74 19                	je     0x409aa1
409a88:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
409a8c:	74 13                	je     0x409aa1
409a8e:	ff 70 14             	push   0x14(%eax)
409a91:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409a96:	ff 70 10             	push   0x10(%eax)
409a99:	6a 33                	push   $0x33
409a9b:	59                   	pop    %ecx
409a9c:	e8 0f d9 ff ff       	call   0x4073b0
409aa1:	8b 97 8c 01 00 00    	mov    0x18c(%edi),%edx
409aa7:	51                   	push   %ecx
409aa8:	8b 52 24             	mov    0x24(%edx),%edx
409aab:	e8 22 9d 00 00       	call   0x4137d2
409ab0:	3d 02 01 00 00       	cmp    $0x102,%eax
409ab5:	0f 84 60 01 00 00    	je     0x409c1b
409abb:	3d 80 00 00 00       	cmp    $0x80,%eax
409ac0:	0f 84 1f 01 00 00    	je     0x409be5
409ac6:	8b cf                	mov    %edi,%ecx