4068ce:	0f b7 02             	movzwl (%edx),%eax
4068d1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4068d4:	8b 42 02             	mov    0x2(%edx),%eax
4068d7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4068da:	8b 42 06             	mov    0x6(%edx),%eax
4068dd:	83 c2 0a             	add    $0xa,%edx
4068e0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4068e3:	8b 46 04             	mov    0x4(%esi),%eax
4068e6:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4068ea:	89 01                	mov    %eax,(%ecx)
4068ec:	8b 46 04             	mov    0x4(%esi),%eax
4068ef:	51                   	push   %ecx
4068f0:	ff 75 18             	push   0x18(%ebp)
4068f3:	0f b7 00             	movzwl (%eax),%eax
4068f6:	83 61 14 00          	andl   $0x0,0x14(%ecx)
4068fa:	ff 75 14             	push   0x14(%ebp)
4068fd:	89 41 08             	mov    %eax,0x8(%ecx)
406900:	ff 75 10             	push   0x10(%ebp)
406903:	c7 41 0c 02 00 00 00 	movl   $0x2,0xc(%ecx)
40690a:	89 51 10             	mov    %edx,0x10(%ecx)
40690d:	0f b7 02             	movzwl (%edx),%eax
406910:	89 41 18             	mov    %eax,0x18(%ecx)
406913:	b8 68 65 40 00       	mov    $0x406568,%eax
406918:	c7 41 1c 01 00 00 00 	movl   $0x1,0x1c(%ecx)
40691f:	2d a8 64 40 00       	sub    $0x4064a8,%eax
406924:	89 45 fc             	mov    %eax,-0x4(%ebp)
406927:	8d 45 ec             	lea    -0x14(%ebp),%eax
40692a:	50                   	push   %eax
40692b:	ff 76 1c             	push   0x1c(%esi)
40692e:	ff 76 18             	push   0x18(%esi)
406931:	ff 15 04 30 42 00    	call   *0x423004
406937:	5e                   	pop    %esi
406938:	c9                   	leave
406939:	c2 18 00             	ret    $0x18
40693c:	8b ff                	mov    %edi,%edi
40693e:	55                   	push   %ebp
40693f:	8b ec                	mov    %esp,%ebp
406941:	8b 0d 18 00 42 00    	mov    0x420018,%ecx
406947:	a1 1c 00 42 00       	mov    0x42001c,%eax
40694c:	23 4d 08             	and    0x8(%ebp),%ecx
40694f:	23 45 0c             	and    0xc(%ebp),%eax
406952:	0b c8                	or     %eax,%ecx
406954:	74 25                	je     0x40697b
406956:	a1 20 00 42 00       	mov    0x420020,%eax
40695b:	8b 15 24 00 42 00    	mov    0x420024,%edx
406961:	23 45 08             	and    0x8(%ebp),%eax
406964:	23 55 0c             	and    0xc(%ebp),%edx
406967:	3b 05 20 00 42 00    	cmp    0x420020,%eax
40696d:	75 0c                	jne    0x40697b
40696f:	3b 15 24 00 42 00    	cmp    0x420024,%edx
406975:	75 04                	jne    0x40697b
406977:	b0 01                	mov    $0x1,%al
406979:	eb 02                	jmp    0x40697d
40697b:	32 c0                	xor    %al,%al
40697d:	5d                   	pop    %ebp
40697e:	c2 08 00             	ret    $0x8
406981:	cc                   	int3
406982:	cc                   	int3
406983:	cc                   	int3
406984:	cc                   	int3
406985:	cc                   	int3
406986:	cc                   	int3
406987:	cc                   	int3
406988:	cc                   	int3
406989:	cc                   	int3
40698a:	cc                   	int3
40698b:	cc                   	int3
40698c:	cc                   	int3
40698d:	cc                   	int3
40698e:	cc                   	int3
40698f:	cc                   	int3
406990:	8b ff                	mov    %edi,%edi
406992:	55                   	push   %ebp
406993:	8b ec                	mov    %esp,%ebp
406995:	8b 45 28             	mov    0x28(%ebp),%eax
406998:	85 c0                	test   %eax,%eax
40699a:	74 6b                	je     0x406a07
40699c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40699f:	8b 55 10             	mov    0x10(%ebp),%edx
4069a2:	53                   	push   %ebx
4069a3:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
4069a6:	57                   	push   %edi
4069a7:	8b 7d 20             	mov    0x20(%ebp),%edi
4069aa:	83 e9 00             	sub    $0x0,%ecx
4069ad:	74 2a                	je     0x4069d9
4069af:	83 e9 01             	sub    $0x1,%ecx
4069b2:	75 28                	jne    0x4069dc
4069b4:	84 d2                	test   %dl,%dl
4069b6:	74 06                	je     0x4069be
4069b8:	0f b6 ca             	movzbl %dl,%ecx
4069bb:	41                   	inc    %ecx
4069bc:	eb 05                	jmp    0x4069c3
4069be:	b9 00 01 00 00       	mov    $0x100,%ecx
4069c3:	89 08                	mov    %ecx,(%eax)
4069c5:	8b 4d 14             	mov    0x14(%ebp),%ecx
4069c8:	89 48 08             	mov    %ecx,0x8(%eax)
4069cb:	8b 4d 18             	mov    0x18(%ebp),%ecx
4069ce:	89 48 0c             	mov    %ecx,0xc(%eax)
4069d1:	89 58 10             	mov    %ebx,0x10(%eax)
4069d4:	89 78 14             	mov    %edi,0x14(%eax)
4069d7:	eb 06                	jmp    0x4069df
4069d9:	83 20 00             	andl   $0x0,(%eax)
4069dc:	8b 4d 18             	mov    0x18(%ebp),%ecx
4069df:	56                   	push   %esi
4069e0:	8b 70 20             	mov    0x20(%eax),%esi
4069e3:	85 f6                	test   %esi,%esi
4069e5:	74 1d                	je     0x406a04
4069e7:	ff 70 24             	push   0x24(%eax)
4069ea:	ff 75 24             	push   0x24(%ebp)
4069ed:	57                   	push   %edi
4069ee:	53                   	push   %ebx
4069ef:	51                   	push   %ecx
4069f0:	ff 75 14             	push   0x14(%ebp)
4069f3:	8b ce                	mov    %esi,%ecx
4069f5:	52                   	push   %edx
4069f6:	ff 75 0c             	push   0xc(%ebp)
4069f9:	ff 75 08             	push   0x8(%ebp)
4069fc:	ff 15 f0 35 42 00    	call   *0x4235f0
406a02:	ff d6                	call   *%esi
406a04:	5e                   	pop    %esi
406a05:	5f                   	pop    %edi
406a06:	5b                   	pop    %ebx
406a07:	5d                   	pop    %ebp
406a08:	c2 24 00             	ret    $0x24
406a0b:	cc                   	int3
406a0c:	cc                   	int3
406a0d:	cc                   	int3
406a0e:	cc                   	int3
406a0f:	cc                   	int3
406a10:	6a 04                	push   $0x4
406a12:	b8 68 c6 41 00       	mov    $0x41c668,%eax
406a17:	e8 1c 5a 01 00       	call   0x41c438
406a1c:	6a 00                	push   $0x0
406a1e:	b9 60 1b 42 00       	mov    $0x421b60,%ecx
406a23:	ff 15 38 32 42 00    	call   *0x423238
406a29:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406a2d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
406a30:	c7 05 60 1b 42 00 10 	movl   $0x401010,0x421b60
406a37:	10 40 00
406a3a:	ff 15 40 32 42 00    	call   *0x423240
406a40:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406a44:	8d 55 f0             	lea    -0x10(%ebp),%edx
406a47:	6a 66                	push   $0x66
406a49:	59                   	pop    %ecx
406a4a:	e8 f2 7d 00 00       	call   0x40e841
406a4f:	85 c0                	test   %eax,%eax
406a51:	74 0f                	je     0x406a62
406a53:	ff 75 f0             	push   -0x10(%ebp)
406a56:	ff 15 80 35 42 00    	call   *0x423580
406a5c:	59                   	pop    %ecx
406a5d:	a3 dc 1b 42 00       	mov    %eax,0x421bdc
406a62:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406a66:	8d 4d f0             	lea    -0x10(%ebp),%ecx
406a69:	ff 15 44 32 42 00    	call   *0x423244
406a6f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406a73:	68 40 e2 41 00       	push   $0x41e240
406a78:	e8 56 4c 01 00       	call   0x41b6d3
406a7d:	59                   	pop    %ecx
406a7e:	e8 83 59 01 00       	call   0x41c406
406a83:	c3                   	ret
406a84:	cc                   	int3
406a85:	cc                   	int3
406a86:	cc                   	int3
406a87:	cc                   	int3
406a88:	cc                   	int3
406a89:	cc                   	int3
406a8a:	cc                   	int3
406a8b:	cc                   	int3
406a8c:	cc                   	int3
406a8d:	cc                   	int3
406a8e:	cc                   	int3
406a8f:	cc                   	int3
406a90:	b9 24 1c 42 00       	mov    $0x421c24,%ecx
406a95:	ff 15 ec 30 42 00    	call   *0x4230ec
406a9b:	68 50 e2 41 00       	push   $0x41e250
406aa0:	e8 2e 4c 01 00       	call   0x41b6d3
406aa5:	59                   	pop    %ecx
406aa6:	c3                   	ret
406aa7:	cc                   	int3
406aa8:	cc                   	int3
406aa9:	cc                   	int3
406aaa:	cc                   	int3
406aab:	cc                   	int3
406aac:	cc                   	int3
406aad:	cc                   	int3
406aae:	cc                   	int3
406aaf:	cc                   	int3
406ab0:	8b ff                	mov    %edi,%edi
406ab2:	51                   	push   %ecx
406ab3:	e8 9c 6c 00 00       	call   0x40d754
406ab8:	68 60 e2 41 00       	push   $0x41e260
406abd:	e8 11 4c 01 00       	call   0x41b6d3
406ac2:	59                   	pop    %ecx
406ac3:	c3                   	ret
406ac4:	cc                   	int3
406ac5:	cc                   	int3
406ac6:	cc                   	int3
406ac7:	cc                   	int3
406ac8:	cc                   	int3
406ac9:	cc                   	int3
406aca:	cc                   	int3
406acb:	cc                   	int3
406acc:	cc                   	int3
406acd:	cc                   	int3
406ace:	cc                   	int3
406acf:	cc                   	int3
406ad0:	68 00 06 00 00       	push   $0x600
406ad5:	6a 00                	push   $0x0
406ad7:	e8 21 52 01 00       	call   0x41bcfd
406adc:	a2 f0 09 42 00       	mov    %al,0x4209f0
406ae1:	c3                   	ret
406ae2:	cc                   	int3
406ae3:	cc                   	int3
406ae4:	cc                   	int3
406ae5:	cc                   	int3
406ae6:	cc                   	int3
406ae7:	cc                   	int3
406ae8:	cc                   	int3
406ae9:	cc                   	int3
406aea:	cc                   	int3
406aeb:	cc                   	int3
406aec:	cc                   	int3
406aed:	cc                   	int3
406aee:	cc                   	int3
406aef:	cc                   	int3
406af0:	a1 30 32 42 00       	mov    0x423230,%eax
406af5:	c3                   	ret
406af6:	cc                   	int3
406af7:	cc                   	int3
406af8:	cc                   	int3
406af9:	cc                   	int3
406afa:	cc                   	int3
406afb:	cc                   	int3
406afc:	cc                   	int3
406afd:	cc                   	int3
406afe:	cc                   	int3
406aff:	cc                   	int3
406b00:	b8 e4 10 40 00       	mov    $0x4010e4,%eax
406b05:	c3                   	ret
406b06:	cc                   	int3
406b07:	cc                   	int3
406b08:	cc                   	int3
406b09:	cc                   	int3
406b0a:	cc                   	int3
406b0b:	cc                   	int3
406b0c:	cc                   	int3
406b0d:	cc                   	int3
406b0e:	cc                   	int3
406b0f:	cc                   	int3
406b10:	8b ff                	mov    %edi,%edi
406b12:	55                   	push   %ebp
406b13:	8b ec                	mov    %esp,%ebp
406b15:	56                   	push   %esi
406b16:	8b f1                	mov    %ecx,%esi
406b18:	e8 14 00 00 00       	call   0x406b31
406b1d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
406b21:	74 07                	je     0x406b2a
406b23:	56                   	push   %esi
406b24:	e8 7a 47 01 00       	call   0x41b2a3
406b29:	59                   	pop    %ecx
406b2a:	8b c6                	mov    %esi,%eax
406b2c:	5e                   	pop    %esi
406b2d:	5d                   	pop    %ebp
406b2e:	c2 04 00             	ret    $0x4
406b31:	8b ff                	mov    %edi,%edi
406b33:	55                   	push   %ebp
406b34:	8b ec                	mov    %esp,%ebp
406b36:	6a ff                	push   $0xffffffff
406b38:	68 39 c6 41 00       	push   $0x41c639
406b3d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406b43:	50                   	push   %eax
406b44:	51                   	push   %ecx
406b45:	56                   	push   %esi
406b46:	a1 e4 05 42 00       	mov    0x4205e4,%eax
406b4b:	33 c5                	xor    %ebp,%eax
406b4d:	50                   	push   %eax
406b4e:	8d 45 f4             	lea    -0xc(%ebp),%eax
406b51:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
406b57:	8b f1                	mov    %ecx,%esi
406b59:	89 75 f0             	mov    %esi,-0x10(%ebp)
406b5c:	c7 06 10 10 40 00    	movl   $0x401010,(%esi)
406b62:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406b66:	6a 01                	push   $0x1
406b68:	e8 7f 58 01 00       	call   0x41c3ec
406b6d:	50                   	push   %eax
406b6e:	ff 15 7c 35 42 00    	call   *0x42357c
406b74:	6a 02                	push   $0x2
406b76:	e8 71 58 01 00       	call   0x41c3ec
406b7b:	50                   	push   %eax
406b7c:	ff 15 7c 35 42 00    	call   *0x42357c
406b82:	83 c4 10             	add    $0x10,%esp
406b85:	ff 35 04 0a 42 00    	push   0x420a04
406b8b:	ff 15 90 30 42 00    	call   *0x423090
406b91:	50                   	push   %eax
406b92:	ff 15 94 30 42 00    	call   *0x423094
406b98:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406b9c:	8b ce                	mov    %esi,%ecx
406b9e:	ff 15 3c 32 42 00    	call   *0x42323c
406ba4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406ba7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406bae:	59                   	pop    %ecx
406baf:	5e                   	pop    %esi
406bb0:	c9                   	leave
406bb1:	c3                   	ret
406bb2:	cc                   	int3
406bb3:	cc                   	int3
406bb4:	cc                   	int3
406bb5:	cc                   	int3
406bb6:	cc                   	int3
406bb7:	cc                   	int3
406bb8:	cc                   	int3
406bb9:	cc                   	int3
406bba:	cc                   	int3
406bbb:	cc                   	int3
406bbc:	cc                   	int3
406bbd:	cc                   	int3
406bbe:	cc                   	int3
406bbf:	cc                   	int3
406bc0:	6a 0c                	push   $0xc
406bc2:	b8 8b c6 41 00       	mov    $0x41c68b,%eax
406bc7:	e8 6c 58 01 00       	call   0x41c438
406bcc:	89 4d e8             	mov    %ecx,-0x18(%ebp)
406bcf:	33 ff                	xor    %edi,%edi
406bd1:	33 f6                	xor    %esi,%esi
406bd3:	57                   	push   %edi
406bd4:	57                   	push   %edi
406bd5:	46                   	inc    %esi
406bd6:	56                   	push   %esi
406bd7:	57                   	push   %edi
406bd8:	ff 15 8c 30 42 00    	call   *0x42308c
406bde:	89 3d 04 0a 42 00    	mov    %edi,0x420a04
406be4:	e8 de 75 00 00       	call   0x40e1c7
406be9:	3b c6                	cmp    %esi,%eax
406beb:	74 0b                	je     0x406bf8
406bed:	89 35 04 0a 42 00    	mov    %esi,0x420a04
406bf3:	e9 2d 01 00 00       	jmp    0x406d25
406bf8:	a1 78 35 42 00       	mov    0x423578,%eax
406bfd:	8b de                	mov    %esi,%ebx
406bff:	89 3d 38 1f 42 00    	mov    %edi,0x421f38
406c05:	89 3d 30 1f 42 00    	mov    %edi,0x421f30
406c0b:	8b 08                	mov    (%eax),%ecx
406c0d:	a1 74 35 42 00       	mov    0x423574,%eax
406c12:	89 4d ec             	mov    %ecx,-0x14(%ebp)
406c15:	8b 00                	mov    (%eax),%eax
406c17:	3b c6                	cmp    %esi,%eax
406c19:	0f 8e 92 00 00 00    	jle    0x406cb1
406c1f:	8b f8                	mov    %eax,%edi
406c21:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
406c24:	ba a0 14 42 00       	mov    $0x4214a0,%edx
406c29:	e8 ab 0e 00 00       	call   0x407ad9