4069b8:	8d 85 dc ef ff ff    	lea    -0x1024(%ebp),%eax
4069be:	50                   	push   %eax
4069bf:	e8 5b 9f 00 00       	call   0x41091f
4069c4:	8d 85 dc ef ff ff    	lea    -0x1024(%ebp),%eax
4069ca:	50                   	push   %eax
4069cb:	e8 bb 37 01 00       	call   0x41a18b
4069d0:	89 45 10             	mov    %eax,0x10(%ebp)
4069d3:	8d 85 dc df ff ff    	lea    -0x2024(%ebp),%eax
4069d9:	6a 04                	push   $0x4
4069db:	8d b5 dc ef ff ff    	lea    -0x1024(%ebp),%esi
4069e1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4069e4:	8b c6                	mov    %esi,%eax
4069e6:	68 9c a5 42 00       	push   $0x42a59c
4069eb:	50                   	push   %eax
4069ec:	e8 89 59 01 00       	call   0x41c37a
4069f1:	83 c4 10             	add    $0x10,%esp
4069f4:	8b d8                	mov    %eax,%ebx
4069f6:	f7 db                	neg    %ebx
4069f8:	1a db                	sbb    %bl,%bl
4069fa:	fe c3                	inc    %bl
4069fc:	74 4e                	je     0x406a4c
4069fe:	6a 04                	push   $0x4
406a00:	8d b5 e4 ef ff ff    	lea    -0x101c(%ebp),%esi
406a06:	8b c6                	mov    %esi,%eax
406a08:	68 90 a5 42 00       	push   $0x42a590
406a0d:	50                   	push   %eax
406a0e:	e8 67 59 01 00       	call   0x41c37a
406a13:	83 c4 0c             	add    $0xc,%esp
406a16:	85 c0                	test   %eax,%eax
406a18:	75 32                	jne    0x406a4c
406a1a:	6a 5c                	push   $0x5c
406a1c:	58                   	pop    %eax
406a1d:	66 89 85 dc df ff ff 	mov    %ax,-0x2024(%ebp)
406a24:	8d 85 de df ff ff    	lea    -0x2022(%ebp),%eax
406a2a:	8d b5 ea ef ff ff    	lea    -0x1016(%ebp),%esi
406a30:	eb 1d                	jmp    0x406a4f
406a32:	6a 00                	push   $0x0
406a34:	ff 75 0c             	push   0xc(%ebp)
406a37:	ff 15 04 a2 42 00    	call   *0x42a204
406a3d:	85 c0                	test   %eax,%eax
406a3f:	0f 85 54 ff ff ff    	jne    0x406999
406a45:	32 c0                	xor    %al,%al
406a47:	e9 3f 01 00 00       	jmp    0x406b8b
406a4c:	8b 45 f0             	mov    -0x10(%ebp),%eax
406a4f:	56                   	push   %esi
406a50:	50                   	push   %eax
406a51:	e8 7d 37 01 00       	call   0x41a1d3
406a56:	8d 85 dc df ff ff    	lea    -0x2024(%ebp),%eax
406a5c:	50                   	push   %eax
406a5d:	e8 29 37 01 00       	call   0x41a18b
406a62:	8b 8f f0 10 00 00    	mov    0x10f0(%edi),%ecx
406a68:	83 c4 0c             	add    $0xc,%esp
406a6b:	89 45 f0             	mov    %eax,-0x10(%ebp)
406a6e:	83 f9 03             	cmp    $0x3,%ecx
406a71:	75 63                	jne    0x406ad6
406a73:	8b 4d 10             	mov    0x10(%ebp),%ecx
406a76:	8b 75 e0             	mov    -0x20(%ebp),%esi
406a79:	03 c1                	add    %ecx,%eax
406a7b:	8d 44 00 0c          	lea    0xc(%eax,%eax,1),%eax
406a7f:	66 89 46 04          	mov    %ax,0x4(%esi)
406a83:	33 c0                	xor    %eax,%eax
406a85:	66 89 46 06          	mov    %ax,0x6(%esi)
406a89:	66 89 46 08          	mov    %ax,0x8(%esi)
406a8d:	8d 85 dc ef ff ff    	lea    -0x1024(%ebp),%eax
406a93:	50                   	push   %eax
406a94:	8d 46 10             	lea    0x10(%esi),%eax
406a97:	8d 1c 09             	lea    (%ecx,%ecx,1),%ebx
406a9a:	50                   	push   %eax
406a9b:	c7 06 03 00 00 a0    	movl   $0xa0000003,(%esi)
406aa1:	66 89 5e 0a          	mov    %bx,0xa(%esi)
406aa5:	e8 29 37 01 00       	call   0x41a1d3
406aaa:	8b 45 f0             	mov    -0x10(%ebp),%eax
406aad:	03 c0                	add    %eax,%eax
406aaf:	66 89 46 0e          	mov    %ax,0xe(%esi)
406ab3:	8d 85 dc df ff ff    	lea    -0x2024(%ebp),%eax
406ab9:	50                   	push   %eax
406aba:	8b 45 10             	mov    0x10(%ebp),%eax
406abd:	8d 44 46 12          	lea    0x12(%esi,%eax,2),%eax
406ac1:	83 c3 02             	add    $0x2,%ebx
406ac4:	50                   	push   %eax
406ac5:	66 89 5e 0c          	mov    %bx,0xc(%esi)
406ac9:	e8 05 37 01 00       	call   0x41a1d3
406ace:	83 c4 10             	add    $0x10,%esp
406ad1:	e9 89 00 00 00       	jmp    0x406b5f
406ad6:	83 f9 02             	cmp    $0x2,%ecx
406ad9:	74 17                	je     0x406af2
406adb:	83 f9 01             	cmp    $0x1,%ecx
406ade:	74 12                	je     0x406af2
406ae0:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
406ae4:	0f 84 9d 00 00 00    	je     0x406b87
406aea:	ff 75 e0             	push   -0x20(%ebp)
406aed:	e9 8f 00 00 00       	jmp    0x406b81
406af2:	8b 4d 10             	mov    0x10(%ebp),%ecx
406af5:	8b 75 e0             	mov    -0x20(%ebp),%esi
406af8:	03 c1                	add    %ecx,%eax
406afa:	8d 44 00 10          	lea    0x10(%eax,%eax,1),%eax
406afe:	66 89 46 04          	mov    %ax,0x4(%esi)
406b02:	33 c0                	xor    %eax,%eax
406b04:	66 89 46 06          	mov    %ax,0x6(%esi)
406b08:	66 89 46 08          	mov    %ax,0x8(%esi)
406b0c:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
406b0f:	66 89 46 0a          	mov    %ax,0xa(%esi)
406b13:	8d 85 dc ef ff ff    	lea    -0x1024(%ebp),%eax
406b19:	50                   	push   %eax
406b1a:	8d 46 14             	lea    0x14(%esi),%eax
406b1d:	50                   	push   %eax
406b1e:	c7 06 0c 00 00 a0    	movl   $0xa000000c,(%esi)
406b24:	e8 aa 36 01 00       	call   0x41a1d3
406b29:	8b 45 10             	mov    0x10(%ebp),%eax
406b2c:	03 c0                	add    %eax,%eax
406b2e:	83 c0 02             	add    $0x2,%eax
406b31:	66 89 46 0c          	mov    %ax,0xc(%esi)
406b35:	8b 45 f0             	mov    -0x10(%ebp),%eax
406b38:	03 c0                	add    %eax,%eax
406b3a:	66 89 46 0e          	mov    %ax,0xe(%esi)
406b3e:	8d 85 dc df ff ff    	lea    -0x2024(%ebp),%eax
406b44:	50                   	push   %eax
406b45:	8b 45 10             	mov    0x10(%ebp),%eax
406b48:	8d 44 46 16          	lea    0x16(%esi,%eax,2),%eax
406b4c:	50                   	push   %eax
406b4d:	e8 81 36 01 00       	call   0x41a1d3
406b52:	33 c0                	xor    %eax,%eax
406b54:	83 c4 10             	add    $0x10,%esp
406b57:	84 db                	test   %bl,%bl
406b59:	0f 94 c0             	sete   %al
406b5c:	89 46 10             	mov    %eax,0x10(%esi)
406b5f:	33 c0                	xor    %eax,%eax
406b61:	50                   	push   %eax
406b62:	68 00 00 20 02       	push   $0x2200000
406b67:	6a 03                	push   $0x3
406b69:	50                   	push   %eax
406b6a:	50                   	push   %eax
406b6b:	68 00 00 00 c0       	push   $0xc0000000
406b70:	ff 75 0c             	push   0xc(%ebp)
406b73:	ff 15 00 a2 42 00    	call   *0x42a200
406b79:	8b d8                	mov    %eax,%ebx
406b7b:	83 fb ff             	cmp    $0xffffffff,%ebx
406b7e:	75 1a                	jne    0x406b9a
406b80:	56                   	push   %esi
406b81:	e8 5c 33 01 00       	call   0x419ee2
406b86:	59                   	pop    %ecx
406b87:	32 c0                	xor    %al,%al
406b89:	5e                   	pop    %esi
406b8a:	5b                   	pop    %ebx
406b8b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406b8e:	5f                   	pop    %edi
406b8f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406b96:	c9                   	leave
406b97:	c2 0c 00             	ret    $0xc
406b9a:	33 c0                	xor    %eax,%eax
406b9c:	50                   	push   %eax
406b9d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
406ba0:	51                   	push   %ecx
406ba1:	50                   	push   %eax
406ba2:	50                   	push   %eax
406ba3:	0f b7 46 04          	movzwl 0x4(%esi),%eax
406ba7:	83 c0 08             	add    $0x8,%eax
406baa:	50                   	push   %eax
406bab:	56                   	push   %esi
406bac:	68 a4 00 09 00       	push   $0x900a4
406bb1:	53                   	push   %ebx
406bb2:	ff 15 08 a2 42 00    	call   *0x42a208
406bb8:	85 c0                	test   %eax,%eax
406bba:	75 66                	jne    0x406c22
406bbc:	53                   	push   %ebx
406bbd:	ff 15 1c a2 42 00    	call   *0x42a21c
406bc3:	ff 75 0c             	push   0xc(%ebp)
406bc6:	6a 00                	push   $0x0
406bc8:	6a 14                	push   $0x14
406bca:	e8 0a f9 ff ff       	call   0x4064d9
406bcf:	ff 15 24 a2 42 00    	call   *0x42a224
406bd5:	3d 22 05 00 00       	cmp    $0x522,%eax
406bda:	75 07                	jne    0x406be3
406bdc:	6a 16                	push   $0x16
406bde:	e8 86 af ff ff       	call   0x401b69
406be3:	bb 74 2a 43 00       	mov    $0x432a74,%ebx
406be8:	8b cb                	mov    %ebx,%ecx
406bea:	e8 11 a4 ff ff       	call   0x401000
406bef:	6a 09                	push   $0x9
406bf1:	8b cb                	mov    %ebx,%ecx
406bf3:	e8 12 f8 ff ff       	call   0x40640a
406bf8:	80 bf e1 10 00 00 00 	cmpb   $0x0,0x10e1(%edi)
406bff:	ff 75 0c             	push   0xc(%ebp)
406c02:	74 08                	je     0x406c0c
406c04:	ff 15 0c a2 42 00    	call   *0x42a20c
406c0a:	eb 06                	jmp    0x406c12
406c0c:	ff 15 10 a2 42 00    	call   *0x42a210
406c12:	32 db                	xor    %bl,%bl
406c14:	56                   	push   %esi
406c15:	e8 c8 32 01 00       	call   0x419ee2
406c1a:	59                   	pop    %ecx
406c1b:	8a c3                	mov    %bl,%al
406c1d:	e9 67 ff ff ff       	jmp    0x406b89
406c22:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406c28:	e8 17 1b 00 00       	call   0x408744
406c2d:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406c33:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406c37:	e8 93 1d 00 00       	call   0x4089cf
406c3c:	89 9d bc cf ff ff    	mov    %ebx,-0x3044(%ebp)
406c42:	8b 5d 08             	mov    0x8(%ebp),%ebx
406c45:	8b 83 94 62 00 00    	mov    0x6294(%ebx),%eax
406c4b:	f7 d8                	neg    %eax
406c4d:	1b c0                	sbb    %eax,%eax
406c4f:	8d 8f 40 10 00 00    	lea    0x1040(%edi),%ecx
406c55:	23 c1                	and    %ecx,%eax
406c57:	50                   	push   %eax
406c58:	8b 83 90 62 00 00    	mov    0x6290(%ebx),%eax
406c5e:	f7 d8                	neg    %eax
406c60:	1b c0                	sbb    %eax,%eax
406c62:	8d 8f 38 10 00 00    	lea    0x1038(%edi),%ecx
406c68:	23 c1                	and    %ecx,%eax
406c6a:	50                   	push   %eax
406c6b:	8b 83 8c 62 00 00    	mov    0x628c(%ebx),%eax
406c71:	f7 d8                	neg    %eax
406c73:	8d 8f 30 10 00 00    	lea    0x1030(%edi),%ecx
406c79:	1b c0                	sbb    %eax,%eax
406c7b:	23 c1                	and    %ecx,%eax
406c7d:	50                   	push   %eax
406c7e:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406c84:	e8 3e 20 00 00       	call   0x408cc7
406c89:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406c8f:	e8 3b 1d 00 00       	call   0x4089cf
406c94:	80 bb 9b 51 00 00 00 	cmpb   $0x0,0x519b(%ebx)
406c9b:	75 0b                	jne    0x406ca8
406c9d:	ff 77 1c             	push   0x1c(%edi)
406ca0:	ff 75 0c             	push   0xc(%ebp)
406ca3:	e8 77 23 00 00       	call   0x40901f
406ca8:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406cae:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406cb2:	e8 53 1f 00 00       	call   0x408c0a
406cb7:	b3 01                	mov    $0x1,%bl
406cb9:	e9 56 ff ff ff       	jmp    0x406c14
406cbe:	8b 44 24 0c          	mov    0xc(%esp),%eax
406cc2:	83 b8 30 a2 00 00 03 	cmpl   $0x3,0xa230(%eax)
406cc9:	75 15                	jne    0x406ce0
406ccb:	05 c8 57 00 00       	add    $0x57c8,%eax
406cd0:	50                   	push   %eax
406cd1:	ff 74 24 14          	push   0x14(%esp)
406cd5:	ff 74 24 0c          	push   0xc(%esp)
406cd9:	e8 31 fc ff ff       	call   0x40690f
406cde:	eb 02                	jmp    0x406ce2
406ce0:	32 c0                	xor    %al,%al
406ce2:	c2 10 00             	ret    $0x10
406ce5:	b8 a3 92 42 00       	mov    $0x4292a3,%eax
406cea:	e8 c9 31 01 00       	call   0x419eb8
406cef:	b8 94 50 00 00       	mov    $0x5094,%eax
406cf4:	e8 d7 37 01 00       	call   0x41a4d0
406cf9:	53                   	push   %ebx
406cfa:	56                   	push   %esi
406cfb:	8b 75 0c             	mov    0xc(%ebp),%esi
406cfe:	66 83 3e 00          	cmpw   $0x0,(%esi)
406d02:	57                   	push   %edi
406d03:	bf 02 08 00 00       	mov    $0x802,%edi
406d08:	8d 5f fe             	lea    -0x2(%edi),%ebx
406d0b:	74 23                	je     0x406d30
406d0d:	66 83 7e 02 00       	cmpw   $0x0,0x2(%esi)
406d12:	75 1c                	jne    0x406d30
406d14:	8d 85 84 cf ff ff    	lea    -0x307c(%ebp),%eax
406d1a:	68 e4 a5 42 00       	push   $0x42a5e4
406d1f:	50                   	push   %eax
406d20:	e8 ae 34 01 00       	call   0x41a1d3
406d25:	59                   	pop    %ecx
406d26:	59                   	pop    %ecx
406d27:	53                   	push   %ebx
406d28:	8d 85 88 cf ff ff    	lea    -0x3078(%ebp),%eax
406d2e:	eb 07                	jmp    0x406d37
406d30:	57                   	push   %edi
406d31:	8d 85 84 cf ff ff    	lea    -0x307c(%ebp),%eax
406d37:	56                   	push   %esi
406d38:	50                   	push   %eax
406d39:	e8 e1 9b 00 00       	call   0x41091f
406d3e:	53                   	push   %ebx
406d3f:	8b 5d 08             	mov    0x8(%ebp),%ebx
406d42:	8d 85 84 bf ff ff    	lea    -0x407c(%ebp),%eax
406d48:	50                   	push   %eax
406d49:	53                   	push   %ebx
406d4a:	e8 af f9 ff ff       	call   0x4066fe
406d4f:	66 83 bd 84 bf ff ff 	cmpw   $0x3a,-0x407c(%ebp)
406d56:	3a
406d57:	74 1d                	je     0x406d76
406d59:	56                   	push   %esi
406d5a:	83 c3 1e             	add    $0x1e,%ebx
406d5d:	53                   	push   %ebx
406d5e:	6a 50                	push   $0x50
406d60:	e8 74 f7 ff ff       	call   0x4064d9
406d65:	6a 03                	push   $0x3
406d67:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
406d6c:	e8 99 f6 ff ff       	call   0x40640a
406d71:	e9 fa 00 00 00       	jmp    0x406e70
406d76:	57                   	push   %edi
406d77:	8d 85 84 bf ff ff    	lea    -0x407c(%ebp),%eax
406d7d:	50                   	push   %eax
406d7e:	8d 85 84 cf ff ff    	lea    -0x307c(%ebp),%eax
406d84:	50                   	push   %eax
406d85:	e8 c2 9b 00 00       	call   0x41094c
406d8a:	8d 8d 88 df ff ff    	lea    -0x2078(%ebp),%ecx
406d90:	e8 51 fa ff ff       	call   0x4067e6
406d95:	33 ff                	xor    %edi,%edi
406d97:	57                   	push   %edi
406d98:	8d 85 88 df ff ff    	lea    -0x2078(%ebp),%eax
406d9e:	50                   	push   %eax
406d9f:	56                   	push   %esi
406da0:	e8 95 28 00 00       	call   0x40963a
406da5:	8a d8                	mov    %al,%bl
406da7:	8b 85 90 ef ff ff    	mov    -0x1070(%ebp),%eax
406dad:	a8 01                	test   $0x1,%al
406daf:	74 0a                	je     0x406dbb
406db1:	83 e0 fe             	and    $0xfffffffe,%eax
406db4:	50                   	push   %eax
406db5:	56                   	push   %esi
406db6:	e8 64 22 00 00       	call   0x40901f
406dbb:	8d 8d d0 ef ff ff    	lea    -0x1030(%ebp),%ecx
406dc1:	e8 7e 19 00 00       	call   0x408744
406dc6:	6a 09                	push   $0x9
406dc8:	8d 85 84 cf ff ff    	lea    -0x307c(%ebp),%eax
406dce:	50                   	push   %eax
406dcf:	8d 8d d0 ef ff ff    	lea    -0x1030(%ebp),%ecx
406dd5:	89 7d fc             	mov    %edi,-0x4(%ebp)
406dd8:	e8 ca 1b 00 00       	call   0x4089a7
406ddd:	84 c0                	test   %al,%al
406ddf:	74 1f                	je     0x406e00
406de1:	8b 4d 08             	mov    0x8(%ebp),%ecx
406de4:	8d 85 d0 ef ff ff    	lea    -0x1030(%ebp),%eax
406dea:	50                   	push   %eax
406deb:	57                   	push   %edi
406dec:	e8 03 be ff ff       	call   0x402bf4
406df1:	84 c0                	test   %al,%al
406df3:	74 0b                	je     0x406e00
406df5:	8d 8d d0 ef ff ff    	lea    -0x1030(%ebp),%ecx
406dfb:	e8 cf 1b 00 00       	call   0x4089cf
406e00:	8d 8d 60 af ff ff    	lea    -0x50a0(%ebp),%ecx
406e06:	e8 39 19 00 00       	call   0x408744
406e0b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406e0f:	84 db                	test   %bl,%bl
406e11:	74 33                	je     0x406e46
406e13:	6a 05                	push   $0x5
406e15:	56                   	push   %esi
406e16:	8d 8d 60 af ff ff    	lea    -0x50a0(%ebp),%ecx
406e1c:	e8 60 19 00 00       	call   0x408781
406e21:	84 c0                	test   %al,%al
406e23:	74 21                	je     0x406e46
406e25:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
406e2b:	50                   	push   %eax
406e2c:	8d 85 b8 ef ff ff    	lea    -0x1048(%ebp),%eax
406e32:	50                   	push   %eax
406e33:	8d 85 b0 ef ff ff    	lea    -0x1050(%ebp),%eax
406e39:	50                   	push   %eax
406e3a:	ff b5 64 af ff ff    	push   -0x509c(%ebp)
406e40:	ff 15 24 a1 42 00    	call   *0x42a124
406e46:	ff b5 90 ef ff ff    	push   -0x1070(%ebp)