40b882:	3b 75 0c             	cmp    0xc(%ebp),%esi
40b885:	75 e4                	jne    0x40b86b
40b887:	33 c0                	xor    %eax,%eax
40b889:	5f                   	pop    %edi
40b88a:	5e                   	pop    %esi
40b88b:	5d                   	pop    %ebp
40b88c:	c3                   	ret
40b88d:	6a 08                	push   $0x8
40b88f:	68 60 3e 42 00       	push   $0x423e60
40b894:	e8 37 d1 ff ff       	call   0x4089d0
40b899:	8b 45 08             	mov    0x8(%ebp),%eax
40b89c:	ff 30                	push   (%eax)
40b89e:	e8 5e 49 00 00       	call   0x410201
40b8a3:	59                   	pop    %ecx
40b8a4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b8a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b8ab:	e8 2a 00 00 00       	call   0x40b8da
40b8b0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40b8b7:	e8 12 00 00 00       	call   0x40b8ce
40b8bc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b8bf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b8c6:	59                   	pop    %ecx
40b8c7:	5f                   	pop    %edi
40b8c8:	5e                   	pop    %esi
40b8c9:	5b                   	pop    %ebx
40b8ca:	c9                   	leave
40b8cb:	c2 0c 00             	ret    $0xc
40b8ce:	8b 45 10             	mov    0x10(%ebp),%eax
40b8d1:	ff 30                	push   (%eax)
40b8d3:	e8 79 49 00 00       	call   0x410251
40b8d8:	59                   	pop    %ecx
40b8d9:	c3                   	ret
40b8da:	6a 08                	push   $0x8
40b8dc:	68 40 3e 42 00       	push   $0x423e40
40b8e1:	e8 ea d0 ff ff       	call   0x4089d0
40b8e6:	8b f1                	mov    %ecx,%esi
40b8e8:	80 3d 64 6e 42 00 00 	cmpb   $0x0,0x426e64
40b8ef:	0f 85 96 00 00 00    	jne    0x40b98b
40b8f5:	33 c0                	xor    %eax,%eax
40b8f7:	40                   	inc    %eax
40b8f8:	b9 5c 6e 42 00       	mov    $0x426e5c,%ecx
40b8fd:	87 01                	xchg   %eax,(%ecx)
40b8ff:	33 db                	xor    %ebx,%ebx
40b901:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b904:	8b 06                	mov    (%esi),%eax
40b906:	8b 00                	mov    (%eax),%eax
40b908:	85 c0                	test   %eax,%eax
40b90a:	75 2c                	jne    0x40b938
40b90c:	8b 3d 18 60 42 00    	mov    0x426018,%edi
40b912:	8b cf                	mov    %edi,%ecx
40b914:	83 e1 1f             	and    $0x1f,%ecx
40b917:	a1 60 6e 42 00       	mov    0x426e60,%eax
40b91c:	3b c7                	cmp    %edi,%eax
40b91e:	74 11                	je     0x40b931
40b920:	33 f8                	xor    %eax,%edi
40b922:	d3 cf                	ror    %cl,%edi
40b924:	53                   	push   %ebx
40b925:	53                   	push   %ebx
40b926:	53                   	push   %ebx
40b927:	8b cf                	mov    %edi,%ecx
40b929:	ff 15 50 c2 41 00    	call   *0x41c250
40b92f:	ff d7                	call   *%edi
40b931:	68 74 6e 42 00       	push   $0x426e74
40b936:	eb 0a                	jmp    0x40b942
40b938:	83 f8 01             	cmp    $0x1,%eax
40b93b:	75 0b                	jne    0x40b948
40b93d:	68 80 6e 42 00       	push   $0x426e80
40b942:	e8 ad 06 00 00       	call   0x40bff4
40b947:	59                   	pop    %ecx
40b948:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40b94f:	8b 06                	mov    (%esi),%eax
40b951:	39 18                	cmp    %ebx,(%eax)
40b953:	75 11                	jne    0x40b966
40b955:	68 a4 c2 41 00       	push   $0x41c2a4
40b95a:	68 94 c2 41 00       	push   $0x41c294
40b95f:	e8 b6 fe ff ff       	call   0x40b81a
40b964:	59                   	pop    %ecx
40b965:	59                   	pop    %ecx
40b966:	68 ac c2 41 00       	push   $0x41c2ac
40b96b:	68 a8 c2 41 00       	push   $0x41c2a8
40b970:	e8 a5 fe ff ff       	call   0x40b81a
40b975:	59                   	pop    %ecx
40b976:	59                   	pop    %ecx
40b977:	8b 46 04             	mov    0x4(%esi),%eax
40b97a:	39 18                	cmp    %ebx,(%eax)
40b97c:	75 0d                	jne    0x40b98b
40b97e:	c6 05 64 6e 42 00 01 	movb   $0x1,0x426e64
40b985:	8b 46 08             	mov    0x8(%esi),%eax
40b988:	c6 00 01             	movb   $0x1,(%eax)
40b98b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b98e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b995:	59                   	pop    %ecx
40b996:	5f                   	pop    %edi
40b997:	5e                   	pop    %esi
40b998:	5b                   	pop    %ebx
40b999:	c9                   	leave
40b99a:	c3                   	ret
40b99b:	8b 45 ec             	mov    -0x14(%ebp),%eax
40b99e:	8b 00                	mov    (%eax),%eax
40b9a0:	ff 30                	push   (%eax)
40b9a2:	e8 0d 00 00 00       	call   0x40b9b4
40b9a7:	83 c4 04             	add    $0x4,%esp
40b9aa:	c3                   	ret
40b9ab:	8b 65 e8             	mov    -0x18(%ebp),%esp
40b9ae:	e8 8c 08 00 00       	call   0x40c23f
40b9b3:	cc                   	int3
40b9b4:	8b ff                	mov    %edi,%edi
40b9b6:	55                   	push   %ebp
40b9b7:	8b ec                	mov    %esp,%ebp
40b9b9:	33 c0                	xor    %eax,%eax
40b9bb:	81 7d 08 63 73 6d e0 	cmpl   $0xe06d7363,0x8(%ebp)
40b9c2:	0f 94 c0             	sete   %al
40b9c5:	5d                   	pop    %ebp
40b9c6:	c3                   	ret
40b9c7:	8b ff                	mov    %edi,%edi
40b9c9:	55                   	push   %ebp
40b9ca:	8b ec                	mov    %esp,%ebp
40b9cc:	83 ec 18             	sub    $0x18,%esp
40b9cf:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40b9d3:	75 12                	jne    0x40b9e7
40b9d5:	e8 93 00 00 00       	call   0x40ba6d
40b9da:	84 c0                	test   %al,%al
40b9dc:	74 09                	je     0x40b9e7
40b9de:	ff 75 08             	push   0x8(%ebp)
40b9e1:	e8 ca 00 00 00       	call   0x40bab0
40b9e6:	59                   	pop    %ecx
40b9e7:	8d 45 0c             	lea    0xc(%ebp),%eax
40b9ea:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40b9ee:	89 45 e8             	mov    %eax,-0x18(%ebp)
40b9f1:	8d 4d fe             	lea    -0x2(%ebp),%ecx
40b9f4:	8d 45 10             	lea    0x10(%ebp),%eax
40b9f7:	89 45 ec             	mov    %eax,-0x14(%ebp)
40b9fa:	8d 45 ff             	lea    -0x1(%ebp),%eax
40b9fd:	6a 02                	push   $0x2
40b9ff:	89 45 f0             	mov    %eax,-0x10(%ebp)
40ba02:	58                   	pop    %eax
40ba03:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ba06:	89 45 f4             	mov    %eax,-0xc(%ebp)
40ba09:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ba0c:	50                   	push   %eax
40ba0d:	8d 45 e8             	lea    -0x18(%ebp),%eax
40ba10:	50                   	push   %eax
40ba11:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ba14:	50                   	push   %eax
40ba15:	e8 73 fe ff ff       	call   0x40b88d
40ba1a:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40ba1e:	74 02                	je     0x40ba22
40ba20:	c9                   	leave
40ba21:	c3                   	ret
40ba22:	ff 75 08             	push   0x8(%ebp)
40ba25:	e8 01 00 00 00       	call   0x40ba2b
40ba2a:	cc                   	int3
40ba2b:	8b ff                	mov    %edi,%edi
40ba2d:	55                   	push   %ebp
40ba2e:	8b ec                	mov    %esp,%ebp
40ba30:	e8 33 48 00 00       	call   0x410268
40ba35:	83 f8 01             	cmp    $0x1,%eax
40ba38:	74 20                	je     0x40ba5a
40ba3a:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
40ba40:	8b 40 68             	mov    0x68(%eax),%eax
40ba43:	c1 e8 08             	shr    $0x8,%eax
40ba46:	a8 01                	test   $0x1,%al
40ba48:	75 10                	jne    0x40ba5a
40ba4a:	ff 75 08             	push   0x8(%ebp)
40ba4d:	ff 15 54 c1 41 00    	call   *0x41c154
40ba53:	50                   	push   %eax
40ba54:	ff 15 50 c1 41 00    	call   *0x41c150
40ba5a:	ff 75 08             	push   0x8(%ebp)
40ba5d:	e8 4e 00 00 00       	call   0x40bab0
40ba62:	59                   	pop    %ecx
40ba63:	ff 75 08             	push   0x8(%ebp)
40ba66:	ff 15 88 c0 41 00    	call   *0x41c088
40ba6c:	cc                   	int3
40ba6d:	6a 00                	push   $0x0
40ba6f:	ff 15 58 c1 41 00    	call   *0x41c158
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