437ae5:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437aeb:	8d 45 14             	lea    0x14(%ebp),%eax
437aee:	50                   	push   %eax
437aef:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437af2:	e8 49 33 00 00       	call   0x43ae40
437af7:	84 c0                	test   %al,%al
437af9:	74 03                	je     0x437afe
437afb:	83 0b 01             	orl    $0x1,(%ebx)
437afe:	8b 45 bc             	mov    -0x44(%ebp),%eax
437b01:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437b04:	89 08                	mov    %ecx,(%eax)
437b06:	8b 4d 10             	mov    0x10(%ebp),%ecx
437b09:	89 48 04             	mov    %ecx,0x4(%eax)
437b0c:	e8 17 7f 00 00       	call   0x43fa28
437b11:	c2 20 00             	ret    $0x20
437b14:	6a 38                	push   $0x38
437b16:	b8 ce 24 49 00       	mov    $0x4924ce,%eax
437b1b:	e8 5e 7f 00 00       	call   0x43fa7e
437b20:	8b f9                	mov    %ecx,%edi
437b22:	8b 75 1c             	mov    0x1c(%ebp),%esi
437b25:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
437b28:	8b 45 08             	mov    0x8(%ebp),%eax
437b2b:	8b 5d 20             	mov    0x20(%ebp),%ebx
437b2e:	89 45 bc             	mov    %eax,-0x44(%ebp)
437b31:	8b 45 24             	mov    0x24(%ebp),%eax
437b34:	ff 76 30             	push   0x30(%esi)
437b37:	89 45 cc             	mov    %eax,-0x34(%ebp)
437b3a:	e8 fd 12 ff ff       	call   0x428e3c
437b3f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437b43:	8d 45 c4             	lea    -0x3c(%ebp),%eax
437b46:	50                   	push   %eax
437b47:	ff 76 14             	push   0x14(%esi)
437b4a:	8d 45 14             	lea    0x14(%ebp),%eax
437b4d:	50                   	push   %eax
437b4e:	8d 45 0c             	lea    0xc(%ebp),%eax
437b51:	50                   	push   %eax
437b52:	8d 45 d0             	lea    -0x30(%ebp),%eax
437b55:	50                   	push   %eax
437b56:	57                   	push   %edi
437b57:	e8 b8 b1 ff ff       	call   0x432d14
437b5c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
437b60:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
437b63:	83 c4 18             	add    $0x18,%esp
437b66:	8b f0                	mov    %eax,%esi
437b68:	e8 7a 78 fd ff       	call   0x40f3e7
437b6d:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
437b71:	75 12                	jne    0x437b85
437b73:	8b 45 cc             	mov    -0x34(%ebp),%eax
437b76:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437b7c:	83 20 00             	andl   $0x0,(%eax)
437b7f:	83 60 04 00          	andl   $0x0,0x4(%eax)
437b83:	eb 31                	jmp    0x437bb6
437b85:	8d 45 c8             	lea    -0x38(%ebp),%eax
437b88:	50                   	push   %eax
437b89:	56                   	push   %esi
437b8a:	8d 45 c0             	lea    -0x40(%ebp),%eax
437b8d:	50                   	push   %eax
437b8e:	8d 45 d0             	lea    -0x30(%ebp),%eax
437b91:	50                   	push   %eax
437b92:	e8 77 ff fe ff       	call   0x427b0e
437b97:	8b 4d cc             	mov    -0x34(%ebp),%ecx
437b9a:	83 c4 10             	add    $0x10,%esp
437b9d:	89 01                	mov    %eax,(%ecx)
437b9f:	8d 45 d0             	lea    -0x30(%ebp),%eax
437ba2:	89 51 04             	mov    %edx,0x4(%ecx)
437ba5:	39 45 c0             	cmp    %eax,-0x40(%ebp)
437ba8:	74 06                	je     0x437bb0
437baa:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
437bae:	74 06                	je     0x437bb6
437bb0:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437bb6:	8d 45 14             	lea    0x14(%ebp),%eax
437bb9:	50                   	push   %eax
437bba:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437bbd:	e8 7e 32 00 00       	call   0x43ae40
437bc2:	84 c0                	test   %al,%al
437bc4:	74 03                	je     0x437bc9
437bc6:	83 0b 01             	orl    $0x1,(%ebx)
437bc9:	8b 45 bc             	mov    -0x44(%ebp),%eax
437bcc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437bcf:	89 08                	mov    %ecx,(%eax)
437bd1:	8b 4d 10             	mov    0x10(%ebp),%ecx
437bd4:	89 48 04             	mov    %ecx,0x4(%eax)
437bd7:	e8 4c 7e 00 00       	call   0x43fa28
437bdc:	c2 20 00             	ret    $0x20
437bdf:	6a 68                	push   $0x68
437be1:	b8 1b 25 49 00       	mov    $0x49251b,%eax
437be6:	e8 93 7e 00 00       	call   0x43fa7e
437beb:	89 4d 98             	mov    %ecx,-0x68(%ebp)
437bee:	8b 45 1c             	mov    0x1c(%ebp),%eax
437bf1:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
437bf4:	8b 75 08             	mov    0x8(%ebp),%esi
437bf7:	8b 7d 20             	mov    0x20(%ebp),%edi
437bfa:	8b 5d 24             	mov    0x24(%ebp),%ebx
437bfd:	f7 40 14 00 40 00 00 	testl  $0x4000,0x14(%eax)
437c04:	ff 70 30             	push   0x30(%eax)
437c07:	89 75 94             	mov    %esi,-0x6c(%ebp)
437c0a:	89 45 9c             	mov    %eax,-0x64(%ebp)
437c0d:	0f 84 1d 01 00 00    	je     0x437d30
437c13:	e8 24 12 ff ff       	call   0x428e3c
437c18:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437c1c:	8d 45 8c             	lea    -0x74(%ebp),%eax
437c1f:	50                   	push   %eax
437c20:	e8 ec 77 ff ff       	call   0x42f411
437c25:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
437c29:	8b f0                	mov    %eax,%esi
437c2b:	59                   	pop    %ecx
437c2c:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
437c2f:	89 75 9c             	mov    %esi,-0x64(%ebp)
437c32:	e8 b0 77 fd ff       	call   0x40f3e7
437c37:	83 65 b0 00          	andl   $0x0,-0x50(%ebp)
437c3b:	8d 4d a0             	lea    -0x60(%ebp),%ecx
437c3e:	33 c0                	xor    %eax,%eax
437c40:	c7 45 b4 07 00 00 00 	movl   $0x7,-0x4c(%ebp)
437c47:	50                   	push   %eax
437c48:	6a 01                	push   $0x1
437c4a:	66 89 45 a0          	mov    %ax,-0x60(%ebp)
437c4e:	e8 2e f2 ff ff       	call   0x436e81
437c53:	8b 06                	mov    (%esi),%eax
437c55:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
437c5c:	8b 70 18             	mov    0x18(%eax),%esi
437c5f:	8d 45 b8             	lea    -0x48(%ebp),%eax
437c62:	50                   	push   %eax
437c63:	8b ce                	mov    %esi,%ecx
437c65:	ff 15 54 43 49 00    	call   *0x494354
437c6b:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
437c6e:	ff d6                	call   *%esi
437c70:	83 7d cc 08          	cmpl   $0x8,-0x34(%ebp)
437c74:	8d 45 b8             	lea    -0x48(%ebp),%eax
437c77:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
437c7b:	72 03                	jb     0x437c80
437c7d:	8b 45 b8             	mov    -0x48(%ebp),%eax
437c80:	ff 75 c8             	push   -0x38(%ebp)
437c83:	8d 4d a0             	lea    -0x60(%ebp),%ecx
437c86:	50                   	push   %eax
437c87:	e8 5a f1 ff ff       	call   0x436de6
437c8c:	8d 4d b8             	lea    -0x48(%ebp),%ecx
437c8f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
437c93:	e8 f3 ef ff ff       	call   0x436c8b
437c98:	6a 00                	push   $0x0
437c9a:	8d 4d a0             	lea    -0x60(%ebp),%ecx
437c9d:	e8 63 37 00 00       	call   0x43b405
437ca2:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
437ca5:	8b 01                	mov    (%ecx),%eax
437ca7:	8b 70 1c             	mov    0x1c(%eax),%esi
437caa:	8d 45 b8             	lea    -0x48(%ebp),%eax
437cad:	50                   	push   %eax
437cae:	8b ce                	mov    %esi,%ecx
437cb0:	ff 15 54 43 49 00    	call   *0x494354
437cb6:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
437cb9:	ff d6                	call   *%esi
437cbb:	83 7d cc 08          	cmpl   $0x8,-0x34(%ebp)
437cbf:	8d 45 b8             	lea    -0x48(%ebp),%eax
437cc2:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
437cc6:	72 03                	jb     0x437ccb
437cc8:	8b 45 b8             	mov    -0x48(%ebp),%eax
437ccb:	ff 75 c8             	push   -0x38(%ebp)
437cce:	8d 4d a0             	lea    -0x60(%ebp),%ecx
437cd1:	50                   	push   %eax
437cd2:	e8 0f f1 ff ff       	call   0x436de6
437cd7:	8d 4d b8             	lea    -0x48(%ebp),%ecx
437cda:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
437cde:	e8 a8 ef ff ff       	call   0x436c8b
437ce3:	83 7d b4 08          	cmpl   $0x8,-0x4c(%ebp)
437ce7:	8d 45 a0             	lea    -0x60(%ebp),%eax
437cea:	72 03                	jb     0x437cef
437cec:	8b 45 a0             	mov    -0x60(%ebp),%eax
437cef:	50                   	push   %eax
437cf0:	6a 02                	push   $0x2
437cf2:	5e                   	pop    %esi
437cf3:	56                   	push   %esi
437cf4:	8d 45 14             	lea    0x14(%ebp),%eax
437cf7:	50                   	push   %eax
437cf8:	8d 45 0c             	lea    0xc(%ebp),%eax
437cfb:	50                   	push   %eax
437cfc:	e8 66 5c ff ff       	call   0x42d967
437d01:	33 c9                	xor    %ecx,%ecx
437d03:	83 c4 10             	add    $0x10,%esp
437d06:	2b c1                	sub    %ecx,%eax
437d08:	74 10                	je     0x437d1a
437d0a:	83 e8 01             	sub    $0x1,%eax
437d0d:	74 06                	je     0x437d15
437d0f:	88 0b                	mov    %cl,(%ebx)
437d11:	89 37                	mov    %esi,(%edi)
437d13:	eb 07                	jmp    0x437d1c
437d15:	c6 03 01             	movb   $0x1,(%ebx)
437d18:	eb 02                	jmp    0x437d1c
437d1a:	88 0b                	mov    %cl,(%ebx)
437d1c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
437d20:	8d 4d a0             	lea    -0x60(%ebp),%ecx
437d23:	e8 63 ef ff ff       	call   0x436c8b
437d28:	8b 75 94             	mov    -0x6c(%ebp),%esi
437d2b:	e9 89 00 00 00       	jmp    0x437db9
437d30:	e8 07 11 ff ff       	call   0x428e3c
437d35:	8d 45 8c             	lea    -0x74(%ebp),%eax
437d38:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
437d3f:	50                   	push   %eax
437d40:	8b 45 9c             	mov    -0x64(%ebp),%eax
437d43:	ff 70 14             	push   0x14(%eax)
437d46:	8d 45 14             	lea    0x14(%ebp),%eax
437d49:	50                   	push   %eax
437d4a:	8d 45 0c             	lea    0xc(%ebp),%eax
437d4d:	50                   	push   %eax
437d4e:	8d 45 d0             	lea    -0x30(%ebp),%eax
437d51:	50                   	push   %eax
437d52:	ff 75 98             	push   -0x68(%ebp)
437d55:	e8 ba af ff ff       	call   0x432d14
437d5a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
437d5e:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
437d61:	83 c4 18             	add    $0x18,%esp
437d64:	89 45 98             	mov    %eax,-0x68(%ebp)
437d67:	e8 7b 76 fd ff       	call   0x40f3e7
437d6c:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
437d70:	75 05                	jne    0x437d77
437d72:	c6 03 00             	movb   $0x0,(%ebx)
437d75:	eb 3c                	jmp    0x437db3
437d77:	8d 45 94             	lea    -0x6c(%ebp),%eax
437d7a:	50                   	push   %eax
437d7b:	ff 75 98             	push   -0x68(%ebp)
437d7e:	8d 45 98             	lea    -0x68(%ebp),%eax
437d81:	50                   	push   %eax
437d82:	8d 45 d0             	lea    -0x30(%ebp),%eax
437d85:	50                   	push   %eax
437d86:	e8 55 fa fe ff       	call   0x4277e0
437d8b:	8b c8                	mov    %eax,%ecx
437d8d:	83 c4 10             	add    $0x10,%esp
437d90:	8d 45 d0             	lea    -0x30(%ebp),%eax
437d93:	39 45 98             	cmp    %eax,-0x68(%ebp)
437d96:	74 18                	je     0x437db0
437d98:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
437d9c:	75 12                	jne    0x437db0
437d9e:	85 c9                	test   %ecx,%ecx
437da0:	0f 95 c0             	setne  %al
437da3:	88 03                	mov    %al,(%ebx)
437da5:	85 c9                	test   %ecx,%ecx
437da7:	74 10                	je     0x437db9
437da9:	83 f9 01             	cmp    $0x1,%ecx
437dac:	74 0b                	je     0x437db9
437dae:	eb 03                	jmp    0x437db3
437db0:	c6 03 01             	movb   $0x1,(%ebx)
437db3:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
437db9:	8d 45 14             	lea    0x14(%ebp),%eax
437dbc:	50                   	push   %eax
437dbd:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437dc0:	e8 7b 30 00 00       	call   0x43ae40
437dc5:	84 c0                	test   %al,%al
437dc7:	74 03                	je     0x437dcc
437dc9:	83 0f 01             	orl    $0x1,(%edi)
437dcc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437dcf:	8b c6                	mov    %esi,%eax
437dd1:	89 0e                	mov    %ecx,(%esi)
437dd3:	8b 4d 10             	mov    0x10(%ebp),%ecx
437dd6:	89 4e 04             	mov    %ecx,0x4(%esi)
437dd9:	e8 4a 7c 00 00       	call   0x43fa28
437dde:	c2 20 00             	ret    $0x20
437de1:	6a 10                	push   $0x10
437de3:	b8 48 25 49 00       	mov    $0x492548,%eax
437de8:	e8 5d 7c 00 00       	call   0x43fa4a
437ded:	8b f9                	mov    %ecx,%edi
437def:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
437df2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
437df5:	ff 73 30             	push   0x30(%ebx)
437df8:	e8 3f 10 ff ff       	call   0x428e3c
437dfd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437e01:	8d 45 e4             	lea    -0x1c(%ebp),%eax
437e04:	50                   	push   %eax
437e05:	e8 f3 6c ff ff       	call   0x42eafd
437e0a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
437e0e:	59                   	pop    %ecx
437e0f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
437e12:	89 45 f0             	mov    %eax,-0x10(%ebp)
437e15:	e8 cd 75 fd ff       	call   0x40f3e7
437e1a:	8b 75 20             	mov    0x20(%ebp),%esi
437e1d:	33 d2                	xor    %edx,%edx
437e1f:	0f be 4d 28          	movsbl 0x28(%ebp),%ecx
437e23:	83 c1 bf             	add    $0xffffffbf,%ecx
437e26:	89 55 e8             	mov    %edx,-0x18(%ebp)
437e29:	89 16                	mov    %edx,(%esi)
437e2b:	83 f9 38             	cmp    $0x38,%ecx
437e2e:	0f 87 8d 02 00 00    	ja     0x4380c1
437e34:	0f b6 81 4d 81 43 00 	movzbl 0x43814d(%ecx),%eax
437e3b:	ff 24 85 f1 80 43 00 	jmp    *0x4380f1(,%eax,4)
437e42:	ff 75 24             	push   0x24(%ebp)
437e45:	8d 45 e4             	lea    -0x1c(%ebp),%eax
437e48:	8b cf                	mov    %edi,%ecx
437e4a:	56                   	push   %esi
437e4b:	53                   	push   %ebx
437e4c:	ff 75 18             	push   0x18(%ebp)
437e4f:	ff 75 14             	push   0x14(%ebp)
437e52:	ff 75 10             	push   0x10(%ebp)
437e55:	ff 75 0c             	push   0xc(%ebp)
437e58:	50                   	push   %eax
437e59:	e8 29 31 00 00       	call   0x43af87
437e5e:	8b 08                	mov    (%eax),%ecx
437e60:	89 4d 0c             	mov    %ecx,0xc(%ebp)
437e63:	8b 40 04             	mov    0x4(%eax),%eax
437e66:	89 45 10             	mov    %eax,0x10(%ebp)
437e69:	e9 59 02 00 00       	jmp    0x4380c7
437e6e:	ff 75 24             	push   0x24(%ebp)
437e71:	8d 45 e4             	lea    -0x1c(%ebp),%eax
437e74:	8b cf                	mov    %edi,%ecx
437e76:	56                   	push   %esi
437e77:	53                   	push   %ebx
437e78:	ff 75 18             	push   0x18(%ebp)
437e7b:	ff 75 14             	push   0x14(%ebp)
437e7e:	ff 75 10             	push   0x10(%ebp)
437e81:	ff 75 0c             	push   0xc(%ebp)
437e84:	50                   	push   %eax
437e85:	e8 8d 30 00 00       	call   0x43af17
437e8a:	eb d2                	jmp    0x437e5e
437e8c:	68 d8 a9 49 00       	push   $0x49a9d8
437e91:	ff 75 24             	push   0x24(%ebp)
437e94:	8d 45 e4             	lea    -0x1c(%ebp),%eax
437e97:	8b cf                	mov    %edi,%ecx
437e99:	56                   	push   %esi
437e9a:	53                   	push   %ebx
437e9b:	ff 75 18             	push   0x18(%ebp)
437e9e:	ff 75 14             	push   0x14(%ebp)
437ea1:	ff 75 10             	push   0x10(%ebp)
437ea4:	ff 75 0c             	push   0xc(%ebp)
437ea7:	50                   	push   %eax
437ea8:	e8 bd ab ff ff       	call   0x432a6a
437ead:	eb af                	jmp    0x437e5e
437eaf:	ff 75 f0             	push   -0x10(%ebp)
437eb2:	8d 45 e8             	lea    -0x18(%ebp),%eax
437eb5:	50                   	push   %eax
437eb6:	6a 63                	push   $0x63
437eb8:	52                   	push   %edx
437eb9:	8d 45 14             	lea    0x14(%ebp),%eax
437ebc:	50                   	push   %eax
437ebd:	8d 45 0c             	lea    0xc(%ebp),%eax
437ec0:	50                   	push   %eax
437ec1:	57                   	push   %edi
437ec2:	e8 2b b2 ff ff       	call   0x4330f2
437ec7:	8b 0e                	mov    (%esi),%ecx
437ec9:	83 c4 1c             	add    $0x1c,%esp
437ecc:	0b c8                	or     %eax,%ecx
437ece:	89 0e                	mov    %ecx,(%esi)
437ed0:	f6 c1 02             	test   $0x2,%cl
437ed3:	0f 85 ee 01 00 00    	jne    0x4380c7
437ed9:	8b 45 e8             	mov    -0x18(%ebp),%eax
437edc:	83 c0 ed             	add    $0xffffffed,%eax
437edf:	6b c8 64             	imul   $0x64,%eax,%ecx
437ee2:	8b 45 24             	mov    0x24(%ebp),%eax
437ee5:	89 48 14             	mov    %ecx,0x14(%eax)
437ee8:	e9 da 01 00 00       	jmp    0x4380c7
437eed:	ff 75 f0             	push   -0x10(%ebp)
437ef0:	8b 45 24             	mov    0x24(%ebp),%eax
437ef3:	83 c0 0c             	add    $0xc,%eax
437ef6:	50                   	push   %eax
437ef7:	6a 1f                	push   $0x1f