40ba75:	85 c0                	test   %eax,%eax
40ba77:	74 34                	je     0x40baad
40ba79:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
40ba7e:	66 39 08             	cmp    %cx,(%eax)
40ba81:	75 2a                	jne    0x40baad
40ba83:	8b 48 3c             	mov    0x3c(%eax),%ecx
40ba86:	03 c8                	add    %eax,%ecx
40ba88:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
40ba8e:	75 1d                	jne    0x40baad
40ba90:	b8 0b 01 00 00       	mov    $0x10b,%eax
40ba95:	66 39 41 18          	cmp    %ax,0x18(%ecx)
40ba99:	75 12                	jne    0x40baad
40ba9b:	83 79 74 0e          	cmpl   $0xe,0x74(%ecx)
40ba9f:	76 0c                	jbe    0x40baad
40baa1:	83 b9 e8 00 00 00 00 	cmpl   $0x0,0xe8(%ecx)
40baa8:	74 03                	je     0x40baad
40baaa:	b0 01                	mov    $0x1,%al
40baac:	c3                   	ret
40baad:	32 c0                	xor    %al,%al
40baaf:	c3                   	ret
40bab0:	8b ff                	mov    %edi,%edi
40bab2:	55                   	push   %ebp
40bab3:	8b ec                	mov    %esp,%ebp
40bab5:	51                   	push   %ecx
40bab6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40baba:	8d 45 fc             	lea    -0x4(%ebp),%eax
40babd:	50                   	push   %eax
40babe:	68 84 d0 41 00       	push   $0x41d084
40bac3:	6a 00                	push   $0x0
40bac5:	ff 15 8c c0 41 00    	call   *0x41c08c
40bacb:	85 c0                	test   %eax,%eax
40bacd:	74 23                	je     0x40baf2
40bacf:	56                   	push   %esi
40bad0:	68 9c d0 41 00       	push   $0x41d09c
40bad5:	ff 75 fc             	push   -0x4(%ebp)
40bad8:	ff 15 1c c1 41 00    	call   *0x41c11c
40bade:	8b f0                	mov    %eax,%esi
40bae0:	85 f6                	test   %esi,%esi
40bae2:	74 0d                	je     0x40baf1
40bae4:	ff 75 08             	push   0x8(%ebp)
40bae7:	8b ce                	mov    %esi,%ecx
40bae9:	ff 15 50 c2 41 00    	call   *0x41c250
40baef:	ff d6                	call   *%esi
40baf1:	5e                   	pop    %esi
40baf2:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40baf6:	74 09                	je     0x40bb01
40baf8:	ff 75 fc             	push   -0x4(%ebp)
40bafb:	ff 15 20 c1 41 00    	call   *0x41c120
40bb01:	c9                   	leave
40bb02:	c3                   	ret
40bb03:	8b ff                	mov    %edi,%edi
40bb05:	55                   	push   %ebp
40bb06:	8b ec                	mov    %esp,%ebp
40bb08:	8b 45 08             	mov    0x8(%ebp),%eax
40bb0b:	a3 60 6e 42 00       	mov    %eax,0x426e60
40bb10:	5d                   	pop    %ebp
40bb11:	c3                   	ret
40bb12:	6a 01                	push   $0x1
40bb14:	6a 02                	push   $0x2
40bb16:	6a 00                	push   $0x0
40bb18:	e8 aa fe ff ff       	call   0x40b9c7
40bb1d:	83 c4 0c             	add    $0xc,%esp
40bb20:	c3                   	ret
40bb21:	6a 01                	push   $0x1
40bb23:	6a 00                	push   $0x0
40bb25:	6a 00                	push   $0x0
40bb27:	e8 9b fe ff ff       	call   0x40b9c7
40bb2c:	83 c4 0c             	add    $0xc,%esp
40bb2f:	c3                   	ret
40bb30:	8b ff                	mov    %edi,%edi
40bb32:	55                   	push   %ebp
40bb33:	8b ec                	mov    %esp,%ebp
40bb35:	6a 00                	push   $0x0
40bb37:	6a 02                	push   $0x2
40bb39:	ff 75 08             	push   0x8(%ebp)
40bb3c:	e8 86 fe ff ff       	call   0x40b9c7
40bb41:	83 c4 0c             	add    $0xc,%esp
40bb44:	5d                   	pop    %ebp
40bb45:	c3                   	ret
40bb46:	8b ff                	mov    %edi,%edi
40bb48:	55                   	push   %ebp
40bb49:	8b ec                	mov    %esp,%ebp
40bb4b:	a1 60 6e 42 00       	mov    0x426e60,%eax
40bb50:	3b 05 18 60 42 00    	cmp    0x426018,%eax
40bb56:	0f 85 e3 06 00 00    	jne    0x40c23f
40bb5c:	ff 75 08             	push   0x8(%ebp)
40bb5f:	e8 c9 f6 ff ff       	call   0x40b22d
40bb64:	59                   	pop    %ecx
40bb65:	a3 60 6e 42 00       	mov    %eax,0x426e60
40bb6a:	5d                   	pop    %ebp
40bb6b:	c3                   	ret
40bb6c:	8b ff                	mov    %edi,%edi
40bb6e:	55                   	push   %ebp
40bb6f:	8b ec                	mov    %esp,%ebp
40bb71:	6a 00                	push   $0x0
40bb73:	6a 00                	push   $0x0
40bb75:	ff 75 08             	push   0x8(%ebp)
40bb78:	e8 4a fe ff ff       	call   0x40b9c7
40bb7d:	83 c4 0c             	add    $0xc,%esp
40bb80:	5d                   	pop    %ebp
40bb81:	c3                   	ret
40bb82:	8b ff                	mov    %edi,%edi
40bb84:	55                   	push   %ebp
40bb85:	8b ec                	mov    %esp,%ebp
40bb87:	8b 45 08             	mov    0x8(%ebp),%eax
40bb8a:	3d 00 40 00 00       	cmp    $0x4000,%eax
40bb8f:	74 23                	je     0x40bbb4
40bb91:	3d 00 80 00 00       	cmp    $0x8000,%eax
40bb96:	74 1c                	je     0x40bbb4
40bb98:	3d 00 00 01 00       	cmp    $0x10000,%eax
40bb9d:	74 15                	je     0x40bbb4
40bb9f:	e8 2f 31 00 00       	call   0x40ecd3
40bba4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40bbaa:	e8 67 30 00 00       	call   0x40ec16
40bbaf:	6a 16                	push   $0x16
40bbb1:	58                   	pop    %eax
40bbb2:	5d                   	pop    %ebp
40bbb3:	c3                   	ret
40bbb4:	b9 14 70 42 00       	mov    $0x427014,%ecx
40bbb9:	87 01                	xchg   %eax,(%ecx)
40bbbb:	33 c0                	xor    %eax,%eax
40bbbd:	5d                   	pop    %ebp
40bbbe:	c3                   	ret
40bbbf:	6a 0c                	push   $0xc
40bbc1:	68 80 3e 42 00       	push   $0x423e80
40bbc6:	e8 05 ce ff ff       	call   0x4089d0
40bbcb:	8b 45 08             	mov    0x8(%ebp),%eax
40bbce:	ff 30                	push   (%eax)
40bbd0:	e8 2c 46 00 00       	call   0x410201
40bbd5:	59                   	pop    %ecx
40bbd6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bbda:	be 1c 72 42 00       	mov    $0x42721c,%esi
40bbdf:	bf 80 65 42 00       	mov    $0x426580,%edi
40bbe4:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40bbe7:	81 fe 20 72 42 00    	cmp    $0x427220,%esi
40bbed:	74 14                	je     0x40bc03
40bbef:	39 3e                	cmp    %edi,(%esi)
40bbf1:	74 0b                	je     0x40bbfe
40bbf3:	57                   	push   %edi
40bbf4:	56                   	push   %esi
40bbf5:	e8 7d 55 00 00       	call   0x411177
40bbfa:	59                   	pop    %ecx
40bbfb:	59                   	pop    %ecx
40bbfc:	89 06                	mov    %eax,(%esi)
40bbfe:	83 c6 04             	add    $0x4,%esi
40bc01:	eb e1                	jmp    0x40bbe4
40bc03:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40bc0a:	e8 12 00 00 00       	call   0x40bc21
40bc0f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40bc12:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bc19:	59                   	pop    %ecx
40bc1a:	5f                   	pop    %edi
40bc1b:	5e                   	pop    %esi
40bc1c:	5b                   	pop    %ebx
40bc1d:	c9                   	leave
40bc1e:	c2 0c 00             	ret    $0xc
40bc21:	8b 45 10             	mov    0x10(%ebp),%eax
40bc24:	ff 30                	push   (%eax)
40bc26:	e8 26 46 00 00       	call   0x410251
40bc2b:	59                   	pop    %ecx
40bc2c:	c3                   	ret
40bc2d:	8b ff                	mov    %edi,%edi
40bc2f:	55                   	push   %ebp
40bc30:	8b ec                	mov    %esp,%ebp
40bc32:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40bc35:	8d 41 01             	lea    0x1(%ecx),%eax
40bc38:	3d 00 01 00 00       	cmp    $0x100,%eax
40bc3d:	77 0c                	ja     0x40bc4b
40bc3f:	8b 45 08             	mov    0x8(%ebp),%eax
40bc42:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
40bc46:	23 45 10             	and    0x10(%ebp),%eax
40bc49:	5d                   	pop    %ebp
40bc4a:	c3                   	ret
40bc4b:	33 c0                	xor    %eax,%eax
40bc4d:	5d                   	pop    %ebp
40bc4e:	c3                   	ret
40bc4f:	33 c0                	xor    %eax,%eax
40bc51:	b9 68 6e 42 00       	mov    $0x426e68,%ecx
40bc56:	40                   	inc    %eax
40bc57:	87 01                	xchg   %eax,(%ecx)
40bc59:	c3                   	ret
40bc5a:	cc                   	int3
40bc5b:	cc                   	int3
40bc5c:	cc                   	int3
40bc5d:	cc                   	int3
40bc5e:	cc                   	int3
40bc5f:	cc                   	int3
40bc60:	8b ff                	mov    %edi,%edi
40bc62:	55                   	push   %ebp
40bc63:	8b ec                	mov    %esp,%ebp
40bc65:	83 ec 0c             	sub    $0xc,%esp
40bc68:	6a 04                	push   $0x4
40bc6a:	58                   	pop    %eax
40bc6b:	89 45 f8             	mov    %eax,-0x8(%ebp)
40bc6e:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40bc71:	89 45 f4             	mov    %eax,-0xc(%ebp)
40bc74:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bc77:	50                   	push   %eax
40bc78:	8d 45 ff             	lea    -0x1(%ebp),%eax
40bc7b:	50                   	push   %eax
40bc7c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bc7f:	50                   	push   %eax
40bc80:	e8 3a ff ff ff       	call   0x40bbbf
40bc85:	c9                   	leave
40bc86:	c3                   	ret
40bc87:	8b ff                	mov    %edi,%edi
40bc89:	55                   	push   %ebp
40bc8a:	8b ec                	mov    %esp,%ebp
40bc8c:	56                   	push   %esi
40bc8d:	e8 77 2b 00 00       	call   0x40e809
40bc92:	8b 55 08             	mov    0x8(%ebp),%edx
40bc95:	8b f0                	mov    %eax,%esi
40bc97:	6a 00                	push   $0x0
40bc99:	58                   	pop    %eax
40bc9a:	8b 8e 50 03 00 00    	mov    0x350(%esi),%ecx
40bca0:	f6 c1 02             	test   $0x2,%cl
40bca3:	0f 94 c0             	sete   %al
40bca6:	40                   	inc    %eax
40bca7:	83 fa ff             	cmp    $0xffffffff,%edx
40bcaa:	74 33                	je     0x40bcdf
40bcac:	85 d2                	test   %edx,%edx
40bcae:	74 36                	je     0x40bce6
40bcb0:	83 fa 01             	cmp    $0x1,%edx
40bcb3:	74 1f                	je     0x40bcd4
40bcb5:	83 fa 02             	cmp    $0x2,%edx
40bcb8:	74 15                	je     0x40bccf
40bcba:	e8 14 30 00 00       	call   0x40ecd3
40bcbf:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40bcc5:	e8 4c 2f 00 00       	call   0x40ec16
40bcca:	83 c8 ff             	or     $0xffffffff,%eax
40bccd:	eb 17                	jmp    0x40bce6
40bccf:	83 e1 fd             	and    $0xfffffffd,%ecx
40bcd2:	eb 03                	jmp    0x40bcd7
40bcd4:	83 c9 02             	or     $0x2,%ecx
40bcd7:	89 8e 50 03 00 00    	mov    %ecx,0x350(%esi)
40bcdd:	eb 07                	jmp    0x40bce6
40bcdf:	83 0d a0 66 42 00 ff 	orl    $0xffffffff,0x4266a0
40bce6:	5e                   	pop    %esi
40bce7:	5d                   	pop    %ebp
40bce8:	c3                   	ret
40bce9:	a1 6c 6e 42 00       	mov    0x426e6c,%eax
40bcee:	90                   	nop
40bcef:	c3                   	ret
40bcf0:	8b ff                	mov    %edi,%edi
40bcf2:	55                   	push   %ebp
40bcf3:	8b ec                	mov    %esp,%ebp
40bcf5:	8b 45 08             	mov    0x8(%ebp),%eax
40bcf8:	85 c0                	test   %eax,%eax
40bcfa:	74 1a                	je     0x40bd16
40bcfc:	83 f8 01             	cmp    $0x1,%eax
40bcff:	74 15                	je     0x40bd16
40bd01:	e8 cd 2f 00 00       	call   0x40ecd3
40bd06:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40bd0c:	e8 05 2f 00 00       	call   0x40ec16
40bd11:	83 c8 ff             	or     $0xffffffff,%eax
40bd14:	5d                   	pop    %ebp
40bd15:	c3                   	ret
40bd16:	b9 6c 6e 42 00       	mov    $0x426e6c,%ecx
40bd1b:	87 01                	xchg   %eax,(%ecx)
40bd1d:	5d                   	pop    %ebp
40bd1e:	c3                   	ret
40bd1f:	b8 70 6e 42 00       	mov    $0x426e70,%eax
40bd24:	c3                   	ret
40bd25:	6a 0c                	push   $0xc
40bd27:	68 c0 3e 42 00       	push   $0x423ec0
40bd2c:	e8 9f cc ff ff       	call   0x4089d0
40bd31:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40bd35:	8b 45 08             	mov    0x8(%ebp),%eax
40bd38:	ff 30                	push   (%eax)
40bd3a:	e8 c2 44 00 00       	call   0x410201
40bd3f:	59                   	pop    %ecx
40bd40:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bd44:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40bd47:	e8 b8 01 00 00       	call   0x40bf04
40bd4c:	8b f0                	mov    %eax,%esi
40bd4e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40bd51:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40bd58:	e8 17 00 00 00       	call   0x40bd74
40bd5d:	8b c6                	mov    %esi,%eax
40bd5f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40bd62:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bd69:	59                   	pop    %ecx
40bd6a:	5f                   	pop    %edi
40bd6b:	5e                   	pop    %esi
40bd6c:	5b                   	pop    %ebx
40bd6d:	c9                   	leave
40bd6e:	c2 0c 00             	ret    $0xc
40bd71:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40bd74:	8b 45 10             	mov    0x10(%ebp),%eax
40bd77:	ff 30                	push   (%eax)
40bd79:	e8 d3 44 00 00       	call   0x410251
40bd7e:	59                   	pop    %ecx
40bd7f:	c3                   	ret
40bd80:	6a 0c                	push   $0xc
40bd82:	68 a0 3e 42 00       	push   $0x423ea0
40bd87:	e8 44 cc ff ff       	call   0x4089d0
40bd8c:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40bd90:	8b 45 08             	mov    0x8(%ebp),%eax
40bd93:	ff 30                	push   (%eax)
40bd95:	e8 67 44 00 00       	call   0x410201
40bd9a:	59                   	pop    %ecx
40bd9b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bd9f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40bda2:	e8 34 00 00 00       	call   0x40bddb
40bda7:	8b f0                	mov    %eax,%esi
40bda9:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40bdac:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40bdb3:	e8 17 00 00 00       	call   0x40bdcf
40bdb8:	8b c6                	mov    %esi,%eax
40bdba:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40bdbd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bdc4:	59                   	pop    %ecx
40bdc5:	5f                   	pop    %edi
40bdc6:	5e                   	pop    %esi
40bdc7:	5b                   	pop    %ebx
40bdc8:	c9                   	leave
40bdc9:	c2 0c 00             	ret    $0xc
40bdcc:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40bdcf:	8b 45 10             	mov    0x10(%ebp),%eax
40bdd2:	ff 30                	push   (%eax)
40bdd4:	e8 78 44 00 00       	call   0x410251
40bdd9:	59                   	pop    %ecx
40bdda:	c3                   	ret
40bddb:	8b ff                	mov    %edi,%edi
40bddd:	55                   	push   %ebp
40bdde:	8b ec                	mov    %esp,%ebp
40bde0:	83 ec 0c             	sub    $0xc,%esp
40bde3:	8b c1                	mov    %ecx,%eax
40bde5:	89 45 f8             	mov    %eax,-0x8(%ebp)
40bde8:	53                   	push   %ebx
40bde9:	56                   	push   %esi
40bdea:	8b 00                	mov    (%eax),%eax
40bdec:	57                   	push   %edi
40bded:	8b 30                	mov    (%eax),%esi
40bdef:	85 f6                	test   %esi,%esi
40bdf1:	0f 84 05 01 00 00    	je     0x40befc
40bdf7:	a1 18 60 42 00       	mov    0x426018,%eax
40bdfc:	8b c8                	mov    %eax,%ecx
40bdfe:	8b 1e                	mov    (%esi),%ebx
40be00:	83 e1 1f             	and    $0x1f,%ecx
40be03:	8b 7e 04             	mov    0x4(%esi),%edi
40be06:	33 d8                	xor    %eax,%ebx
40be08:	8b 76 08             	mov    0x8(%esi),%esi
40be0b:	33 f8                	xor    %eax,%edi
40be0d:	33 f0                	xor    %eax,%esi
40be0f:	d3 cf                	ror    %cl,%edi
40be11:	d3 ce                	ror    %cl,%esi
40be13:	d3 cb                	ror    %cl,%ebx
40be15:	3b fe                	cmp    %esi,%edi
40be17:	0f 85 9d 00 00 00    	jne    0x40beba