415918:	83 c8 ff             	or     $0xffffffff,%eax
41591b:	5f                   	pop    %edi
41591c:	5b                   	pop    %ebx
41591d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415920:	33 cd                	xor    %ebp,%ecx
415922:	5e                   	pop    %esi
415923:	e8 38 17 ff ff       	call   0x407060
415928:	8b e5                	mov    %ebp,%esp
41592a:	5d                   	pop    %ebp
41592b:	c3                   	ret
41592c:	8b ff                	mov    %edi,%edi
41592e:	55                   	push   %ebp
41592f:	8b ec                	mov    %esp,%ebp
415931:	a1 28 ba 43 00       	mov    0x43ba28,%eax
415936:	83 e0 1f             	and    $0x1f,%eax
415939:	6a 20                	push   $0x20
41593b:	59                   	pop    %ecx
41593c:	2b c8                	sub    %eax,%ecx
41593e:	8b 45 08             	mov    0x8(%ebp),%eax
415941:	d3 c8                	ror    %cl,%eax
415943:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
415949:	5d                   	pop    %ebp
41594a:	c3                   	ret
41594b:	8b ff                	mov    %edi,%edi
41594d:	55                   	push   %ebp
41594e:	8b ec                	mov    %esp,%ebp
415950:	33 c0                	xor    %eax,%eax
415952:	81 7d 08 63 73 6d e0 	cmpl   $0xe06d7363,0x8(%ebp)
415959:	0f 94 c0             	sete   %al
41595c:	5d                   	pop    %ebp
41595d:	c3                   	ret
41595e:	6a 0c                	push   $0xc
415960:	68 40 80 43 00       	push   $0x438040
415965:	e8 a6 0a 01 00       	call   0x426410
41596a:	8b 75 10             	mov    0x10(%ebp),%esi
41596d:	85 f6                	test   %esi,%esi
41596f:	75 12                	jne    0x415983
415971:	e8 42 01 00 00       	call   0x415ab8
415976:	84 c0                	test   %al,%al
415978:	74 09                	je     0x415983
41597a:	ff 75 08             	push   0x8(%ebp)
41597d:	e8 7a 01 00 00       	call   0x415afc
415982:	59                   	pop    %ecx
415983:	6a 02                	push   $0x2
415985:	e8 34 ea ff ff       	call   0x4143be
41598a:	59                   	pop    %ecx
41598b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41598f:	80 3d 98 9b 83 02 00 	cmpb   $0x0,0x2839b98
415996:	0f 85 99 00 00 00    	jne    0x415a35
41599c:	33 c0                	xor    %eax,%eax
41599e:	40                   	inc    %eax
41599f:	b9 90 9b 83 02       	mov    $0x2839b90,%ecx
4159a4:	87 01                	xchg   %eax,(%ecx)
4159a6:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4159ad:	8b 7d 0c             	mov    0xc(%ebp),%edi
4159b0:	85 ff                	test   %edi,%edi
4159b2:	75 3c                	jne    0x4159f0
4159b4:	8b 1d 28 ba 43 00    	mov    0x43ba28,%ebx
4159ba:	8b d3                	mov    %ebx,%edx
4159bc:	83 e2 1f             	and    $0x1f,%edx
4159bf:	6a 20                	push   $0x20
4159c1:	59                   	pop    %ecx
4159c2:	2b ca                	sub    %edx,%ecx
4159c4:	33 c0                	xor    %eax,%eax
4159c6:	d3 c8                	ror    %cl,%eax
4159c8:	33 c3                	xor    %ebx,%eax
4159ca:	8b 0d 94 9b 83 02    	mov    0x2839b94,%ecx
4159d0:	3b c8                	cmp    %eax,%ecx
4159d2:	74 15                	je     0x4159e9
4159d4:	33 d9                	xor    %ecx,%ebx
4159d6:	33 c0                	xor    %eax,%eax
4159d8:	50                   	push   %eax
4159d9:	50                   	push   %eax
4159da:	50                   	push   %eax
4159db:	8b ca                	mov    %edx,%ecx
4159dd:	d3 cb                	ror    %cl,%ebx
4159df:	8b cb                	mov    %ebx,%ecx
4159e1:	ff 15 50 72 42 00    	call   *0x427250
4159e7:	ff d3                	call   *%ebx
4159e9:	68 b8 9c 83 02       	push   $0x2839cb8
4159ee:	eb 0a                	jmp    0x4159fa
4159f0:	83 ff 01             	cmp    $0x1,%edi
4159f3:	75 0b                	jne    0x415a00
4159f5:	68 c4 9c 83 02       	push   $0x2839cc4
4159fa:	e8 24 0b 00 00       	call   0x416523
4159ff:	59                   	pop    %ecx
415a00:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415a04:	85 ff                	test   %edi,%edi
415a06:	75 11                	jne    0x415a19
415a08:	68 b4 72 42 00       	push   $0x4272b4
415a0d:	68 a4 72 42 00       	push   $0x4272a4
415a12:	e8 22 0e 00 00       	call   0x416839
415a17:	59                   	pop    %ecx
415a18:	59                   	pop    %ecx
415a19:	68 bc 72 42 00       	push   $0x4272bc
415a1e:	68 b8 72 42 00       	push   $0x4272b8
415a23:	e8 11 0e 00 00       	call   0x416839
415a28:	59                   	pop    %ecx
415a29:	59                   	pop    %ecx
415a2a:	85 f6                	test   %esi,%esi
415a2c:	75 07                	jne    0x415a35
415a2e:	c6 05 98 9b 83 02 01 	movb   $0x1,0x2839b98
415a35:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
415a3c:	e8 27 00 00 00       	call   0x415a68
415a41:	85 f6                	test   %esi,%esi
415a43:	75 2c                	jne    0x415a71
415a45:	ff 75 08             	push   0x8(%ebp)
415a48:	e8 2a 00 00 00       	call   0x415a77
415a4d:	8b 45 ec             	mov    -0x14(%ebp),%eax
415a50:	8b 00                	mov    (%eax),%eax
415a52:	ff 30                	push   (%eax)
415a54:	e8 f2 fe ff ff       	call   0x41594b
415a59:	83 c4 04             	add    $0x4,%esp
415a5c:	c3                   	ret
415a5d:	8b 65 e8             	mov    -0x18(%ebp),%esp
415a60:	e8 65 20 00 00       	call   0x417aca
415a65:	8b 75 10             	mov    0x10(%ebp),%esi
415a68:	6a 02                	push   $0x2
415a6a:	e8 97 e9 ff ff       	call   0x414406
415a6f:	59                   	pop    %ecx
415a70:	c3                   	ret
415a71:	e8 e3 09 01 00       	call   0x426459
415a76:	c3                   	ret
415a77:	8b ff                	mov    %edi,%edi
415a79:	55                   	push   %ebp
415a7a:	8b ec                	mov    %esp,%ebp
415a7c:	e8 4a 39 00 00       	call   0x4193cb
415a81:	84 c0                	test   %al,%al
415a83:	74 20                	je     0x415aa5
415a85:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
415a8b:	8b 40 68             	mov    0x68(%eax),%eax
415a8e:	c1 e8 08             	shr    $0x8,%eax
415a91:	a8 01                	test   $0x1,%al
415a93:	75 10                	jne    0x415aa5
415a95:	ff 75 08             	push   0x8(%ebp)
415a98:	ff 15 b4 71 42 00    	call   *0x4271b4
415a9e:	50                   	push   %eax
415a9f:	ff 15 b8 71 42 00    	call   *0x4271b8
415aa5:	ff 75 08             	push   0x8(%ebp)
415aa8:	e8 4f 00 00 00       	call   0x415afc
415aad:	59                   	pop    %ecx
415aae:	ff 75 08             	push   0x8(%ebp)
415ab1:	ff 15 d8 71 42 00    	call   *0x4271d8
415ab7:	cc                   	int3
415ab8:	6a 00                	push   $0x0
415aba:	ff 15 6c 71 42 00    	call   *0x42716c
415ac0:	8b c8                	mov    %eax,%ecx
415ac2:	85 c9                	test   %ecx,%ecx
415ac4:	75 03                	jne    0x415ac9
415ac6:	32 c0                	xor    %al,%al
415ac8:	c3                   	ret
415ac9:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
415ace:	66 39 01             	cmp    %ax,(%ecx)
415ad1:	75 f3                	jne    0x415ac6
415ad3:	8b 41 3c             	mov    0x3c(%ecx),%eax
415ad6:	03 c1                	add    %ecx,%eax
415ad8:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
415ade:	75 e6                	jne    0x415ac6
415ae0:	b9 0b 01 00 00       	mov    $0x10b,%ecx
415ae5:	66 39 48 18          	cmp    %cx,0x18(%eax)
415ae9:	75 db                	jne    0x415ac6
415aeb:	83 78 74 0e          	cmpl   $0xe,0x74(%eax)
415aef:	76 d5                	jbe    0x415ac6
415af1:	83 b8 e8 00 00 00 00 	cmpl   $0x0,0xe8(%eax)
415af8:	0f 95 c0             	setne  %al
415afb:	c3                   	ret
415afc:	8b ff                	mov    %edi,%edi
415afe:	55                   	push   %ebp
415aff:	8b ec                	mov    %esp,%ebp
415b01:	51                   	push   %ecx
415b02:	51                   	push   %ecx
415b03:	a1 28 ba 43 00       	mov    0x43ba28,%eax
415b08:	33 c5                	xor    %ebp,%eax
415b0a:	89 45 fc             	mov    %eax,-0x4(%ebp)
415b0d:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
415b11:	8d 45 f8             	lea    -0x8(%ebp),%eax
415b14:	50                   	push   %eax
415b15:	68 9c c5 42 00       	push   $0x42c59c
415b1a:	6a 00                	push   $0x0
415b1c:	ff 15 dc 71 42 00    	call   *0x4271dc
415b22:	85 c0                	test   %eax,%eax
415b24:	74 23                	je     0x415b49
415b26:	56                   	push   %esi
415b27:	68 b4 c5 42 00       	push   $0x42c5b4
415b2c:	ff 75 f8             	push   -0x8(%ebp)
415b2f:	ff 15 70 71 42 00    	call   *0x427170
415b35:	8b f0                	mov    %eax,%esi
415b37:	85 f6                	test   %esi,%esi
415b39:	74 0d                	je     0x415b48
415b3b:	ff 75 08             	push   0x8(%ebp)
415b3e:	8b ce                	mov    %esi,%ecx
415b40:	ff 15 50 72 42 00    	call   *0x427250
415b46:	ff d6                	call   *%esi
415b48:	5e                   	pop    %esi
415b49:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
415b4d:	74 09                	je     0x415b58
415b4f:	ff 75 f8             	push   -0x8(%ebp)
415b52:	ff 15 c8 71 42 00    	call   *0x4271c8
415b58:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415b5b:	33 cd                	xor    %ebp,%ecx
415b5d:	e8 fe 14 ff ff       	call   0x407060
415b62:	8b e5                	mov    %ebp,%esp
415b64:	5d                   	pop    %ebp
415b65:	c3                   	ret
415b66:	8b ff                	mov    %edi,%edi
415b68:	55                   	push   %ebp
415b69:	8b ec                	mov    %esp,%ebp
415b6b:	8b 45 08             	mov    0x8(%ebp),%eax
415b6e:	a3 94 9b 83 02       	mov    %eax,0x2839b94
415b73:	5d                   	pop    %ebp
415b74:	c3                   	ret
415b75:	6a 01                	push   $0x1
415b77:	6a 02                	push   $0x2
415b79:	6a 00                	push   $0x0
415b7b:	e8 de fd ff ff       	call   0x41595e
415b80:	83 c4 0c             	add    $0xc,%esp
415b83:	c3                   	ret
415b84:	6a 01                	push   $0x1
415b86:	6a 00                	push   $0x0
415b88:	6a 00                	push   $0x0
415b8a:	e8 cf fd ff ff       	call   0x41595e
415b8f:	83 c4 0c             	add    $0xc,%esp
415b92:	c3                   	ret
415b93:	8b ff                	mov    %edi,%edi
415b95:	55                   	push   %ebp
415b96:	8b ec                	mov    %esp,%ebp
415b98:	6a 00                	push   $0x0
415b9a:	6a 02                	push   $0x2
415b9c:	ff 75 08             	push   0x8(%ebp)
415b9f:	e8 ba fd ff ff       	call   0x41595e
415ba4:	83 c4 0c             	add    $0xc,%esp
415ba7:	5d                   	pop    %ebp
415ba8:	c3                   	ret
415ba9:	8b ff                	mov    %edi,%edi
415bab:	55                   	push   %ebp
415bac:	8b ec                	mov    %esp,%ebp
415bae:	a1 28 ba 43 00       	mov    0x43ba28,%eax
415bb3:	83 e0 1f             	and    $0x1f,%eax
415bb6:	6a 20                	push   $0x20
415bb8:	59                   	pop    %ecx
415bb9:	2b c8                	sub    %eax,%ecx
415bbb:	33 c0                	xor    %eax,%eax
415bbd:	d3 c8                	ror    %cl,%eax
415bbf:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
415bc5:	39 05 94 9b 83 02    	cmp    %eax,0x2839b94
415bcb:	0f 85 f9 1e 00 00    	jne    0x417aca
415bd1:	ff 75 08             	push   0x8(%ebp)
415bd4:	e8 53 fd ff ff       	call   0x41592c
415bd9:	59                   	pop    %ecx
415bda:	a3 94 9b 83 02       	mov    %eax,0x2839b94
415bdf:	5d                   	pop    %ebp
415be0:	c3                   	ret
415be1:	8b ff                	mov    %edi,%edi
415be3:	55                   	push   %ebp
415be4:	8b ec                	mov    %esp,%ebp
415be6:	6a 00                	push   $0x0
415be8:	6a 00                	push   $0x0
415bea:	ff 75 08             	push   0x8(%ebp)
415bed:	e8 6c fd ff ff       	call   0x41595e
415bf2:	83 c4 0c             	add    $0xc,%esp
415bf5:	5d                   	pop    %ebp
415bf6:	c3                   	ret
415bf7:	8b ff                	mov    %edi,%edi
415bf9:	55                   	push   %ebp
415bfa:	8b ec                	mov    %esp,%ebp
415bfc:	83 ec 0c             	sub    $0xc,%esp
415bff:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
415c03:	56                   	push   %esi
415c04:	74 1c                	je     0x415c22
415c06:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
415c0a:	74 16                	je     0x415c22
415c0c:	e8 5a ee ff ff       	call   0x414a6b
415c11:	6a 16                	push   $0x16
415c13:	5e                   	pop    %esi
415c14:	89 30                	mov    %esi,(%eax)
415c16:	e8 c7 60 ff ff       	call   0x40bce2
415c1b:	8b c6                	mov    %esi,%eax
415c1d:	e9 f4 00 00 00       	jmp    0x415d16
415c22:	53                   	push   %ebx
415c23:	57                   	push   %edi
415c24:	e8 62 96 00 00       	call   0x41f28b
415c29:	68 04 01 00 00       	push   $0x104
415c2e:	be a0 9b 83 02       	mov    $0x2839ba0,%esi
415c33:	33 ff                	xor    %edi,%edi
415c35:	56                   	push   %esi
415c36:	57                   	push   %edi
415c37:	ff 15 e0 71 42 00    	call   *0x4271e0
415c3d:	8b 1d e0 a0 83 02    	mov    0x283a0e0,%ebx
415c43:	89 35 e8 a0 83 02    	mov    %esi,0x283a0e8
415c49:	85 db                	test   %ebx,%ebx
415c4b:	74 05                	je     0x415c52
415c4d:	80 3b 00             	cmpb   $0x0,(%ebx)
415c50:	75 02                	jne    0x415c54
415c52:	8b de                	mov    %esi,%ebx
415c54:	8d 45 f4             	lea    -0xc(%ebp),%eax
415c57:	89 7d fc             	mov    %edi,-0x4(%ebp)
415c5a:	50                   	push   %eax
415c5b:	8d 45 fc             	lea    -0x4(%ebp),%eax
415c5e:	89 7d f4             	mov    %edi,-0xc(%ebp)
415c61:	50                   	push   %eax
415c62:	57                   	push   %edi
415c63:	57                   	push   %edi
415c64:	53                   	push   %ebx
415c65:	e8 b1 00 00 00       	call   0x415d1b
415c6a:	6a 01                	push   $0x1
415c6c:	ff 75 f4             	push   -0xc(%ebp)
415c6f:	ff 75 fc             	push   -0x4(%ebp)
415c72:	e8 19 02 00 00       	call   0x415e90
415c77:	8b f0                	mov    %eax,%esi
415c79:	83 c4 20             	add    $0x20,%esp
415c7c:	85 f6                	test   %esi,%esi
415c7e:	75 0c                	jne    0x415c8c
415c80:	e8 e6 ed ff ff       	call   0x414a6b
415c85:	6a 0c                	push   $0xc
415c87:	5f                   	pop    %edi
415c88:	89 38                	mov    %edi,(%eax)
415c8a:	eb 31                	jmp    0x415cbd
415c8c:	8d 45 f4             	lea    -0xc(%ebp),%eax
415c8f:	50                   	push   %eax
415c90:	8d 45 fc             	lea    -0x4(%ebp),%eax
415c93:	50                   	push   %eax
415c94:	8b 45 fc             	mov    -0x4(%ebp),%eax
415c97:	8d 04 86             	lea    (%esi,%eax,4),%eax
415c9a:	50                   	push   %eax
415c9b:	56                   	push   %esi
415c9c:	53                   	push   %ebx
415c9d:	e8 79 00 00 00       	call   0x415d1b
415ca2:	83 c4 14             	add    $0x14,%esp
415ca5:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
415ca9:	75 16                	jne    0x415cc1
415cab:	8b 45 fc             	mov    -0x4(%ebp),%eax
415cae:	48                   	dec    %eax
415caf:	a3 d4 a0 83 02       	mov    %eax,0x283a0d4
415cb4:	8b c6                	mov    %esi,%eax
415cb6:	8b f7                	mov    %edi,%esi
415cb8:	a3 d8 a0 83 02       	mov    %eax,0x283a0d8
415cbd:	8b df                	mov    %edi,%ebx
415cbf:	eb 4a                	jmp    0x415d0b
415cc1:	8d 45 f8             	lea    -0x8(%ebp),%eax
415cc4:	89 7d f8             	mov    %edi,-0x8(%ebp)
415cc7:	50                   	push   %eax
415cc8:	56                   	push   %esi
415cc9:	e8 d8 90 00 00       	call   0x41eda6
415cce:	8b d8                	mov    %eax,%ebx
415cd0:	59                   	pop    %ecx
415cd1:	59                   	pop    %ecx
415cd2:	85 db                	test   %ebx,%ebx
415cd4:	74 05                	je     0x415cdb
415cd6:	8b 45 f8             	mov    -0x8(%ebp),%eax
415cd9:	eb 26                	jmp    0x415d01