532ba2:	03 ca                	add    %edx,%ecx
532ba4:	6a 00                	push   $0x0
532ba6:	8d 04 41             	lea    (%ecx,%eax,2),%eax
532ba9:	50                   	push   %eax
532baa:	89 45 c8             	mov    %eax,-0x38(%ebp)
532bad:	e8 ae e3 ff ff       	call   0x530f60
532bb2:	8b f0                	mov    %eax,%esi
532bb4:	83 c4 08             	add    $0x8,%esp
532bb7:	85 f6                	test   %esi,%esi
532bb9:	0f 84 9b 04 00 00    	je     0x53305a
532bbf:	ff 75 c8             	push   -0x38(%ebp)
532bc2:	6a 00                	push   $0x0
532bc4:	56                   	push   %esi
532bc5:	e8 36 0e 0b 00       	call   0x5e3a00
532bca:	8b 45 f0             	mov    -0x10(%ebp),%eax
532bcd:	8d 8e e0 00 00 00    	lea    0xe0(%esi),%ecx
532bd3:	89 8e d4 00 00 00    	mov    %ecx,0xd4(%esi)
532bd9:	83 c4 0c             	add    $0xc,%esp
532bdc:	83 c1 30             	add    $0x30,%ecx
532bdf:	89 4e 3c             	mov    %ecx,0x3c(%esi)
532be2:	8b 40 04             	mov    0x4(%eax),%eax
532be5:	83 c0 07             	add    $0x7,%eax
532be8:	83 e0 f8             	and    $0xfffffff8,%eax
532beb:	03 c8                	add    %eax,%ecx
532bed:	8b 45 f8             	mov    -0x8(%ebp),%eax
532bf0:	89 4e 44             	mov    %ecx,0x44(%esi)
532bf3:	03 c8                	add    %eax,%ecx
532bf5:	89 4e 40             	mov    %ecx,0x40(%esi)
532bf8:	8d 58 04             	lea    0x4(%eax),%ebx
532bfb:	03 d9                	add    %ecx,%ebx
532bfd:	89 9e a8 00 00 00    	mov    %ebx,0xa8(%esi)
532c03:	85 ff                	test   %edi,%edi
532c05:	0f 84 7d 01 00 00    	je     0x532d88
532c0b:	57                   	push   %edi
532c0c:	ff 75 f4             	push   -0xc(%ebp)
532c0f:	53                   	push   %ebx
532c10:	e8 eb 02 0b 00       	call   0x5e2f00
532c15:	8b 45 e8             	mov    -0x18(%ebp),%eax
532c18:	43                   	inc    %ebx
532c19:	83 c4 0c             	add    $0xc,%esp
532c1c:	03 df                	add    %edi,%ebx
532c1e:	85 c0                	test   %eax,%eax
532c20:	0f 84 38 01 00 00    	je     0x532d5e
532c26:	ff 75 e4             	push   -0x1c(%ebp)
532c29:	50                   	push   %eax
532c2a:	53                   	push   %ebx
532c2b:	e8 d0 02 0b 00       	call   0x5e2f00
532c30:	83 c4 0c             	add    $0xc,%esp
532c33:	03 5d e4             	add    -0x1c(%ebp),%ebx
532c36:	e9 24 01 00 00       	jmp    0x532d5f
532c3b:	85 f6                	test   %esi,%esi
532c3d:	0f 84 45 ff ff ff    	je     0x532b88
532c43:	38 1e                	cmp    %bl,(%esi)
532c45:	0f 84 3d ff ff ff    	je     0x532b88
532c4b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
532c4e:	8b 73 08             	mov    0x8(%ebx),%esi
532c51:	46                   	inc    %esi
532c52:	8d 04 36             	lea    (%esi,%esi,1),%eax
532c55:	99                   	cltd
532c56:	52                   	push   %edx
532c57:	50                   	push   %eax
532c58:	e8 03 e3 ff ff       	call   0x530f60
532c5d:	8b f8                	mov    %eax,%edi
532c5f:	83 c4 08             	add    $0x8,%esp
532c62:	89 7d f4             	mov    %edi,-0xc(%ebp)
532c65:	85 ff                	test   %edi,%edi
532c67:	0f 84 fa 03 00 00    	je     0x533067
532c6d:	57                   	push   %edi
532c6e:	56                   	push   %esi
532c6f:	8b 75 e0             	mov    -0x20(%ebp),%esi
532c72:	c6 07 00             	movb   $0x0,(%edi)
532c75:	8b 43 24             	mov    0x24(%ebx),%eax
532c78:	56                   	push   %esi
532c79:	53                   	push   %ebx
532c7a:	ff d0                	call   *%eax
532c7c:	8b d8                	mov    %eax,%ebx
532c7e:	83 c4 10             	add    $0x10,%esp
532c81:	89 5d ec             	mov    %ebx,-0x14(%ebp)
532c84:	85 db                	test   %ebx,%ebx
532c86:	74 1e                	je     0x532ca6
532c88:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
532c8e:	75 16                	jne    0x532ca6
532c90:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
532c93:	81 e3 00 00 00 01    	and    $0x1000000,%ebx
532c99:	f7 db                	neg    %ebx
532c9b:	1b db                	sbb    %ebx,%ebx
532c9d:	81 e3 0e 06 00 00    	and    $0x60e,%ebx
532ca3:	89 5d ec             	mov    %ebx,-0x14(%ebp)
532ca6:	8d 4f 01             	lea    0x1(%edi),%ecx
532ca9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
532cb0:	8a 07                	mov    (%edi),%al
532cb2:	47                   	inc    %edi
532cb3:	84 c0                	test   %al,%al
532cb5:	75 f9                	jne    0x532cb0
532cb7:	2b f9                	sub    %ecx,%edi
532cb9:	8b ce                	mov    %esi,%ecx
532cbb:	81 e7 ff ff ff 3f    	and    $0x3fffffff,%edi
532cc1:	8d 51 01             	lea    0x1(%ecx),%edx
532cc4:	8a 01                	mov    (%ecx),%al
532cc6:	41                   	inc    %ecx
532cc7:	84 c0                	test   %al,%al
532cc9:	75 f9                	jne    0x532cc4
532ccb:	2b ca                	sub    %edx,%ecx
532ccd:	8d 46 01             	lea    0x1(%esi),%eax
532cd0:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
532cd6:	03 c1                	add    %ecx,%eax
532cd8:	89 45 e8             	mov    %eax,-0x18(%ebp)
532cdb:	8b d0                	mov    %eax,%edx
532cdd:	80 38 00             	cmpb   $0x0,(%eax)
532ce0:	74 2b                	je     0x532d0d
532ce2:	8b ca                	mov    %edx,%ecx
532ce4:	8d 71 01             	lea    0x1(%ecx),%esi
532ce7:	8a 01                	mov    (%ecx),%al
532ce9:	41                   	inc    %ecx
532cea:	84 c0                	test   %al,%al
532cec:	75 f9                	jne    0x532ce7
532cee:	2b ce                	sub    %esi,%ecx
532cf0:	03 d1                	add    %ecx,%edx
532cf2:	8d 4a 01             	lea    0x1(%edx),%ecx
532cf5:	8d 71 01             	lea    0x1(%ecx),%esi
532cf8:	8a 01                	mov    (%ecx),%al
532cfa:	41                   	inc    %ecx
532cfb:	84 c0                	test   %al,%al
532cfd:	75 f9                	jne    0x532cf8
532cff:	2b ce                	sub    %esi,%ecx
532d01:	83 c2 02             	add    $0x2,%edx
532d04:	03 d1                	add    %ecx,%edx
532d06:	38 02                	cmp    %al,(%edx)
532d08:	75 d8                	jne    0x532ce2
532d0a:	8b 45 e8             	mov    -0x18(%ebp),%eax
532d0d:	2b d0                	sub    %eax,%edx
532d0f:	42                   	inc    %edx
532d10:	89 55 e4             	mov    %edx,-0x1c(%ebp)
532d13:	85 db                	test   %ebx,%ebx
532d15:	75 21                	jne    0x532d38
532d17:	8b 75 f0             	mov    -0x10(%ebp),%esi
532d1a:	8d 47 08             	lea    0x8(%edi),%eax
532d1d:	3b 46 08             	cmp    0x8(%esi),%eax
532d20:	7e 34                	jle    0x532d56
532d22:	68 9b db 00 00       	push   $0xdb9b
532d27:	e8 f4 b1 fe ff       	call   0x51df20
532d2c:	8b d8                	mov    %eax,%ebx
532d2e:	83 c4 04             	add    $0x4,%esp
532d31:	89 5d ec             	mov    %ebx,-0x14(%ebp)
532d34:	85 db                	test   %ebx,%ebx
532d36:	74 1e                	je     0x532d56
532d38:	ff 75 f4             	push   -0xc(%ebp)
532d3b:	e8 50 80 fb ff       	call   0x4ead90
532d40:	83 c4 04             	add    $0x4,%esp
532d43:	8b c3                	mov    %ebx,%eax
532d45:	5f                   	pop    %edi
532d46:	5e                   	pop    %esi
532d47:	5b                   	pop    %ebx
532d48:	8b 4d fc             	mov    -0x4(%ebp),%ecx
532d4b:	33 cd                	xor    %ebp,%ecx
532d4d:	e8 88 e7 0a 00       	call   0x5e14da
532d52:	8b e5                	mov    %ebp,%esp
532d54:	5d                   	pop    %ebp
532d55:	c3                   	ret
532d56:	8b 5d f4             	mov    -0xc(%ebp),%ebx
532d59:	e9 2d fe ff ff       	jmp    0x532b8b
532d5e:	43                   	inc    %ebx
532d5f:	57                   	push   %edi
532d60:	ff 75 f4             	push   -0xc(%ebp)
532d63:	89 9e ac 00 00 00    	mov    %ebx,0xac(%esi)
532d69:	53                   	push   %ebx
532d6a:	e8 91 01 0b 00       	call   0x5e2f00
532d6f:	a1 48 82 6b 00       	mov    0x6b8248,%eax
532d74:	03 df                	add    %edi,%ebx
532d76:	83 c4 0c             	add    $0xc,%esp
532d79:	89 03                	mov    %eax,(%ebx)
532d7b:	a1 4c 82 6b 00       	mov    0x6b824c,%eax
532d80:	89 43 04             	mov    %eax,0x4(%ebx)
532d83:	83 c3 09             	add    $0x9,%ebx
532d86:	eb 0a                	jmp    0x532d92
532d88:	c7 86 ac 00 00 00 00 	movl   $0x0,0xac(%esi)
532d8f:	00 00 00
532d92:	85 ff                	test   %edi,%edi
532d94:	74 1c                	je     0x532db2
532d96:	57                   	push   %edi
532d97:	ff 75 f4             	push   -0xc(%ebp)
532d9a:	89 9e dc 00 00 00    	mov    %ebx,0xdc(%esi)
532da0:	53                   	push   %ebx
532da1:	e8 5a 01 0b 00       	call   0x5e2f00
532da6:	83 c4 0c             	add    $0xc,%esp
532da9:	c7 04 3b 2d 77 61 6c 	movl   $0x6c61772d,(%ebx,%edi,1)
532db0:	eb 0a                	jmp    0x532dbc
532db2:	c7 86 dc 00 00 00 00 	movl   $0x0,0xdc(%esi)
532db9:	00 00 00
532dbc:	85 ff                	test   %edi,%edi
532dbe:	74 10                	je     0x532dd0
532dc0:	8b 45 f4             	mov    -0xc(%ebp),%eax
532dc3:	85 c0                	test   %eax,%eax
532dc5:	74 09                	je     0x532dd0
532dc7:	50                   	push   %eax
532dc8:	e8 c3 7f fb ff       	call   0x4ead90
532dcd:	83 c4 04             	add    $0x4,%esp
532dd0:	8b 45 e0             	mov    -0x20(%ebp),%eax
532dd3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
532dd6:	8b 55 1c             	mov    0x1c(%ebp),%edx
532dd9:	89 0e                	mov    %ecx,(%esi)
532ddb:	89 96 90 00 00 00    	mov    %edx,0x90(%esi)
532de1:	85 c0                	test   %eax,%eax
532de3:	0f 84 e9 00 00 00    	je     0x532ed2
532de9:	80 38 00             	cmpb   $0x0,(%eax)
532dec:	0f 84 e0 00 00 00    	je     0x532ed2
532df2:	8d 45 f8             	lea    -0x8(%ebp),%eax
532df5:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
532dfc:	50                   	push   %eax
532dfd:	8b c2                	mov    %edx,%eax
532dff:	25 7f 7f 08 01       	and    $0x1087f7f,%eax
532e04:	50                   	push   %eax
532e05:	ff 76 3c             	push   0x3c(%esi)
532e08:	8b 41 18             	mov    0x18(%ecx),%eax
532e0b:	ff b6 a8 00 00 00    	push   0xa8(%esi)
532e11:	51                   	push   %ecx
532e12:	ff d0                	call   *%eax
532e14:	8b 5d f8             	mov    -0x8(%ebp),%ebx
532e17:	83 c4 14             	add    $0x14,%esp
532e1a:	83 e3 01             	and    $0x1,%ebx
532e1d:	89 45 ec             	mov    %eax,-0x14(%ebp)
532e20:	89 5d e8             	mov    %ebx,-0x18(%ebp)
532e23:	85 c0                	test   %eax,%eax
532e25:	0f 85 ed 01 00 00    	jne    0x533018
532e2b:	8b 46 3c             	mov    0x3c(%esi),%eax
532e2e:	50                   	push   %eax
532e2f:	8b 08                	mov    (%eax),%ecx
532e31:	8b 41 30             	mov    0x30(%ecx),%eax
532e34:	ff d0                	call   *%eax
532e36:	83 c4 04             	add    $0x4,%esp
532e39:	8b f8                	mov    %eax,%edi
532e3b:	85 db                	test   %ebx,%ebx
532e3d:	75 24                	jne    0x532e63
532e3f:	56                   	push   %esi
532e40:	e8 db 44 fe ff       	call   0x517320
532e45:	8b 8e 94 00 00 00    	mov    0x94(%esi),%ecx
532e4b:	83 c4 04             	add    $0x4,%esp
532e4e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
532e54:	76 0d                	jbe    0x532e63
532e56:	b8 00 20 00 00       	mov    $0x2000,%eax
532e5b:	3b c8                	cmp    %eax,%ecx
532e5d:	0f 47 c8             	cmova  %eax,%ecx
532e60:	89 4d dc             	mov    %ecx,-0x24(%ebp)
532e63:	68 54 82 6b 00       	push   $0x6b8254
532e68:	ff b6 a8 00 00 00    	push   0xa8(%esi)
532e6e:	e8 cd 9e fb ff       	call   0x4ecd40
532e73:	83 c4 08             	add    $0x8,%esp
532e76:	85 c0                	test   %eax,%eax
532e78:	74 16                	je     0x532e90
532e7a:	6a 00                	push   $0x0
532e7c:	6a 01                	push   $0x1
532e7e:	50                   	push   %eax
532e7f:	e8 1c 35 fd ff       	call   0x5063a0
532e84:	33 c9                	xor    %ecx,%ecx
532e86:	83 c4 0c             	add    $0xc,%esp
532e89:	84 c0                	test   %al,%al
532e8b:	0f 95 c1             	setne  %cl
532e8e:	eb 02                	jmp    0x532e92
532e90:	33 c9                	xor    %ecx,%ecx
532e92:	88 4e 0d             	mov    %cl,0xd(%esi)
532e95:	f7 c7 00 20 00 00    	test   $0x2000,%edi
532e9b:	75 2f                	jne    0x532ecc
532e9d:	68 5c 82 6b 00       	push   $0x6b825c
532ea2:	ff b6 a8 00 00 00    	push   0xa8(%esi)
532ea8:	e8 93 9e fb ff       	call   0x4ecd40
532ead:	83 c4 08             	add    $0x8,%esp
532eb0:	85 c0                	test   %eax,%eax
532eb2:	74 41                	je     0x532ef5
532eb4:	6a 00                	push   $0x0
532eb6:	6a 01                	push   $0x1
532eb8:	50                   	push   %eax
532eb9:	e8 e2 34 fd ff       	call   0x5063a0
532ebe:	33 c9                	xor    %ecx,%ecx
532ec0:	83 c4 0c             	add    $0xc,%esp
532ec3:	84 c0                	test   %al,%al
532ec5:	0f 95 c1             	setne  %cl
532ec8:	85 c9                	test   %ecx,%ecx
532eca:	74 29                	je     0x532ef5
532ecc:	8b 55 1c             	mov    0x1c(%ebp),%edx
532ecf:	83 ca 01             	or     $0x1,%edx
532ed2:	8b 5d ec             	mov    -0x14(%ebp),%ebx
532ed5:	b9 01 00 00 00       	mov    $0x1,%ecx
532eda:	8b c2                	mov    %edx,%eax
532edc:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
532edf:	23 c1                	and    %ecx,%eax
532ee1:	66 c7 46 10 01 04    	movw   $0x401,0x10(%esi)
532ee7:	88 4e 0d             	mov    %cl,0xd(%esi)
532eea:	89 45 e8             	mov    %eax,-0x18(%ebp)
532eed:	85 db                	test   %ebx,%ebx
532eef:	0f 85 26 01 00 00    	jne    0x53301b
532ef5:	6a ff                	push   $0xffffffff
532ef7:	8d 45 dc             	lea    -0x24(%ebp),%eax
532efa:	50                   	push   %eax
532efb:	56                   	push   %esi
532efc:	e8 af 05 00 00       	call   0x5334b0
532f01:	8b d8                	mov    %eax,%ebx
532f03:	83 c4 0c             	add    $0xc,%esp
532f06:	85 db                	test   %ebx,%ebx
532f08:	0f 85 0d 01 00 00    	jne    0x53301b
532f0e:	8b 7d 14             	mov    0x14(%ebp),%edi
532f11:	ba 40 d2 50 00       	mov    $0x50d240,%edx
532f16:	ff b6 d4 00 00 00    	push   0xd4(%esi)
532f1c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
532f1f:	83 c7 07             	add    $0x7,%edi
532f22:	83 e7 f8             	and    $0xfffffff8,%edi
532f25:	85 c9                	test   %ecx,%ecx
532f27:	56                   	push   %esi
532f28:	0f 44 c2             	cmove  %edx,%eax
532f2b:	50                   	push   %eax
532f2c:	33 c0                	xor    %eax,%eax
532f2e:	85 c9                	test   %ecx,%ecx
532f30:	0f 94 c0             	sete   %al
532f33:	50                   	push   %eax
532f34:	57                   	push   %edi
532f35:	ff 75 dc             	push   -0x24(%ebp)
532f38:	e8 53 16 00 00       	call   0x534590
532f3d:	8b d8                	mov    %eax,%ebx
532f3f:	83 c4 18             	add    $0x18,%esp
532f42:	85 db                	test   %ebx,%ebx
532f44:	0f 85 d1 00 00 00    	jne    0x53301b
532f4a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
532f4d:	8b 45 d0             	mov    -0x30(%ebp),%eax
532f50:	8b 5d d8             	mov    -0x28(%ebp),%ebx
532f53:	88 46 06             	mov    %al,0x6(%esi)
532f56:	8b 45 e8             	mov    -0x18(%ebp),%eax
532f59:	c7 86 9c 00 00 00 ff 	movl   $0x3fffffff,0x9c(%esi)
532f60:	ff ff 3f
532f63:	88 4e 0c             	mov    %cl,0xc(%esi)
532f66:	88 4e 04             	mov    %cl,0x4(%esi)
532f69:	88 4e 12             	mov    %cl,0x12(%esi)
532f6c:	88 5e 0f             	mov    %bl,0xf(%esi)
532f6f:	88 46 0e             	mov    %al,0xe(%esi)
532f72:	88 4e 07             	mov    %cl,0x7(%esi)
532f75:	84 c9                	test   %cl,%cl
532f77:	75 07                	jne    0x532f80
532f79:	c7 46 08 01 00 02 0a 	movl   $0xa020001,0x8(%esi)
532f80:	56                   	push   %esi
532f81:	66 89 be 8c 00 00 00 	mov    %di,0x8c(%esi)
532f88:	c7 86 a0 00 00 00 ff 	movl   $0xffffffff,0xa0(%esi)
532f8f:	ff ff ff
532f92:	c7 86 a4 00 00 00 ff 	movl   $0xffffffff,0xa4(%esi)
532f99:	ff ff ff
532f9c:	e8 7f 43 fe ff       	call   0x517320
532fa1:	83 c4 04             	add    $0x4,%esp
532fa4:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
532fa8:	75 06                	jne    0x532fb0
532faa:	c6 46 05 02          	movb   $0x2,0x5(%esi)
532fae:	eb 08                	jmp    0x532fb8
532fb0:	85 db                	test   %ebx,%ebx
532fb2:	74 04                	je     0x532fb8