ab0a90:	51                   	push   %ecx
ab0a91:	51                   	push   %ecx
ab0a92:	56                   	push   %esi
ab0a93:	8b f1                	mov    %ecx,%esi
ab0a95:	e8 c6 3a 96 ff       	call   0x414560
ab0a9a:	ff 75 0c             	push   0xc(%ebp)
ab0a9d:	8d 45 ff             	lea    -0x1(%ebp),%eax
ab0aa0:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
ab0aa4:	ff 75 08             	push   0x8(%ebp)
ab0aa7:	83 ec 20             	sub    $0x20,%esp
ab0aaa:	8b cc                	mov    %esp,%ecx
ab0aac:	50                   	push   %eax
ab0aad:	ff 76 34             	push   0x34(%esi)
ab0ab0:	8d 46 08             	lea    0x8(%esi),%eax
ab0ab3:	ff 76 30             	push   0x30(%esi)
ab0ab6:	50                   	push   %eax
ab0ab7:	51                   	push   %ecx
ab0ab8:	e8 c5 93 98 ff       	call   0x439e82
ab0abd:	83 c4 14             	add    $0x14,%esp
ab0ac0:	ff 76 48             	push   0x48(%esi)
ab0ac3:	e8 d8 4e 97 ff       	call   0x4259a0
ab0ac8:	83 c4 2c             	add    $0x2c,%esp
ab0acb:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
ab0acf:	75 04                	jne    0xab0ad5
ab0ad1:	32 c0                	xor    %al,%al
ab0ad3:	eb 15                	jmp    0xab0aea
ab0ad5:	80 7e 28 00          	cmpb   $0x0,0x28(%esi)
ab0ad9:	74 04                	je     0xab0adf
ab0adb:	b0 01                	mov    $0x1,%al
ab0add:	eb 0b                	jmp    0xab0aea
ab0adf:	6a 01                	push   $0x1
ab0ae1:	52                   	push   %edx
ab0ae2:	50                   	push   %eax
ab0ae3:	8b ce                	mov    %esi,%ecx
ab0ae5:	e8 c6 a9 95 ff       	call   0x40b4b0
ab0aea:	5e                   	pop    %esi
ab0aeb:	8b e5                	mov    %ebp,%esp
ab0aed:	5d                   	pop    %ebp
ab0aee:	c2 08 00             	ret    $0x8
ab0af1:	cc                   	int3
ab0af2:	cc                   	int3
ab0af3:	cc                   	int3
ab0af4:	cc                   	int3
ab0af5:	cc                   	int3
ab0af6:	cc                   	int3
ab0af7:	cc                   	int3
ab0af8:	cc                   	int3
ab0af9:	cc                   	int3
ab0afa:	cc                   	int3
ab0afb:	cc                   	int3
ab0afc:	cc                   	int3
ab0afd:	cc                   	int3
ab0afe:	cc                   	int3
ab0aff:	cc                   	int3
ab0b00:	cc                   	int3
ab0b01:	cc                   	int3
ab0b02:	cc                   	int3
ab0b03:	cc                   	int3
ab0b04:	cc                   	int3
ab0b05:	cc                   	int3
ab0b06:	cc                   	int3
ab0b07:	cc                   	int3
ab0b08:	cc                   	int3
ab0b09:	cc                   	int3
ab0b0a:	8b ff                	mov    %edi,%edi
ab0b0c:	55                   	push   %ebp
ab0b0d:	8b ec                	mov    %esp,%ebp
ab0b0f:	51                   	push   %ecx
ab0b10:	51                   	push   %ecx
ab0b11:	56                   	push   %esi
ab0b12:	8b f1                	mov    %ecx,%esi
ab0b14:	e8 04 db 97 ff       	call   0x42e61d
ab0b19:	ff 75 0c             	push   0xc(%ebp)
ab0b1c:	8d 45 ff             	lea    -0x1(%ebp),%eax
ab0b1f:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
ab0b23:	ff 75 08             	push   0x8(%ebp)
ab0b26:	83 ec 20             	sub    $0x20,%esp
ab0b29:	8b cc                	mov    %esp,%ecx
ab0b2b:	50                   	push   %eax
ab0b2c:	ff 76 3c             	push   0x3c(%esi)
ab0b2f:	8d 46 08             	lea    0x8(%esi),%eax
ab0b32:	ff 76 38             	push   0x38(%esi)
ab0b35:	50                   	push   %eax
ab0b36:	51                   	push   %ecx
ab0b37:	e8 4e 1f 96 ff       	call   0x412a8a
ab0b3c:	83 c4 14             	add    $0x14,%esp
ab0b3f:	ff 76 50             	push   0x50(%esi)
ab0b42:	e8 bb d8 96 ff       	call   0x41e402
ab0b47:	83 c4 2c             	add    $0x2c,%esp
ab0b4a:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
ab0b4e:	75 04                	jne    0xab0b54
ab0b50:	32 c0                	xor    %al,%al
ab0b52:	eb 15                	jmp    0xab0b69
ab0b54:	80 7e 30 00          	cmpb   $0x0,0x30(%esi)
ab0b58:	74 04                	je     0xab0b5e
ab0b5a:	b0 01                	mov    $0x1,%al
ab0b5c:	eb 0b                	jmp    0xab0b69
ab0b5e:	6a 01                	push   $0x1
ab0b60:	52                   	push   %edx
ab0b61:	50                   	push   %eax
ab0b62:	8b ce                	mov    %esi,%ecx
ab0b64:	e8 e1 b2 97 ff       	call   0x42be4a
ab0b69:	5e                   	pop    %esi
ab0b6a:	8b e5                	mov    %ebp,%esp
ab0b6c:	5d                   	pop    %ebp
ab0b6d:	c2 08 00             	ret    $0x8
ab0b70:	cc                   	int3
ab0b71:	cc                   	int3
ab0b72:	cc                   	int3
ab0b73:	cc                   	int3
ab0b74:	cc                   	int3
ab0b75:	cc                   	int3
ab0b76:	cc                   	int3
ab0b77:	cc                   	int3
ab0b78:	cc                   	int3
ab0b79:	cc                   	int3
ab0b7a:	cc                   	int3
ab0b7b:	cc                   	int3
ab0b7c:	cc                   	int3
ab0b7d:	cc                   	int3
ab0b7e:	cc                   	int3
ab0b7f:	cc                   	int3
ab0b80:	cc                   	int3
ab0b81:	cc                   	int3
ab0b82:	cc                   	int3
ab0b83:	cc                   	int3
ab0b84:	cc                   	int3
ab0b85:	cc                   	int3
ab0b86:	cc                   	int3
ab0b87:	cc                   	int3
ab0b88:	cc                   	int3
ab0b89:	8b ff                	mov    %edi,%edi
ab0b8b:	56                   	push   %esi
ab0b8c:	57                   	push   %edi
ab0b8d:	8b f9                	mov    %ecx,%edi
ab0b8f:	ff 77 08             	push   0x8(%edi)
ab0b92:	e8 8f ae 97 ff       	call   0x42ba26
ab0b97:	59                   	pop    %ecx
ab0b98:	83 f8 ff             	cmp    $0xffffffff,%eax
ab0b9b:	74 14                	je     0xab0bb1
ab0b9d:	ff 47 0c             	incl   0xc(%edi)
ab0ba0:	0f b6 57 24          	movzbl 0x24(%edi),%edx
ab0ba4:	50                   	push   %eax
ab0ba5:	3b c2                	cmp    %edx,%eax
ab0ba7:	74 0d                	je     0xab0bb6
ab0ba9:	8d 4f 08             	lea    0x8(%edi),%ecx
ab0bac:	e8 1a c3 97 ff       	call   0x42cecb
ab0bb1:	32 c0                	xor    %al,%al
ab0bb3:	5f                   	pop    %edi
ab0bb4:	5e                   	pop    %esi
ab0bb5:	c3                   	ret
ab0bb6:	8b cf                	mov    %edi,%ecx
ab0bb8:	e8 e5 90 98 ff       	call   0x439ca2
ab0bbd:	eb f4                	jmp    0xab0bb3
ab0bbf:	cc                   	int3
ab0bc0:	cc                   	int3
ab0bc1:	cc                   	int3
ab0bc2:	cc                   	int3
ab0bc3:	cc                   	int3
ab0bc4:	cc                   	int3
ab0bc5:	cc                   	int3
ab0bc6:	cc                   	int3
ab0bc7:	cc                   	int3
ab0bc8:	cc                   	int3
ab0bc9:	cc                   	int3
ab0bca:	cc                   	int3
ab0bcb:	cc                   	int3
ab0bcc:	8b ff                	mov    %edi,%edi
ab0bce:	56                   	push   %esi
ab0bcf:	8b f1                	mov    %ecx,%esi
ab0bd1:	57                   	push   %edi
ab0bd2:	8d 4e 08             	lea    0x8(%esi),%ecx
ab0bd5:	e8 82 00 97 ff       	call   0x420c5c
ab0bda:	8b d0                	mov    %eax,%edx
ab0bdc:	83 fa ff             	cmp    $0xffffffff,%edx
ab0bdf:	75 04                	jne    0xab0be5
ab0be1:	32 c0                	xor    %al,%al
ab0be3:	eb 1a                	jmp    0xab0bff
ab0be5:	0f b6 46 2c          	movzbl 0x2c(%esi),%eax
ab0be9:	52                   	push   %edx
ab0bea:	3b d0                	cmp    %eax,%edx
ab0bec:	74 0a                	je     0xab0bf8
ab0bee:	8d 4e 08             	lea    0x8(%esi),%ecx
ab0bf1:	e8 c8 a7 97 ff       	call   0x42b3be
ab0bf6:	eb e9                	jmp    0xab0be1
ab0bf8:	8b ce                	mov    %esi,%ecx
ab0bfa:	e8 64 d9 98 ff       	call   0x43e563
ab0bff:	5f                   	pop    %edi
ab0c00:	5e                   	pop    %esi
ab0c01:	c3                   	ret
ab0c02:	cc                   	int3
ab0c03:	cc                   	int3
ab0c04:	cc                   	int3
ab0c05:	cc                   	int3
ab0c06:	cc                   	int3
ab0c07:	cc                   	int3
ab0c08:	cc                   	int3
ab0c09:	cc                   	int3
ab0c0a:	cc                   	int3
ab0c0b:	cc                   	int3
ab0c0c:	cc                   	int3
ab0c0d:	cc                   	int3
ab0c0e:	cc                   	int3
ab0c0f:	8b ff                	mov    %edi,%edi
ab0c11:	56                   	push   %esi
ab0c12:	8b f1                	mov    %ecx,%esi
ab0c14:	57                   	push   %edi
ab0c15:	8d 4e 08             	lea    0x8(%esi),%ecx
ab0c18:	e8 5b 77 95 ff       	call   0x408378
ab0c1d:	0f b7 c0             	movzwl %ax,%eax
ab0c20:	b9 ff ff 00 00       	mov    $0xffff,%ecx
ab0c25:	66 3b c1             	cmp    %cx,%ax
ab0c28:	75 04                	jne    0xab0c2e
ab0c2a:	32 c0                	xor    %al,%al
ab0c2c:	eb 13                	jmp    0xab0c41
ab0c2e:	66 3b 46 24          	cmp    0x24(%esi),%ax
ab0c32:	74 0b                	je     0xab0c3f
ab0c34:	50                   	push   %eax
ab0c35:	8d 4e 08             	lea    0x8(%esi),%ecx
ab0c38:	e8 ee 07 98 ff       	call   0x43142b
ab0c3d:	eb eb                	jmp    0xab0c2a
ab0c3f:	b0 01                	mov    $0x1,%al
ab0c41:	5f                   	pop    %edi
ab0c42:	5e                   	pop    %esi
ab0c43:	c3                   	ret
ab0c44:	cc                   	int3
ab0c45:	cc                   	int3
ab0c46:	cc                   	int3
ab0c47:	cc                   	int3
ab0c48:	cc                   	int3
ab0c49:	cc                   	int3
ab0c4a:	cc                   	int3
ab0c4b:	cc                   	int3
ab0c4c:	cc                   	int3
ab0c4d:	cc                   	int3
ab0c4e:	cc                   	int3
ab0c4f:	cc                   	int3
ab0c50:	cc                   	int3
ab0c51:	8b ff                	mov    %edi,%edi
ab0c53:	56                   	push   %esi
ab0c54:	8b f1                	mov    %ecx,%esi
ab0c56:	57                   	push   %edi
ab0c57:	8d 4e 08             	lea    0x8(%esi),%ecx
ab0c5a:	e8 7d ce 98 ff       	call   0x43dadc
ab0c5f:	0f b7 c0             	movzwl %ax,%eax
ab0c62:	b9 ff ff 00 00       	mov    $0xffff,%ecx
ab0c67:	66 3b c1             	cmp    %cx,%ax
ab0c6a:	75 04                	jne    0xab0c70
ab0c6c:	32 c0                	xor    %al,%al
ab0c6e:	eb 13                	jmp    0xab0c83
ab0c70:	66 3b 46 2c          	cmp    0x2c(%esi),%ax
ab0c74:	74 0b                	je     0xab0c81
ab0c76:	50                   	push   %eax
ab0c77:	8d 4e 08             	lea    0x8(%esi),%ecx
ab0c7a:	e8 49 d0 96 ff       	call   0x41dcc8
ab0c7f:	eb eb                	jmp    0xab0c6c
ab0c81:	b0 01                	mov    $0x1,%al
ab0c83:	5f                   	pop    %edi
ab0c84:	5e                   	pop    %esi
ab0c85:	c3                   	ret
ab0c86:	cc                   	int3
ab0c87:	cc                   	int3
ab0c88:	cc                   	int3
ab0c89:	cc                   	int3
ab0c8a:	cc                   	int3
ab0c8b:	cc                   	int3
ab0c8c:	cc                   	int3
ab0c8d:	cc                   	int3
ab0c8e:	cc                   	int3
ab0c8f:	cc                   	int3
ab0c90:	cc                   	int3
ab0c91:	cc                   	int3
ab0c92:	cc                   	int3
ab0c93:	8b ff                	mov    %edi,%edi
ab0c95:	55                   	push   %ebp
ab0c96:	8b ec                	mov    %esp,%ebp
ab0c98:	53                   	push   %ebx
ab0c99:	57                   	push   %edi
ab0c9a:	8b f9                	mov    %ecx,%edi
ab0c9c:	e8 e2 4b 97 ff       	call   0x425883
ab0ca1:	8a 5d 08             	mov    0x8(%ebp),%bl
ab0ca4:	b9 00 80 00 00       	mov    $0x8000,%ecx
ab0ca9:	0f b6 d3             	movzbl %bl,%edx
ab0cac:	66 85 0c 50          	test   %cx,(%eax,%edx,2)
ab0cb0:	75 04                	jne    0xab0cb6
ab0cb2:	b0 01                	mov    $0x1,%al
ab0cb4:	eb 36                	jmp    0xab0cec
ab0cb6:	56                   	push   %esi
ab0cb7:	8d 77 08             	lea    0x8(%edi),%esi
ab0cba:	ff 36                	push   (%esi)
ab0cbc:	e8 65 ad 97 ff       	call   0x42ba26
ab0cc1:	59                   	pop    %ecx
ab0cc2:	83 f8 ff             	cmp    $0xffffffff,%eax
ab0cc5:	74 03                	je     0xab0cca
ab0cc7:	ff 46 04             	incl   0x4(%esi)
ab0cca:	0f b6 57 25          	movzbl 0x25(%edi),%edx
ab0cce:	3b c2                	cmp    %edx,%eax
ab0cd0:	74 17                	je     0xab0ce9
ab0cd2:	50                   	push   %eax
ab0cd3:	8b ce                	mov    %esi,%ecx
ab0cd5:	e8 f1 c1 97 ff       	call   0x42cecb
ab0cda:	0f be c3             	movsbl %bl,%eax
ab0cdd:	8b ce                	mov    %esi,%ecx
ab0cdf:	50                   	push   %eax
ab0ce0:	e8 e6 c1 97 ff       	call   0x42cecb
ab0ce5:	32 c0                	xor    %al,%al
ab0ce7:	eb 02                	jmp    0xab0ceb
ab0ce9:	b0 01                	mov    $0x1,%al
ab0ceb:	5e                   	pop    %esi
ab0cec:	5f                   	pop    %edi
ab0ced:	5b                   	pop    %ebx
ab0cee:	5d                   	pop    %ebp
ab0cef:	c2 04 00             	ret    $0x4
ab0cf2:	cc                   	int3
ab0cf3:	cc                   	int3
ab0cf4:	cc                   	int3
ab0cf5:	cc                   	int3
ab0cf6:	cc                   	int3
ab0cf7:	cc                   	int3
ab0cf8:	cc                   	int3
ab0cf9:	cc                   	int3
ab0cfa:	cc                   	int3
ab0cfb:	cc                   	int3
ab0cfc:	cc                   	int3
ab0cfd:	cc                   	int3
ab0cfe:	cc                   	int3
ab0cff:	cc                   	int3
ab0d00:	cc                   	int3
ab0d01:	cc                   	int3
ab0d02:	cc                   	int3
ab0d03:	cc                   	int3
ab0d04:	cc                   	int3
ab0d05:	cc                   	int3
ab0d06:	cc                   	int3
ab0d07:	cc                   	int3
ab0d08:	cc                   	int3
ab0d09:	8b ff                	mov    %edi,%edi
ab0d0b:	55                   	push   %ebp
ab0d0c:	8b ec                	mov    %esp,%ebp
ab0d0e:	53                   	push   %ebx
ab0d0f:	57                   	push   %edi
ab0d10:	8b f9                	mov    %ecx,%edi
ab0d12:	e8 6c 4b 97 ff       	call   0x425883
ab0d17:	8a 5d 08             	mov    0x8(%ebp),%bl
ab0d1a:	b9 00 80 00 00       	mov    $0x8000,%ecx
ab0d1f:	0f b6 d3             	movzbl %bl,%edx
ab0d22:	66 85 0c 50          	test   %cx,(%eax,%edx,2)
ab0d26:	75 04                	jne    0xab0d2c
ab0d28:	b0 01                	mov    $0x1,%al
ab0d2a:	eb 2d                	jmp    0xab0d59