4199d8:	e8 44 2c 00 00       	call   0x41c621
4199dd:	83 c4 0c             	add    $0xc,%esp
4199e0:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
4199e4:	74 43                	je     0x419a29
4199e6:	8b 4f 1c             	mov    0x1c(%edi),%ecx
4199e9:	89 7d f8             	mov    %edi,-0x8(%ebp)
4199ec:	51                   	push   %ecx
4199ed:	8b cb                	mov    %ebx,%ecx
4199ef:	e8 c8 06 00 00       	call   0x41a0bc
4199f4:	8b f0                	mov    %eax,%esi
4199f6:	85 f6                	test   %esi,%esi
4199f8:	78 34                	js     0x419a2e
4199fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4199fd:	83 38 00             	cmpl   $0x0,(%eax)
419a00:	74 3e                	je     0x419a40
419a02:	68 b8 57 40 00       	push   $0x4057b8
419a07:	8b cb                	mov    %ebx,%ecx
419a09:	e8 ae 06 00 00       	call   0x41a0bc
419a0e:	8b f0                	mov    %eax,%esi
419a10:	85 f6                	test   %esi,%esi
419a12:	78 1a                	js     0x419a2e
419a14:	8b 45 fc             	mov    -0x4(%ebp),%eax
419a17:	8b 00                	mov    (%eax),%eax
419a19:	03 45 f8             	add    -0x8(%ebp),%eax
419a1c:	89 45 fc             	mov    %eax,-0x4(%ebp)
419a1f:	89 45 f8             	mov    %eax,-0x8(%ebp)
419a22:	8b 48 1c             	mov    0x1c(%eax),%ecx
419a25:	85 c9                	test   %ecx,%ecx
419a27:	75 c3                	jne    0x4199ec
419a29:	be 01 00 00 c0       	mov    $0xc0000001,%esi
419a2e:	85 ff                	test   %edi,%edi
419a30:	74 07                	je     0x419a39
419a32:	57                   	push   %edi
419a33:	e8 e6 1e 00 00       	call   0x41b91e
419a38:	59                   	pop    %ecx
419a39:	5f                   	pop    %edi
419a3a:	8b c6                	mov    %esi,%eax
419a3c:	5e                   	pop    %esi
419a3d:	5b                   	pop    %ebx
419a3e:	c9                   	leave
419a3f:	c3                   	ret
419a40:	8b 45 f4             	mov    -0xc(%ebp),%eax
419a43:	89 18                	mov    %ebx,(%eax)
419a45:	eb e7                	jmp    0x419a2e
419a47:	8b ff                	mov    %edi,%edi
419a49:	55                   	push   %ebp
419a4a:	8b ec                	mov    %esp,%ebp
419a4c:	81 ec b0 00 00 00    	sub    $0xb0,%esp
419a52:	a1 e4 05 42 00       	mov    0x4205e4,%eax
419a57:	33 c5                	xor    %ebp,%eax
419a59:	89 45 f8             	mov    %eax,-0x8(%ebp)
419a5c:	83 a5 5c ff ff ff 00 	andl   $0x0,-0xa4(%ebp)
419a63:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
419a69:	53                   	push   %ebx
419a6a:	56                   	push   %esi
419a6b:	57                   	push   %edi
419a6c:	8b 7d 08             	mov    0x8(%ebp),%edi
419a6f:	8b d9                	mov    %ecx,%ebx
419a71:	6a 20                	push   $0x20
419a73:	50                   	push   %eax
419a74:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
419a7a:	c6 85 63 ff ff ff 00 	movb   $0x0,-0x9d(%ebp)
419a81:	50                   	push   %eax
419a82:	ff 15 a0 35 42 00    	call   *0x4235a0
419a88:	68 90 00 00 00       	push   $0x90
419a8d:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
419a93:	c6 07 00             	movb   $0x0,(%edi)
419a96:	6a 00                	push   $0x0
419a98:	50                   	push   %eax
419a99:	e8 83 2b 00 00       	call   0x41c621
419a9e:	83 c4 0c             	add    $0xc,%esp
419aa1:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
419aa7:	6a 01                	push   $0x1
419aa9:	50                   	push   %eax
419aaa:	ff 15 a8 35 42 00    	call   *0x4235a8
419ab0:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
419ab6:	e8 ee 07 00 00       	call   0x41a2a9
419abb:	8b f0                	mov    %eax,%esi
419abd:	85 f6                	test   %esi,%esi
419abf:	0f 88 bd 00 00 00    	js     0x419b82
419ac5:	33 c0                	xor    %eax,%eax
419ac7:	8b 0c 83             	mov    (%ebx,%eax,4),%ecx
419aca:	83 f9 40             	cmp    $0x40,%ecx
419acd:	0f 83 a8 00 00 00    	jae    0x419b7b
419ad3:	33 f6                	xor    %esi,%esi
419ad5:	8b d1                	mov    %ecx,%edx
419ad7:	83 e1 1f             	and    $0x1f,%ecx
419ada:	c1 ea 05             	shr    $0x5,%edx
419add:	46                   	inc    %esi
419ade:	d3 e6                	shl    %cl,%esi
419ae0:	8b 8c 95 68 ff ff ff 	mov    -0x98(%ebp,%edx,4),%ecx
419ae7:	85 ce                	test   %ecx,%esi
419ae9:	75 09                	jne    0x419af4
419aeb:	0b ce                	or     %esi,%ecx
419aed:	89 8c 95 68 ff ff ff 	mov    %ecx,-0x98(%ebp,%edx,4)
419af4:	40                   	inc    %eax
419af5:	83 f8 01             	cmp    $0x1,%eax
419af8:	72 cd                	jb     0x419ac7
419afa:	6a 00                	push   $0x0
419afc:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
419b02:	50                   	push   %eax
419b03:	ff 15 a8 35 42 00    	call   *0x4235a8
419b09:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
419b0f:	8d 95 63 ff ff ff    	lea    -0x9d(%ebp),%edx
419b15:	8b 8d 68 ff ff ff    	mov    -0x98(%ebp),%ecx
419b1b:	0d 00 00 10 00       	or     $0x100000,%eax
419b20:	0b c8                	or     %eax,%ecx
419b22:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
419b28:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
419b2e:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
419b34:	e8 32 04 00 00       	call   0x419f6b
419b39:	8b f0                	mov    %eax,%esi
419b3b:	85 f6                	test   %esi,%esi
419b3d:	78 43                	js     0x419b82
419b3f:	80 bd 63 ff ff ff 00 	cmpb   $0x0,-0x9d(%ebp)
419b46:	74 0f                	je     0x419b57
419b48:	6a 04                	push   $0x4
419b4a:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
419b50:	50                   	push   %eax
419b51:	ff 15 a8 35 42 00    	call   *0x4235a8
419b57:	6a 20                	push   $0x20
419b59:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
419b5f:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
419b65:	e8 a2 0b 00 00       	call   0x41a70c
419b6a:	8b f0                	mov    %eax,%esi
419b6c:	85 f6                	test   %esi,%esi
419b6e:	78 12                	js     0x419b82
419b70:	8b cf                	mov    %edi,%ecx
419b72:	e8 6b 00 00 00       	call   0x419be2
419b77:	8b f0                	mov    %eax,%esi
419b79:	eb 05                	jmp    0x419b80
419b7b:	be 62 01 00 c0       	mov    $0xc0000162,%esi
419b80:	85 f6                	test   %esi,%esi
419b82:	74 03                	je     0x419b87
419b84:	c6 07 00             	movb   $0x0,(%edi)
419b87:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
419b8d:	e8 5c 05 00 00       	call   0x41a0ee
419b92:	8b 4d f8             	mov    -0x8(%ebp),%ecx
419b95:	8b c6                	mov    %esi,%eax
419b97:	5f                   	pop    %edi
419b98:	5e                   	pop    %esi
419b99:	33 cd                	xor    %ebp,%ecx
419b9b:	5b                   	pop    %ebx
419b9c:	e8 7f 1a 00 00       	call   0x41b620
419ba1:	c9                   	leave
419ba2:	c2 04 00             	ret    $0x4
419ba5:	8b ff                	mov    %edi,%edi
419ba7:	55                   	push   %ebp
419ba8:	8b ec                	mov    %esp,%ebp
419baa:	51                   	push   %ecx
419bab:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419baf:	56                   	push   %esi
419bb0:	8b f1                	mov    %ecx,%esi
419bb2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
419bb5:	57                   	push   %edi
419bb6:	e8 e6 fc ff ff       	call   0x4198a1
419bbb:	8b 55 fc             	mov    -0x4(%ebp),%edx
419bbe:	8b f8                	mov    %eax,%edi
419bc0:	85 ff                	test   %edi,%edi
419bc2:	78 0d                	js     0x419bd1
419bc4:	85 d2                	test   %edx,%edx
419bc6:	75 04                	jne    0x419bcc
419bc8:	21 16                	and    %edx,(%esi)
419bca:	eb 10                	jmp    0x419bdc
419bcc:	8b 42 04             	mov    0x4(%edx),%eax
419bcf:	89 06                	mov    %eax,(%esi)
419bd1:	85 d2                	test   %edx,%edx
419bd3:	74 07                	je     0x419bdc
419bd5:	52                   	push   %edx
419bd6:	e8 43 1d 00 00       	call   0x41b91e
419bdb:	59                   	pop    %ecx
419bdc:	8b c7                	mov    %edi,%eax
419bde:	5f                   	pop    %edi
419bdf:	5e                   	pop    %esi
419be0:	c9                   	leave
419be1:	c3                   	ret
419be2:	8b ff                	mov    %edi,%edi
419be4:	55                   	push   %ebp
419be5:	8b ec                	mov    %esp,%ebp
419be7:	81 ec ac 00 00 00    	sub    $0xac,%esp
419bed:	a1 e4 05 42 00       	mov    0x4205e4,%eax
419bf2:	33 c5                	xor    %ebp,%eax
419bf4:	89 45 fc             	mov    %eax,-0x4(%ebp)
419bf7:	53                   	push   %ebx
419bf8:	56                   	push   %esi
419bf9:	57                   	push   %edi
419bfa:	33 c0                	xor    %eax,%eax
419bfc:	8b f9                	mov    %ecx,%edi
419bfe:	68 90 00 00 00       	push   $0x90
419c03:	50                   	push   %eax
419c04:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
419c0a:	8a d8                	mov    %al,%bl
419c0c:	88 85 67 ff ff ff    	mov    %al,-0x99(%ebp)
419c12:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
419c18:	50                   	push   %eax
419c19:	e8 03 2a 00 00       	call   0x41c621
419c1e:	83 c4 0c             	add    $0xc,%esp
419c21:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
419c27:	e8 7d 06 00 00       	call   0x41a2a9
419c2c:	8b f0                	mov    %eax,%esi
419c2e:	85 f6                	test   %esi,%esi
419c30:	0f 88 a3 00 00 00    	js     0x419cd9
419c36:	83 a5 60 ff ff ff 00 	andl   $0x0,-0xa0(%ebp)
419c3d:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
419c43:	e8 5d ff ff ff       	call   0x419ba5
419c48:	8b f0                	mov    %eax,%esi
419c4a:	85 f6                	test   %esi,%esi
419c4c:	0f 88 87 00 00 00    	js     0x419cd9
419c52:	8b 9d 60 ff ff ff    	mov    -0xa0(%ebp),%ebx
419c58:	c1 eb 14             	shr    $0x14,%ebx
419c5b:	f6 d3                	not    %bl
419c5d:	80 e3 01             	and    $0x1,%bl
419c60:	85 f6                	test   %esi,%esi
419c62:	78 75                	js     0x419cd9
419c64:	84 db                	test   %bl,%bl
419c66:	74 24                	je     0x419c8c
419c68:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
419c6e:	e8 32 ff ff ff       	call   0x419ba5
419c73:	8b f0                	mov    %eax,%esi
419c75:	85 f6                	test   %esi,%esi
419c77:	78 60                	js     0x419cd9
419c79:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
419c7f:	3b 85 5c ff ff ff    	cmp    -0xa4(%ebp),%eax
419c85:	74 30                	je     0x419cb7
419c87:	c6 07 01             	movb   $0x1,(%edi)
419c8a:	eb 50                	jmp    0x419cdc
419c8c:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
419c92:	e8 a8 fc ff ff       	call   0x41993f
419c97:	8b f0                	mov    %eax,%esi
419c99:	85 f6                	test   %esi,%esi
419c9b:	78 3c                	js     0x419cd9
419c9d:	33 c9                	xor    %ecx,%ecx
419c9f:	8b 84 0d 6c ff ff ff 	mov    -0x94(%ebp,%ecx,1),%eax
419ca6:	3b 84 0d 58 ff ff ff 	cmp    -0xa8(%ebp,%ecx,1),%eax
419cad:	75 d8                	jne    0x419c87
419caf:	83 c1 04             	add    $0x4,%ecx
419cb2:	83 f9 08             	cmp    $0x8,%ecx
419cb5:	72 e8                	jb     0x419c9f
419cb7:	8b 4d 80             	mov    -0x80(%ebp),%ecx
419cba:	8d 95 67 ff ff ff    	lea    -0x99(%ebp),%edx
419cc0:	e8 33 00 00 00       	call   0x419cf8
419cc5:	8b f0                	mov    %eax,%esi
419cc7:	85 f6                	test   %esi,%esi
419cc9:	78 0e                	js     0x419cd9
419ccb:	80 bd 67 ff ff ff 00 	cmpb   $0x0,-0x99(%ebp)
419cd2:	0f 94 c0             	sete   %al
419cd5:	88 07                	mov    %al,(%edi)
419cd7:	eb 03                	jmp    0x419cdc
419cd9:	c6 07 00             	movb   $0x0,(%edi)
419cdc:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
419ce2:	e8 07 04 00 00       	call   0x41a0ee
419ce7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
419cea:	8b c6                	mov    %esi,%eax
419cec:	5f                   	pop    %edi
419ced:	5e                   	pop    %esi
419cee:	33 cd                	xor    %ebp,%ecx
419cf0:	5b                   	pop    %ebx
419cf1:	e8 2a 19 00 00       	call   0x41b620
419cf6:	c9                   	leave
419cf7:	c3                   	ret
419cf8:	8b ff                	mov    %edi,%edi
419cfa:	55                   	push   %ebp
419cfb:	8b ec                	mov    %esp,%ebp
419cfd:	83 ec 30             	sub    $0x30,%esp
419d00:	53                   	push   %ebx
419d01:	56                   	push   %esi
419d02:	33 c0                	xor    %eax,%eax
419d04:	c7 45 f0 20 00 00 00 	movl   $0x20,-0x10(%ebp)
419d0b:	8b f2                	mov    %edx,%esi
419d0d:	89 45 f8             	mov    %eax,-0x8(%ebp)
419d10:	8b d9                	mov    %ecx,%ebx
419d12:	89 45 e0             	mov    %eax,-0x20(%ebp)
419d15:	57                   	push   %edi
419d16:	8d 4d f4             	lea    -0xc(%ebp),%ecx
419d19:	89 5d e8             	mov    %ebx,-0x18(%ebp)
419d1c:	89 45 f4             	mov    %eax,-0xc(%ebp)
419d1f:	89 45 dc             	mov    %eax,-0x24(%ebp)
419d22:	89 45 ec             	mov    %eax,-0x14(%ebp)
419d25:	88 06                	mov    %al,(%esi)
419d27:	e8 59 fc ff ff       	call   0x419985
419d2c:	8b f8                	mov    %eax,%edi
419d2e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
419d31:	85 ff                	test   %edi,%edi
419d33:	0f 88 f2 01 00 00    	js     0x419f2b
419d39:	85 db                	test   %ebx,%ebx
419d3b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
419d3e:	75 10                	jne    0x419d50
419d40:	85 db                	test   %ebx,%ebx
419d42:	0f 85 c8 01 00 00    	jne    0x419f10
419d48:	c6 06 01             	movb   $0x1,(%esi)
419d4b:	e9 d9 01 00 00       	jmp    0x419f29
419d50:	85 db                	test   %ebx,%ebx
419d52:	75 09                	jne    0x419d5d
419d54:	33 c0                	xor    %eax,%eax
419d56:	88 06                	mov    %al,(%esi)
419d58:	e9 cc 01 00 00       	jmp    0x419f29
419d5d:	8b 7d e8             	mov    -0x18(%ebp),%edi
419d60:	33 d2                	xor    %edx,%edx
419d62:	8d 4f 02             	lea    0x2(%edi),%ecx
419d65:	66 8b 07             	mov    (%edi),%ax
419d68:	83 c7 02             	add    $0x2,%edi
419d6b:	66 3b c2             	cmp    %dx,%ax
419d6e:	75 f5                	jne    0x419d65
419d70:	2b f9                	sub    %ecx,%edi
419d72:	8b cb                	mov    %ebx,%ecx
419d74:	d1 ff                	sar    $1,%edi
419d76:	8d 41 02             	lea    0x2(%ecx),%eax
419d79:	8d 57 01             	lea    0x1(%edi),%edx
419d7c:	89 45 d8             	mov    %eax,-0x28(%ebp)
419d7f:	66 8b 01             	mov    (%ecx),%ax
419d82:	83 c1 02             	add    $0x2,%ecx
419d85:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
419d89:	75 f4                	jne    0x419d7f
419d8b:	2b 4d d8             	sub    -0x28(%ebp),%ecx
419d8e:	d1 f9                	sar    $1,%ecx
419d90:	89 4d d0             	mov    %ecx,-0x30(%ebp)
419d93:	8d 41 01             	lea    0x1(%ecx),%eax
419d96:	89 45 d4             	mov    %eax,-0x2c(%ebp)
419d99:	3b d0                	cmp    %eax,%edx
419d9b:	74 08                	je     0x419da5
419d9d:	8b 7d e4             	mov    -0x1c(%ebp),%edi
419da0:	e9 6b 01 00 00       	jmp    0x419f10
419da5:	8d 04 12             	lea    (%edx,%edx,1),%eax
419da8:	50                   	push   %eax
419da9:	e8 6a 1b 00 00       	call   0x41b918
419dae:	89 45 e0             	mov    %eax,-0x20(%ebp)
419db1:	59                   	pop    %ecx
419db2:	85 c0                	test   %eax,%eax
419db4:	0f 84 51 01 00 00    	je     0x419f0b
419dba:	8d 57 01             	lea    0x1(%edi),%edx
419dbd:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
419dc0:	51                   	push   %ecx
419dc1:	33 c9                	xor    %ecx,%ecx
419dc3:	51                   	push   %ecx
419dc4:	50                   	push   %eax
419dc5:	e8 57 28 00 00       	call   0x41c621
419dca:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
419dcd:	51                   	push   %ecx
419dce:	ff 75 e8             	push   -0x18(%ebp)
419dd1:	8d 4f 01             	lea    0x1(%edi),%ecx
419dd4:	8b 7d e0             	mov    -0x20(%ebp),%edi
419dd7:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
419dda:	50                   	push   %eax
419ddb:	57                   	push   %edi
419ddc:	ff 15 90 35 42 00    	call   *0x423590
419de2:	8d 45 dc             	lea    -0x24(%ebp),%eax
419de5:	50                   	push   %eax
419de6:	8d 45 f0             	lea    -0x10(%ebp),%eax
419de9:	50                   	push   %eax
419dea:	57                   	push   %edi